使用frida进行hook(一)

前面已经接触了frida这个hook工具,因此利用ctf题进行进一步的学习,此处参考https://bbs.pediy.com/thread-227233.htm。
首先分析题目逻辑:
在这里插入图片描述
VERIFY按钮的逻辑为
在这里插入图片描述
首先获取输入的license的值,将其与给定的url拼接向服务器进行请求,获得的回应如果为"LICENSEKEYOK",就将其与getMac的返回值进行xor运算,并运算的结果作为键值为"KEY"的value值放入sharedpreference中。
getMac方法如下:获取本机的Mac地址
在这里插入图片描述
PREMIUM CONTENT按钮响应如下:将本季MAC地址与上一步获得的键值为"KEY"的value传入到MainActivity中
在这里插入图片描述
MainAcitivity中利用native方法对这两个字符串进行了处理并将结果也就是Flag打印。
在这里插入图片描述
那么首先需要得到两个数值,1是mac,2是xor运算后的key。mac其实可以从手机状态信息获取到,这里为了学习使用frida进行hook。
首先hook getMac方法获取Mac地址:
在这里插入图片描述
在这里插入图片描述
学习了看雪前辈的new实例然后直接调用java方法,并直接调用native函数返回结果:
在这里插入图片描述

在这里插入图片描述

hook结果如下:
在这里插入图片描述
据此可知Mac = “bc:f5:ac:fa:75:31”,key为“ .*y#{i$(?.q{|yv”;最终的结果为“AHE17{pr3mium4ctiv4ted}”。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
梆梆加固是目前市面上比较流行的一种Android加固工具,而Frida是一款非常强大的应用程序动态分析工具,可以用于对应用程序进行Hook和注入代码等操作。下面是使用Frida对梆梆加固的应用程序进行Hook的步骤: 1. 首先,需要在Android设备上安装Frida-Server,可以在Frida官网上下载对应的Frida-Server版本,然后将Frida-Server安装到Android设备上。 2. 接着,在电脑上安装Frida,可以使用pip或者官网提供的安装包进行安装。 3. 使用adb连接到Android设备,启动要测试的应用程序,并且开启Frida-Server服务。 4. 在电脑上使用Frida的命令行工具frida-ps,查看设备上正在运行的进程,找到要Hook的应用程序的进程ID。 5. 编写JavaScript脚本,使用Frida的API进行Hook操作。例如,以下脚本可以Hook梆梆加固的应用程序,输出所有调用到的Java方法名: ```javascript Java.perform(function () { var BaseApplication = Java.use("com.tencent.bugly.beta.tinker.TinkerApplication"); BaseApplication.attach.implementation = function () { console.log("[*] Application attach called!"); this.attach(); var currentApplication = Java.use('android.app.ActivityThread').currentApplication(); var activeProcess = Java.use('android.os.Process').myPid(); console.log("[*] Current Application: " + currentApplication); console.log("[*] Active Process: " + activeProcess); Java.choose("java.lang.Class", { onMatch: function (instance) { console.log("[*] Found instance: " + instance.toString()); }, onComplete: function () { console.log("[*] Finished!"); } }); } }); ``` 可以使用以下命令行运行脚本: ```shell frida -U -f com.example.app -l hook.js --no-pause ``` 其中,-U选项表示连接到USB设备,-f选项指定要Hook的应用程序包名,-l选项指定JavaScript脚本的路径,--no-pause表示不暂停应用程序。 需要注意的是,FridaHook操作会对应用程序的性能和稳定性产生一定的影响,同时也有一定的风险,需要谨慎使用
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值