- 學習方法:
- 邊用邊學,
- 安卓逆向
- 脫殼至二次打包可用
- 正向加殼可以做的事情
- 代碼抽取到jni里
- 代碼抽取及還原,參考網址:https://m.wang1314.com/doc/webapp/topic/17363230.html
- 代碼混淆,增加閱讀難度,不影響運行,
- vmp, 將代碼抽取到jni里使用匯編實作(個人理解,肯定有誤),
- 動態加載dex
- 反除錯
- 逆向被加殼的app
- 使用fart修復apk
- 先使用脫殼機獲得apk和代碼指令的txt格式
- 使用fart.py進行修復dex檔案
- 重新打包成apk,使用安卓monitor分析log
- 如果有反除錯的話,使用01editor修改dex或者so檔案,直到可以二次打包
- 二次打包,直到可以正常運行,如果失敗的話,重復3的步驟
- 使用fart修復apk
- 正向加殼可以做的事情
- 演算法還原
- 這里默認需要還原的代碼在jni里
- 使用ida進行靜態分析,找到要分析的方法
- 動態除錯
- 使用ida_server 動態除錯
- 進入除錯視窗
- 使用ida-trace,呼叫方法,列印被trace 的指令到文本中
- 按照trace到的指令進行還原演算法,直到還原完一個版本
- 分別多次呼叫實際的演算法和自己還原的,直到回傳結果一致
- 多次呼叫步驟4,直到結果都一致,
- 使用unidbg模擬動態除錯
- 使用unidbg模擬環境,呼叫到需要測驗的jni方法并實作hook,
- 使用unidbg進行traceCode
- 按照trace到的code進行演算法還原,直到還原完一個版本
- 分別多次呼叫實際的演算法和自己還原的,直到回傳結果一致
- 多次呼叫步驟4,直到結果都一致,
- 使用ida_server 動態除錯
- 這里默認需要還原的代碼在jni里
- 脫殼至二次打包可用
- 逆向工具
- jnitrace 可以列印方法及方法里的引數等,
- 參考官網https://pypi.org/project/jnitrace/
- 自行找視頻或者音視頻學習,
- 等分享
- frida 輕量級hook工具,參考官網https://frida.re/docs/javascript-api/
- 網上大多時介紹安裝的,比較簡單,可以找個參考下安裝
- 學習hook,可以參考下這個https://reao.io/archives/90/
- unidbg
- 官網地址:https://github.com/zhkl0228/unidbg
-
學習hook,可以參考下這個https://reao.io/archives/90/
-
IDA
-
需要學習靜態分析
-
需要學習動態除錯
-
需要學習trace code
-
參考資料
-
鏈接:https://pan.baidu.com/s/1U6UgZzhDRDlhfxRf1KgzzA
提取碼:rsuh
-
-
ARM反匯編
-
我參考的時這個博客,https://blog.csdn.net/zlmm741/article/details/105160970/,我們重點關注的時反匯編,
-
如果再有時間可以讀下《匯編語言(第3版) 王爽著》,
-
鏈接:https://pan.baidu.com/s/1oEMR6iC9vSV0keL-HgzYcw
提取碼:jp3w
-
-
-
xpose
-
學習xpose可以參考我的這個博客,https://blog.csdn.net/xubaoyong/article/details/122134698
-
-
安卓原始碼閱讀網站:
-
http://aospxref.com/
-
-
實戰例子
-
x手
-
x音
-
x紅書 這些是期望達到的,
-
- jnitrace 可以列印方法及方法里的引數等,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/399584.html
標籤:其他
下一篇:帶著夢想與努力前行
