简单破解安卓藏在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

随便输入密码,

然后你就会发现成功

 学习自猿人学

posted @ 2021-01-08 12:01  吴先雨  阅读(2682)  评论(0编辑  收藏  举报