仅供学习
1,sign参数
2,解包寻找
3,hook调试
这段代码看着大概率是,进行hook获取
hook代码
Java.perform(function () {
let c = Java.use("com.app.lp.f.f.c");
c["b"].implementation = function (j, str, map) {
console.log('b is called' + ', ' + 'j: ' + j + ', ' + 'str: ' + str + ', ' + 'map: ' + map);
let ret = this.b(j, str, map);
console.log('b ret value is ' + ret);
return ret;
}});
返回参数和加密的值,跟抓包的对比了一下。一摸一样
4,分析参数的由来,跟进代码,参数应该是从这两个函数中加密形成的,跟进去调试。
跟进到k函数中,大写的des加密。
hook一下,获取参数
Java.perform(function () {
let k = Java.use("com.app.lp.n.k");
k["a"].implementation = function (str, str2) {
console.log(str + ', ' + 'str2: ' + str2);
let ret = this.a(str, str2);
console.log('a ret value is ' + ret);
return ret;
}});
hook结果,str2应该就是加密的key值,时间搓应该是参数
工具测试一下,一摸一样。
5,在跳到h这个函数声明中
就喜欢这样的,不废脑子
测试一下,一毛一样,完事。