实测案例
先说明一下,frida针对加密数据包的处理是通过hook加密函数,在输入数据进入到加密函数前,将原始数据转发出来,然后再进入加密函数与服务端进行通信,这样我们就可以对原始数据包更改,改后的数据包继续走加密流程并与服务端通信。Frida使用的是python框架,具体hook流程由JavaScript实现,所以需要写一些代码。
整个流程如下:hook目标函数,在原始数据进入到加密函数时,利用js send方法将原始数据发到python框架,并由python发起http请求,这时由burpsuite代理截取原始数据包,并能进行更改,这里中转服务器的作用是原样返回请求的内容,即在burpsuite中更改后的内容最终从中转服务器回到burp,回到python,回到js,回到加密函数,正常进行加密后提交到服务端。
1、利用burpsuite抓取APP数据包,发现数据包加密
2、写hook代码,python模板框架
JavaScript hook具体函数,这里是Java层hook,固定句式,实现加密函数方法,把函数接受到的原始数据通过send方法转发出来