安卓逆向_9 --- log 插桩、Toast 弹窗、smali代码编写和植入 ( 好搜小说 )
?
From:https://www.bilibili.com/video/BV1UE411A7rW?p=36
?
如果僅僅用 Smali 來分析代碼,效果其實不如用 dex2jar 和 jd-gui 更直觀,畢竟看反編譯的 java 代碼要更容易一些。
但 Smali 強大之處就是可以隨心所欲的進行插樁操作。何為插樁,引用一下 wiki 的解釋:
- 程序插樁,最早是由 J.C. Huang 教授提出的,它是在保證被測程序原有邏輯完整性的基礎上在程序中插入一些探針(又稱為“探測儀”),通過探針的執(zhí)行并拋出程序運行的特征數(shù)據(jù),通過對這些數(shù)據(jù)的分析,可以獲得程序的控制流和數(shù)據(jù)流信息,進而得到邏輯覆蓋等動態(tài)信息,從而實現(xiàn)測試目的的方法。
插樁時注意:不要影響程序上下文,即插入的代碼中,不能影響下面代碼中使用的寄存器或者變量。
安卓從開發(fā)到逆向(四),smali 插樁:https://blog.csdn.net/wy450120127/article/details/101280797
?
?
以? " 好搜小說大全.apk "?為例:
下載地址:https://download.csdn.net/download/freeking101/12380255
?
打開?好搜小說大全.apk
?定位當前界面:cmd --->?adb shell dumpsys activity top
可以看到當前界面是?MainActivity ,
下面開始分析過程。。。
首先使用 "查殼工具" 檢測下 app 有沒有加殼,如圖:
可以看到 好搜小說大全.apk 沒有加殼, 沒加殼好辦,直接使用?AK?打開 "好搜小說大全.apk",找到?對應?smali?代碼(如果加殼,需要先脫殼,然后再反編譯分析,這里不涉及脫殼。)
通過上面找到的 MainActivity ,進入對應的目錄(?smali --->?com?---> reader?---> activity?---> MainActivity?)
在?activity? 目錄中找到?MainActivity? :
插入?log?代碼:
中文?轉(zhuǎn)?Unicode?編碼:
替換完成后,一定要保存,然后編譯,生成?修改后的?apk?
安裝?apk?
打開?DDMS?或者?monitor,然后根據(jù)包名進行?log?過濾,
使用?DDMS?過濾?log,運行程序即可看到?log?輸出。
使用?monitor?查看效果一樣:
插入?彈窗?道理一樣。
保存,編譯,運行
也可以自己寫?smali?代碼,引入自定義的?smali?包,強制彈出窗口等操作。。。
更多看視頻教程。。。
?
?
?
?
總結
以上是生活随笔為你收集整理的安卓逆向_9 --- log 插桩、Toast 弹窗、smali代码编写和植入 ( 好搜小说 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 系统调用 Ptrace 详解
- 下一篇: Cheat Engine 教程( 1 -