算法助手是一款運(yùn)行在Android平臺上基于Xposed的安卓調(diào)試工具,配合Xposed(需要Root或者沙盒環(huán)境),通過一系列反射操作,進(jìn)行應(yīng)用的安全測試,調(diào)試分析,代碼定位,是一款不錯(cuò)的調(diào)試工具。
算法助手做最優(yōu)秀的調(diào)試工具,用于Android軟件開發(fā)和測試人員(但不限于)進(jìn)行應(yīng)用分析調(diào)試、安全測試和Bug分析。本應(yīng)用某些場景下可能具有修改和調(diào)試應(yīng)用業(yè)務(wù)邏輯的功能,如果要修改和調(diào)試第三方的應(yīng)用,必須取得所屬方的官方授權(quán);如果在未授權(quán)的情況下擅自修改和調(diào)試,所造成的任何問題和責(zé)任(包括資金損失、法律風(fēng)險(xiǎn)等)均與我們無關(guān)。
由于app更新,數(shù)據(jù)庫添加了新的字段,導(dǎo)致老用戶更新后無法加載日志,搜索日志報(bào)錯(cuò),解決方案為:回到首頁>滑動(dòng)切換到日志面板>長按日志>刪除日志。
刪除后即可正常使用。
1、Md5,Sha等信息摘要算法(MessageDigest類)
2、AES、DES,RSA等秘鑰算法(Cipher類)
3、Hmac等含有秘鑰的哈希算法(Mac類)
4、對話框的定位(Dialog類)
5、Log捕獲(LOG類)
7、攔截程序退出(System以及其他類)
8、justTrustMe升級版(可高效自動(dòng)定位混淆后的okhttp)
9、文件訪問記錄(File類)
10、自定義Hook,可自行定義hook類,可設(shè)置返回值,可攔截執(zhí)行
11、webViewDebug(使webView可調(diào)試)
12、shell命令行紀(jì)錄
13、……后續(xù)會不斷進(jìn)行增加
一、勾選目標(biāo)應(yīng)用
打開應(yīng)用后,要先選擇你要hook的目標(biāo)應(yīng)用,可借助右上角的搜索快速定位,如果要hook系統(tǒng)應(yīng)用則需左滑,勾選顯示系統(tǒng)應(yīng)用
二、打開目標(biāo)應(yīng)用
1.正如開關(guān)界面所說,目標(biāo)一樣必須開啟儲存權(quán)限,如果軟件沒有權(quán)限的話,要自己在AndroidManifest.xml添加一下權(quán)限代碼,后續(xù)版本會免去這個(gè)步驟。(另外Lsp框架的用戶也需要在作用域里勾選上要hook的應(yīng)用。)這一步很關(guān)鍵,如果沒有開啟是無法獲取到日志的!!
PS:開了存儲重定向的話,被hook的app,和算法助手,都需要關(guān)掉存儲重定向!!!
<!-- 修改或刪除您的USB存儲設(shè)備中的內(nèi)容 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
三、查看結(jié)果
打開軟件觸發(fā)你要分析的功能(如果是要分析協(xié)議就打開aes、des、md5的開關(guān),如果是要定位彈窗就開對話框顯示,這里有個(gè)小bug,下個(gè)版本會修復(fù),總之想要干嘛就開對應(yīng)的開關(guān)),接著回到算法助手點(diǎn)擊日志進(jìn)行查看,這里我們觸發(fā)了一個(gè)aes的算法,可以很明顯的看到key和iv以及原本的內(nèi)容,在最下面還有堆棧調(diào)用。
進(jìn)階應(yīng)用
1.以上只是列舉了其中一個(gè)功能,其他的功能都是大同小異,下面來講講自定義Hook這個(gè)功能。這個(gè)其實(shí)跟learnhook、mhook的操作是一樣,鑒于一部分人可能沒用過,我這里就簡單的說一下,因?yàn)闀簳r(shí)沒啥案例,我就直接照著一段代碼講,思路明白了就可以了。
代碼如下:
.class public Lcom/bean/VipInfo; //類名,這個(gè)一般在類中的最頂端
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public end_date:Ljava/lang/String;
.method public isVip()Z isvip是方法名,后面的()里可能會有參數(shù),例如:I,Ljava/lang/String; 有就填沒有就不填。Z是返回值的類型,算法助手自動(dòng)判斷無需填寫
.registers 4
iget-object v0, p0, Lcom/bean/VipInfo;->end_date:Ljava/lang/String;
invoke-static {v0}, Lcom/utils/StringUtils;->isEmpty(Ljava/lang/String;)Z
move-result v0
return v0
.end method
2.假設(shè)你已經(jīng)定位到這個(gè)關(guān)鍵方法,只要賦值1就可以破解了,那么碰巧這個(gè)軟件有簽名校驗(yàn),而你又搞不定,這種時(shí)候就需要xposed的hook功能了。
3.復(fù)制方法中的幾個(gè)關(guān)鍵字:Lcom/bean/VipInfo; 和isVip
4.回到算法助手,點(diǎn)擊你要hook的軟件,打開自定義hook,依次填寫(下個(gè)版本會兼容java和smali兩種格式)
5.最后點(diǎn)擊下方的添加就完成了一個(gè)自定義的hook
6.另外下方還有兩個(gè)勾選框,攔截執(zhí)行:顧名思義就是不讓某個(gè)方法執(zhí)行,這個(gè)我很少用到,如果有什么騷操作,歡迎補(bǔ)充。
7.另一個(gè)則是構(gòu)造函數(shù),這里介紹一下構(gòu)造函數(shù)的意思:就是函數(shù)名與類名相同,無返回值,分有有參和無參構(gòu)造函數(shù)。其中的參數(shù)就是hook區(qū)別的關(guān)鍵。
版本:2.1
功能沒變,只是美化
版本:1.9
優(yōu)化功能:
1、修復(fù)了自定義hook部分函數(shù)無hook的問題
2、修復(fù)了對android11的兼容性問
3、修復(fù)toast定位失效問題。
4、新增公告功能,重要通知隨時(shí)遠(yuǎn)程通知用戶
版本:1.8
新增功能:
1、新增Assets資源讀取監(jiān)聽。
2、彈窗定位新增PopupWindow
3、新增數(shù)據(jù)庫操作監(jiān)聽
5、新增讀取應(yīng)用簽名監(jiān)聽
6、搜索結(jié)果進(jìn)行高亮顯示
7、自定義hook支持使用*通配符
優(yōu)化功能:
1、日志列表分頁讀取,避免日志量大造成卡頓
2、自定義Hook界面可整個(gè)界面進(jìn)行滑動(dòng)、避免hook列表展示不全
3、修復(fù)了一些奇奇怪怪的BUG,我也忘了還優(yōu)化了些什么。。。。
小編簡評:世界計(jì)劃繽
下載 AI靈魂畫師app最新版 25.8M /小編簡評:AI靈魂畫師
下載 重返未來1999官方最新版 1.78G /小編簡評:重返未來19
下載 大視界影視最新版 11.1M /小編簡評:大視界影視
下載 滴滴動(dòng)漫最新版本(嘀嘀動(dòng)漫) 10.3M /小編簡評:滴滴動(dòng)漫最
下載 萬界英雄(GM神話買斷抵扣)最新版 752.8M /小編簡評:萬界英雄(G
下載 永劫無間助手工具app(Naraka+) 143.5M /小編簡評:永劫無間助
下載 kola任務(wù)助手 31.5M /小編簡評:kola任務(wù)助
下載 Jump氣泡英雄下載最新版 99.6M /小編簡評:跳躍益智角
網(wǎng)友評論
支持( 0 ) 蓋樓(回復(fù))