本次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
隨便輸入密碼,
然后你就會發現成功
學習自猿人學