From:https://www.52pojie.cn/forum.php?mod=viewthread&tid=742250
jeb 動態調試 smali 代碼:https://www.bilibili.com/video/BV1UE411A7rW?p=39
使用 JEB 調試 Android App:https://www.jianshu.com/p/a1a7cf687cd2
瞭解 JEB 和 IDA 使用:https://www.52pojie.cn/thread-414414-1-1.html
Java 分析工具 jadx、jeb 雙管齊下:https://www.52pojie.cn/thread-457835-1-1.html
Jeb 軟件簡單分析:https://www.cnblogs.com/shyx/p/9273336.html
Jeb 軟件是一款專業實用且爲安全專業人士設計的 Android 應用程序的反編繹工具!
Jeb 官網:https://www.pnfsoftware.com/
jeb 動態調試分兩種:
- 普通調試 模式
- debug 調試 模式
1. jeb 的常用功能
- 1. 反編譯 apk、dex
- 2. 包名 樹狀圖
- 3. 查看指定類的 smali 代碼
- 4. 轉換成 java 語言
- 5. java 代碼中雙擊函數 進入函數方法的定義 ,查看方法的調用
- 6. 查看 AndroidManifest.xml
打開 JEB 軟件
可以直接打開 jeb_wincon.bat,也可以進入 bin 目錄下打開:
把 apk 拖拉到 JEB 中即可反編譯 apk 雙擊 Bytecode 打開 smali 代碼
雙擊 包名 下的 類名 即可查看 smali 代碼
想把指定區域的 smali 代碼轉換成 java 代碼 很簡單, 只需右鍵 Q 即可 ,jeb3 的版本是 tab 鍵
或者:
雙擊方法即可跳轉到方法的定義
點擊方法按 x 鍵可以查看方法的調用
雙擊 Manifest 即可查看 AndroidManifest.xml
搜索功能 可以搜索函數 字符串等
說明:對於Android逆向來說JEB是不可或缺的一款軟件 本篇介紹了JEB的一些常用功能 更多詳細功能還需自行百度。
2. jeb 動態調試
普通調試 模式
https://blog.csdn.net/qq_33364733/article/details/98087384
jeb 調試 zhuceji.apk 找到註冊碼
雷電模擬器打開zhuceji程序,如圖:
2.jeb工具打開 apk 如圖:
3.下面開始對程序進行調試,debug ---> 開始 並找到相關進程雙擊進行調試:
4.在MainAtivity的onclick下斷點(鼠標點擊要下斷點的行:control+b 打斷點),然後在模擬器中輸入任意16位註冊碼進行調試:
5.通過調試 smali 代碼可以找到 checkSN 方法是解決問題的關鍵:
6.右鍵點擊 Decompile 查看 checkSN 方法對應的代碼:
7. java 代碼邏輯可知此寄存器的值就是我們要找的註冊碼,因此在 checkSN 方法 return 下斷點,程序走到這時查看相關寄存器即可找到 註冊碼:
8.然後就是:
debug 調試 模式
debug 模式 和 普通模式的區別在於 啓動過程
- 普通模式:無法調試界面的 創建,即 onCreate 函數
- debug 模式:可以調試 界面的 onCreate 函數,即剛開始創建界面是就開始調試
步驟:
1. 查看 application 節點 是否 爲 可調式 。
如果是 False,則不能調試,需要改成 True 然後重新打包 apk,安裝 可調試的 apk,然後 adb shell am start -D -n 應用程序包名/應用程序入口界面
這裏可以看到 apk 已經 可調試。
2. cmd ---> adb shell am start -D -n 應用程序包名/應用程序入口界面:
adb shell am start -D -n com.qianyu.zhuceji/.MainActivity
執行完後,模擬器顯示如圖:
這時候,不需要點擊彈窗。
3. 使用 jeb 開始調試( 這一步 和 普通模式 步驟一樣 )
點擊 附上 之後,模擬器的彈窗 自動消失,然後就可以在 jeb 中下斷點、調試了。