安卓逆向_12 --- jeb工具的使用 ( 动态调试 smali 代码 【 普通调试 和 debug调试 】)
?
From:https://www.52pojie.cn/forum.php?mod=viewthread&tid=742250
jeb 動(dòng)態(tài)調(diào)試 smali 代碼:https://www.bilibili.com/video/BV1UE411A7rW?p=39
?
使用 JEB 調(diào)試 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 軟件簡(jiǎn)單分析:https://www.cnblogs.com/shyx/p/9273336.html
Jeb 軟件是一款專業(yè)實(shí)用且為安全專業(yè)人士設(shè)計(jì)的 Android 應(yīng)用程序的反編繹工具!
Jeb?官網(wǎng):https://www.pnfsoftware.com/
?
jeb?動(dòng)態(tài)調(diào)試分兩種:
?
?
1. jeb 的常用功能
?
- 1. 反編譯 apk、dex
- 2. 包名 樹狀圖
- 3. 查看指定類的 smali 代碼
- 4. 轉(zhuǎn)換成 java 語(yǔ)言
- 5. java 代碼中雙擊函數(shù) 進(jìn)入函數(shù)方法的定義 ,查看方法的調(diào)用
- 6. 查看 AndroidManifest.xml
打開 JEB 軟件??
可以直接打開?jeb_wincon.bat,也可以進(jìn)入?bin?目錄下打開:
把 apk 拖拉到 JEB 中即可反編譯 apk 雙擊 Bytecode 打開 smali 代碼
雙擊 包名 下的 類名 即可查看 smali 代碼
想把指定區(qū)域的 smali 代碼轉(zhuǎn)換成 java 代碼 很簡(jiǎn)單, 只需右鍵 Q 即可 ,jeb3?的版本是?tab?鍵
或者:
雙擊方法即可跳轉(zhuǎn)到方法的定義
點(diǎn)擊方法按 x 鍵可以查看方法的調(diào)用
雙擊 Manifest 即可查看 AndroidManifest.xml
搜索功能 可以搜索函數(shù) 字符串等
說明:對(duì)于Android逆向來說JEB是不可或缺的一款軟件 本篇介紹了JEB的一些常用功能??更多詳細(xì)功能還需自行百度。
?
?
2. jeb 動(dòng)態(tài)調(diào)試
?
jeb 調(diào)試 zhuceji.apk 找到注冊(cè)碼
?
普通調(diào)試 模式
https://blog.csdn.net/qq_33364733/article/details/98087384
?
1. 雷電模擬器打開 zhuceji.apk 程序,如圖:
界面很簡(jiǎn)單,下面開始分析。
?
2. jeb 工具打開 apk 如圖:
3. 下面開始對(duì)程序進(jìn)行調(diào)試,debug --->?開始?并找到相關(guān)進(jìn)程雙擊進(jìn)行調(diào)試:
4. 在 MainAtivity 的 onclick 下斷點(diǎn)(鼠標(biāo)點(diǎn)擊要下斷點(diǎn)的行:control+b 打斷點(diǎn)),然后在模擬器中輸入任意16位注冊(cè)碼進(jìn)行調(diào)試:
5. 通過調(diào)試 smali 代碼可以找到 checkSN 方法是解決問題的關(guān)鍵:
6. 右鍵點(diǎn)擊 Decompile 查看 checkSN 方法對(duì)應(yīng)的代碼:
7. 通過 java 代碼邏輯可知此寄存器的值就是我們要找的注冊(cè)碼,因此在 checkSN 方法 return 下斷點(diǎn),程序走到這時(shí)查看相關(guān)寄存器即可找到?注冊(cè)碼:
8.然后就是:
?
?
debug?調(diào)試?模式
?
debug?模式?和?普通模式的區(qū)別在于 啟動(dòng)過程
- 普通模式:無法調(diào)試界面的?創(chuàng)建,即?onCreate?函數(shù)
- debug?模式:可以調(diào)試?界面的?onCreate?函數(shù),即剛開始創(chuàng)建界面是就開始調(diào)試
?
步驟:
1.?查看?application?節(jié)點(diǎn)?是否?為?可調(diào)式?。
如果是?False,則不能調(diào)試,需要改成?True?然后重新打包 apk,安裝?可調(diào)試的?apk,然后??adb shell am start -D -n?應(yīng)用程序包名/應(yīng)用程序入口界面
這里可以看到?apk?已經(jīng)?可調(diào)試。
?
2.?cmd ---> adb shell am start -D -n?應(yīng)用程序包名/應(yīng)用程序入口界面:
adb shell am start -D -n?com.qianyu.zhuceji/.MainActivity
執(zhí)行完后,模擬器顯示如圖:
這時(shí)候,不需要點(diǎn)擊彈窗。
?
3.?使用?jeb?開始調(diào)試(?這一步?和?普通模式?步驟一樣?)
點(diǎn)擊?附上?之后,模擬器的彈窗?自動(dòng)消失,然后就可以在?jeb?中下斷點(diǎn)、調(diào)試了。
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的安卓逆向_12 --- jeb工具的使用 ( 动态调试 smali 代码 【 普通调试 和 debug调试 】)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 中 xpath 语法 与
- 下一篇: Java8 Stream详解~筛选:fi