frida安卓360加固脱壳记录

电脑和模拟器安装frida

github直达: https://github.com/frida/frida,该方式依赖于python环境,所以首先你得确保自己有python执行环境

电脑端(我的是Mac):

pip3 install frida-tools
pip3 install frida

查看电脑端安装的frida版本,到时模拟器要安装对应的server版本

pip3 show frida

�显示的我的版本:

Name: frida
Version: 15.2.2

安卓模拟器(记得在模拟器里开启root,我的mac用的mumu模拟器)安装server:

下载直达地址:https://github.com/frida/frida/releases下载

与电脑端对应版本的server, 并解压,得到releasesfrida-server-15.2.2-android-x86_64文件


image.png

模拟器一般架构是x86_64,可在设置关于手机里看到

手机端安装并启动server:

Mumu模拟器的device名字

adb connect localhost:5555 (也有可能是adb connect localhost:22471)  () //连接模拟器
adb devices  //查看你连接后的设置列表,我的是emulator-5554
adb -s emulator-5554  push /yourpath/releasesfrida-server-15.2.2-android-x86_64  /data/local/tmp //将文件推到模拟器安卓里
adb -s emulator-5554 shell //终端进入安卓shell环境
chmod 777  /data/local/tmp/releasesfrida-server-15.2.2-android-x86  //设置执行权限
/data/local/tmp/server文件 //安卓端启动server,启动完后其它操作均在新开的终端里执行

打开另一个终端(windows上叫命令提示符)

adb -s emulator-5554  forward tcp:27042 tcp:27042  //设置转发,必须

此时准备工作做完了,检查一下连通性,电脑端终端里输入:

frida-ps -R //检查是否连接上,如果连接上了会显示安卓里的应用信息

应用一:脱壳

安装frida-dexdump https://github.com/hluwa/frida-dexdump,这是别人写的基于frida的自动脱壳的脚本:

pip3 install frida-dexdump

在模拟器中安装你要脱壳的Apk

frida-ps -Uai //电脑终端 检查并列出包名,查看你要脱壳的包名

然后在终端里执行,如果不出错,即脱壳成功:

frida-dexdump -U -f com.app.pkgname

应用二:插桩

新建js文件,假设我知道我要hook的包名为com.myapp我知道他有一个类叫LoginActivity,我要hook它的loginSuccess方法,加上我的一些执行逻辑

Java.perform(function(){

    var cls = Java.use('com.myapp.module.account.ui.activity.LoginActivity');  // package名:com.myapp.module.account.ui.activity  类名:LoginActivity

    // loginSuccess 为方法名 implementation是固定写法,function为js代码

    cls.loginSuccess.implementation = function (a,b) {

        console.log('checkout',a,b);

        console.log(this.loginSuccess);

        var value = this.loginSuccess(a,b);

    };

});

在模拟器打开有hook的app,开始插桩(可用上面脱壳中提到的检查连通性方法看看有没有连通):

frida -U -l /Users/tanjingning/Desktop/上面的js  com.myapp
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容