本次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
随便输入密码,
然后你就会发现成功
学习自猿人学