網友評分: 5分
GDA是一款強大而輕便的交互式反編譯器,也是一款綜合性逆向分析利器,支持分析apk,dex,odex,oat類型文件,軟件包含了三個由作者獨立完成的高速解析引擎,讓解析更加便捷。軟件已經成功破解,內置了完美破解補丁,全功能解鎖,滿足用戶的各種使用需求。
1、dex文件解析,dex文件解析主要用于定位類,方法,域以及字符串等等信息,其中反編譯器需要用到字節碼是直接從method中解析得來,此外GDA還需獲取try-catch信息,調試信息等以備后用(主要在代碼生成時使用)。
2、指令解碼,對方法的字節碼進行解碼,類似于反匯編,識別出240多條字節碼并將其轉化為低級中間表式(LIR)和高級中間表式(GDA的中間表式并非如llvm的文本型中間表示,而是內存結構型的表達式),然后對中間表式進行優化,剔除無效語句,然后生成控制流圖。GDA中每個低級中間表式都一一對應著字節碼指令,高級中間表式的數目小于等于低級中間表式的數目。此外,之后實現的污點傳播分析引擎也是基于高級中間表達式進行的。
3、控制流圖的生成,掃描每個高級中間表達式,查找分支、跳轉指令建立基本塊兒(同時把try-catch也考慮進去),進一步建立起控制流圖。此外還需要對控制流圖進行優化,簡化控制流圖,去除無意義的基本塊,GDA還在這個階段做一些反混淆的工作,用于對抗一些無用跳轉,但是此處作用有限,更進一步的反混淆在數據流分析中實現。
4、數據流分析,有了控制流圖,使用DFS遍歷控制流圖對基本塊兒內及塊間進行數據流分析,本處GDA并沒有采用du(定義使用鏈)來實現,而是采用了比較快的使用定義計數法來實現數據流分析,對低級中間代碼進行優化。此外,數據流分析中,GDA同時實現了類型推斷,以給每個低級中間表式的輸入輸出值確定其類型。同時,反混淆也在數據流分析中實現。
5、高級中間代碼生成,優化完成后,就可以生成高級中間代碼,按照DFS遍歷每個基本塊,以基本塊為單位進行高級中間代碼生成,此處需要應用復制傳播來進行低級中間表式的迭代,以生成大幅縮減的代碼語句。同時應用調試信息來修改變量符號。
6、結構化分析,GDA到這個階段實現了多復合條件的分析,并對二路(if-else)、多路(switch-case、try-catch)、環(while、do-while、for)結構進行了結構化分析,為最終代碼輸出做準備。結構化分析時對于非結構化圖,只能采用goto來實現,確保反編譯后邏輯正確性。
7、java代碼生成,最后按照java的代碼格式來生成代碼,尤其對于try-catch型的結構,為了防止try塊兒于代碼的生成以method為單位也可以以類為單位進行代碼生成。GDA主要以method為單位,并將類和方法進行了分離。
c++編寫,獨立于java和android sdk,無需安裝java和android sdk即可使用
有效繞過各種字節碼陷阱、類型混淆以及anti-disassembling和anti-decompiling技術
支持dex、odex、apk、oat、jar、class、aar文件的反編譯分析
支持multi-dex反編譯
支持對strings,class,method,field進行交叉引用和搜索(模糊匹配、精確匹配、正則)
支持class、method、field及變量重命名,java代碼注釋
分析結果保存,odex、oat轉dex
設備內存dump,可用于輔助脫殼
反混淆支持
針對字符串、方法、類、域等關鍵信息提供了強大的搜索、交叉引用
算法工具提供主流大部分算法,可進行加密和解密
Python和Java自動化插件支持
方法簽名支持
基于API鏈的惡意行為識別
變量及寄存器追蹤與溯源分析
漏洞掃描,自定義漏洞規則
隱私泄露檢測
精細化的程序路徑求解
APK取證分析
1、把授權文件GDALicense.pem 放到C:\Users[your name]\AppData\Roaming\GDA下
2、運行LUA腳本GDA3.86.PRO.CT(需要先安裝cheat-engine) ,點擊 yes
3、運行GDA3.86.PRO.EXE即可