网站怎么维护,蓝莓直播视频,衡水哪儿专业做网站,株洲网站优化哪家强说明
frida是一款Python工具可以方便对内存进行hook修改代码逻辑在移动端安全和逆向过程中常用到。
实战
嘟嘟牛登录页面hook
使用到的工具
1#xff0c;jadx-gui 2#xff0c;frida
定位关键代码
使用jadx-gui 进行模糊搜索#xff0c;例如搜索encyrpt之类的加密关键…说明
frida是一款Python工具可以方便对内存进行hook修改代码逻辑在移动端安全和逆向过程中常用到。
实战
嘟嘟牛登录页面hook
使用到的工具
1jadx-gui 2frida
定位关键代码
使用jadx-gui 进行模糊搜索例如搜索encyrpt之类的加密关键字 发现com.dodonew 下面有两个疑似加密的关键代码
右键复制类名 com.dodonew.online.http.JsonRequest
编写脚本
//如果是java hook的话代码都要放到java.perform包括起来Java.perform(function(){// 拿到这个类打印一下确认是否拿到类了var JsonRequest Java.use(com.dodonew.online.http.JsonRequest)console.log(JsonRequest:,JsonRequest)// 调用类中的方法实现也就是将原来的函数修改掉 JsonRequest.paraMap.implementation function(a){console.log(params1:, a);this.paraMap(a);}// addRequestMap,可能的另外一个加密函数// 参数类型或者是参数数量不同为一个重载函数JsonRequest.addRequestMap.implementation function(a,b){console.log(params:, a, b);this.addRequestMap (a, b);}
});启动手机的frida服务端
出现报错报错显示有多个overload也就是有多个重载修改hook代码指定那个重载。 修改代码
需要的是int的重载函数 修改后的代码
//如果是java hook的话代码都要放到java.perform包括起来Java.perform(function(){// 拿到这个类打印一下确认是否拿到类了var JsonRequest Java.use(com.dodonew.online.http.JsonRequest)console.log(JsonRequest:,JsonRequest)// 调用类中的方法实现也就是将原来的函数修改掉 JsonRequest.paraMap.implementation function(a){console.log(params1:, a);this.paraMap(a);}// addRequestMap,可能的另外一个加密函数// 参数类型或者是参数数量不同为一个重载函数JsonRequest.addRequestMap.overload(java.util.Map, int).implementation function(a,b){console.log(params:, a, b);console.log(addRequestMap);this.addRequestMap (a, b);}// 确定了加密的关键函数
});
再次运行frida -UF -l hook的js文件
frida -UF -l .\hook.js说明代码逻辑通过的这个函数。
添加两个这个代码就可以打印输入的参数
var bb Java.cast(a, Java.use(java.util.HashMap));console.log(addRequestMap params:, bb.toString()); 参考文章 https://www.bilibili.com/video/BV1k3411d7RT