使用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}”。

猜你喜欢

转载自blog.csdn.net/weixin_42011443/article/details/105726370