失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > adb 安卓模拟器 进程端口_Frida初体验安卓CTF逆向

adb 安卓模拟器 进程端口_Frida初体验安卓CTF逆向

时间:2021-06-17 13:45:16

相关推荐

adb 安卓模拟器 进程端口_Frida初体验安卓CTF逆向

最近简单学习了一下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 frida

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()

如果觉得《adb 安卓模拟器 进程端口_Frida初体验安卓CTF逆向》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。