最近简单学习了一下Frida,确实是一个神器。
用一个安卓apk的题目来简单学习一个frida的使用。
先看一下apk,文末会给出apk的下载链接
随便输入字符,会提示
反编译一下这个apk,我使用的jadx
我们通过搜索 错误,来定位到逻辑代码
最重要的函数是他接受了两个参数,一个是我们输入的文本,一个是内部生成的 ,至于怎么生成的我们不用关心,Frida了面前无秘密。
接下来安装一下frida
使用pip安装
pip3 install frida
pip3 install frida-tools
安装完成以后验证
然后下载frida的服务端
/frida/frida/releases
在adb里面执行getprop ro.product.cpu.abi,然后根据cpu的指令集下载服务端文件
我是mumu的模拟器,我下载的是
frida-server-14.1.3-android-x86.xz
然后把文件复制到安卓模拟器的/data/local/tmp/ 目录,chmod u+x frida添加执行权限
启动服务端
测试,如果能正确显示安卓的进程,就是已经安装好了
HOOK脚本
import sys jscode = ''' Java.perform(function () { //这里是要Hook的软件具体位置的 包名 + 类名 var Testsig = Java.use('com.example.easyapk.c'); //这里写要Hook的方法名 以及参数 .implementation=function(str,str2){ //直接返回为true console.log(str); console.log(str2); return true; }; }); ''' def on_message(message, data): print(message) process = frida.get_usb_device().attach('com.example.easyapk') # 要Hook的软件包名 script = process.create_script(jscode) script.on('message', on_message) print('Hook成功') script.load() sys.stdin.read()import frida
如果觉得《adb 安卓模拟器 进程端口_Frida初体验安卓CTF逆向》对你有帮助,请点赞、收藏,并留下你的观点哦!