IDA Pro進行DEX文件修改

先編寫一個Android程序,然後進行破解吧
程序地址:地址

流程:

1

用unzip命令將apk文件中的classes.dex文件取出來,命令如下:

unzip xxx.apk classes.dex   //會解壓該文件到當前目錄

記得要cmd移動至該目錄下

接下來進行對apk反編譯res…\string.xml,可以看到一個“unsuccessed”。通過public.xml可以看到對應的id “0x7f0b002b”。
在這裏插入圖片描述


2

用IDA Pro對該dex文件進行靜態分析
用快捷鍵ALT+T 搜索文本,輸入0x7f0b002b。

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
轉換成文本視圖
在這裏插入圖片描述
可以看到這一行,CODE:0011B75A
然後點擊16進制視圖,移動至這一行
在這裏插入圖片描述
(這裏原本是39 …我改了38了。39對應的是if-nez,38對應的是if-eqz )
在這裏插入圖片描述
點擊左上角的編輯,選擇單字節更改方式,改完之後在按修補程序應用到輸入文件。


3

修改後的dex文件,DexHeader頭部的checksum與signature字段是錯誤的。所以需要修正:

d2j-dex-recompute-checksum -f classes.dex

命令執行後,會在當前目錄下生成修正的文件,classes-rechecksum.dex。
然後將其改爲classes.dex,然後將apk改爲zip,將修正後的classes.dex替換裏面的。然後刪除裏面的META-INF文件(不是解壓後刪除),直接在zip界面操作。
然後改回apk後綴。然後對apk進行簽名。可以使用 ApkToolBox 進行簽名(用別的也可以)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章