冰楓論壇

標題: 反編譯classes.dex教學 [打印本頁]

作者: samsung    時間: 2016-6-2 00:19
標題: 反編譯classes.dex教學
本來不想有所做為了,
但因有些人用站簡訊來問我,
所以就發了此文。

基本工具:
解壓縮軟件(winrar) + 文字編輯器(Notepad)

準備工具:
1. baksmali >> 反編譯為 .smail檔
2. smali >> 編譯 .smali檔
3. dex2jar >> 反編譯為 .jar檔
4. jd-gui >> 開啟 .jar檔用


一、
下面以萬千風暴為例,
首先把要改的apk檔解壓得出classes.dex檔
2wioe373l0d5ar84g

將classes.dex放在和工具同一資料匣內



二、baksmali -> .smali
開始 -> 執行 (Win Key + R) -> cmd
cdh2m2nj68xn1r94g


java -jar baksmali.jar -x classes.dex
01l2l3q8fva3zwj4g


會得出"out"目錄,目錄內是反譯出來 .smali檔


.smali檔可直接用文字編輯器(Notepad)開啟編輯
修改完後儲存即可,莫要更改檔名

關於 root 偵測可參考比對一下 PrivilegeChecker.smali

y大回覆中提到  發表於 2016-5-31 00:29
AssetValidator 也需要修改,getSignature和calcApkFileSHA1

三、.dex to .jar
將 classes.dex 解壓到或複制到 dex2jar 目錄下
把 classes.dex 移到 d2j-dex2jar.bat 上



會得到 classes-dex2jar.jar 檔



可用 jd-gui 開啟 classes-dex2jar.jar 觀看編碼



三、將 .smali 編譯為 .dex
開始 -> 執行 (Win Key + R) -> cmd
java -jar smali.jar -o classes.dex out
ssavmv52tecevyi4g


若無問題則得出 classes.dex 檔
再將 classes.dex 壓回 apk檔即 OK

如果知道批次檔的朋友,也可以自己寫個批次檔,會更有效率。



作者: 22091526    時間: 2016-6-23 01:35
謝謝大大的教學
作者: mjnhbg520    時間: 2017-8-28 20:42
正在學習中找了多處方法還是找不到~苦
作者: 7802398    時間: 2020-4-4 18:53
目前眾多APP都被AppGuard保護起來了
不知道這個方式能不能成功....
appguard還包跨數據混淆
搜尋不到需要的數據~像是物品的數據....
好想改鑽石,即使不是鑽石那資源也好嗚嗚嗚
我來試試看樓主的方法吧




歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓