簡單破解安卓藏在so文件的密碼


本次app:自毀程序密碼:

此軟件剛打開的界面就是這樣的

 

於是判斷此界面應該是app剛加載的界面,使用apktool 解開apk,打開AndroidManifest.xml,找到里面的第一個application里面的第一個activity的android:name找到此包名,在jadx里面搜索

 

使用jadx打開apk。找到MainActivity 看了下里面的代碼

 

 

大致大意思是:輸入密碼去判斷,當輸入的密碼和 Securitycheck函數檢驗的密碼一致時返回MainActivity.this.startActivity(new Intent(MainActivity.this, ResultActivity.class));

而我們發現Securitycheck函數用文本搜索搜不到,仔細觀察此函數的定義public native boolean securityCheck(String str); 

native一般表示的是和so文件關聯的,由於so文件是二進制文件,這是我們需要frdia-server hook技術去釣住Securitycheck,從而改變該函數的返回結果,就可以讓密碼不攻自破

現在我們需要安裝frdia mac安裝自行百度,

手機端使用frida技術的時候,需要frdia-server來共同協作 frida-server自行下載,下載時注意需要和自己的手機arm匹配,並且需要和自己電腦端frdia版本匹配

 

 

adb shell getprop ro.product.cpu.abi查看手機的arm,或者

 uname -a(需要先進入adb shell)

https://github.com/frida/frida/releases下載地址

 

大部分的虛擬機都是x_86的,大部分的真機都是arm64的

 下載好以后使用adb push命令推送到手機/data/local/tmp文件夾下

adb push frida-path  /data/local/tmp 

給文件加權限 777

運行frida-server

命令:./frida-server-14.1.3-android-arm64 此窗口關閉會導致frida-server服務關閉

電腦端運行frida-ps -U  電腦上運行  android.process.acore  字樣表示成功

windows運行 端口轉發到PC(我的mac沒用到,不知道是不是特定的windows才需要)
adb forward tcp:27043 tcp:27043
adb forward tcp:27042 tcp:27042

 

然后打開我們的pycharm新建一個py文件

寫下如下內容

 

 然后我們運行

 

 程序等待狀態

我們打開手機app

隨便輸入密碼,

然后你就會發現成功

 學習自猿人學


免責聲明!

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



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