安卓逆向12.IDA Pro+Cheat Engine KeyGen AliCrackMe


用到的工具

1.IDA7.2

2.GDA3.72

3.Cheat Engine 6.5

目的:

主要是學習下Cheat Engine工具怎么在PC端運行,調試安卓程序!

下載鏈接:

 

鏈接:https://pan.baidu.com/s/1Q_Q8ovHLXUcsRjLyCf0d0w
提取碼:u72u

 

1.程序界面

 

2.GDA打開程序,定位到關鍵驗證位置,發現核心驗證在so層,函數名為SecurityCheck,參數為String類型我們輸入的假碼

 

3.提取出so文件,打開IDA,定位到驗證函數

 

4.F5查看偽代碼,采用的是JNI靜態注冊,算法很簡單

 

5.對偽代碼進行整理分析后得知,當我們輸入的字符串和全局變量strRightKey相同即注冊成功!

8.轉到strRightKey查看正確的Key,結果是"woshidaan"

 

9.然而實際輸入后提示驗證碼校驗失敗!

 

10.通過IDA分析我們已經可以肯定,最終一定會和strRightKey做對比,為什么這里卻不成功呢?很可能是程序在運行之后對這個字符串進行了修改,真正的key並不是這個,需要跑起來才行。
11.本打算使用IDA附加單步調試去跟蹤正確的key,結果發現有反調試!那我們換個思路,用CE去附加APK進程,然后找到字符串相對偏移,就拿到了正確key了!所以現在IDA中記錄下key偏移為0x4450

 

12.執行命令【adb push C:\ceserver_x86 /data/local/tmp】把ce的調試服務ceserver_x86發送到模擬器/data/local/tmp目錄下

 

13.在adb shell中切換到/data/local/tmp目錄下執行【chmod 777 ceserver_x86】,將ceserver_x86修改為777權限,然后執行【./ceserver_x86】啟動ce調試服務

 

14.新開CMD,執行【adb forward tcp:52736 tcp:52736】進行端口轉發

 

15.重新進入adb shell,執行【ps】,查詢所有進程信息,找到我們要調試的進程ID為3080

 

16.執行【cat /proc/3080/maps】查詢進程ID為3080的進程所有模塊信息,可以看到模塊基址為0xC000000,根據上面得到的Key偏移0x4450,那么正確key位置應該在0xC004450

 

17.打開CE,進程->網絡->輸入127.0.0.1端口57236

18.選擇進程並打開

19.添加地址0xC004450,看到正確key為"aiyou,bucuoo"

 

20.驗證

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM