Android逆向:frida学习(1)

安卓的逆向题目在ctf中已经比较常见了。自从上次网鼎杯用了frida框架做过bang之后,感觉这个框架功能很是强大,因此打算学习一下这个框架,并记录一下学习过程以免以后忘了


frida安装

pip install frida
pip install frida-tools

我是在Windows系统上安装的,用的是python3,因为python2会报错
pyhton2安装失败结果:
在这里插入图片描述

frida-server启动流程

首先需要去下载一个frida-server,网址:server下载地址
因为我用的是雷电模拟器调试,因此下载的是x86的(模拟器好像一般都是x86)
在这里插入图片描述
adb shell连接上去
在这里插入图片描述
使用adb push 把frida-server文件放到/data/local/tmp目录下
在这里插入图片描述
chmod 755,赋予执行权限,然后启动server:
在这里插入图片描述
最后还需要设置一下转发:

adb forward tcp:27043 tcp:27043
adb forward tcp:27042 tcp:27042

frida-server交互

在完成上面的操作之后,我们就可以通过python脚本与frida-server进行交互了
比如在之前的bang中,我们直接运行exp脱壳
在这里插入图片描述

接下来我们以一道seccon的题目讲解一下如何写交互脚本
该题目flag生成逻辑如下:
在这里插入图片描述
calc()是在so文件中,当然我们可以直接去逆向so文件,思路就和逆向c语言写的程序差不多,不过这里我们主要讲一下frida的使用,这个方法就不多讲了
如果我们能直接调用calc()函数,不就不需要去逆向它了吗?
下面是官网提供的exp:

import frida, sys

def on_message(message, data):
    if message['type'] == 'send':
        print(&#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值