记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

Frida初体验-安卓CTF逆向

2020-12-18 10:30

最近简单学习了一下Frida,确实是一个神器。


用一个安卓apk的题目来简单学习一个frida的使用。


先看一下apk,文末会给出apk的下载链接

随便输入字符,会提示

反编译一下这个apk,我使用的jadx

我们通过搜索 错误,来定位到逻辑代码

最重要的函数是MainActivity.this.ccc.cc他接受了两个参数,一个是我们输入的文本,一个是内部生成的 ,至于怎么生成的我们不用关心,Frida了面前无秘密。


接下来安装一下frida


使用pip安装

pip3 install frida

pip3 install frida-tools

安装完成以后验证



然后下载frida的服务端

https://github.com/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的方法名 以及参数
Testsig.cc.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()

模拟器里面启动要hook的软件,然后再启动python

随便输入,验证码即可验证成功

并且在console打印出函数的参数,成功~



知识来源: https://mp.weixin.qq.com/s?__biz=MzU5MTExMjYwMA==&mid=2247484870&idx=1&sn=26c47575fa6faa83aba6efbff48ebb4d

阅读:185287 | 评论:0 | 标签:逆向

想收藏或者和大家分享这篇好文章→复制链接地址

“Frida初体验-安卓CTF逆向”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

标签云 ☁

本页关键词 💎