【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3

一、目标

今天的目标是 sig和__NS_sig3,咱们抓个包先

【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3

二、步骤

sig目测像是MD5

先jadx搜索 sig= ,没有找到结果。

再试试 sig ,晕倒 6k多个结果,突然灵光一闪,这些参数,必然是要加入到 Map中,那么我们搜索 "sig"

【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3

应该就是这个 CPU.getClock,Hook之

var  signCls = Java.use('com.yxcorp.xxx.util.CPU');

signCls.getClock.implementation = function(a,b,c){

var result = this.getClock(a,b,c);

console.log(bytesToString(b));

console.log(result);

var stack = threadinstance.currentThread().getStackTrace();

console.log("Full call stack:" + Where(stack));

return result;

}

结果还是令人满意的:

【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3

入参就是url和post里面的参数做个排序,然后粘贴在一起。咱们顺接堆栈往上找,sig 出现了,__NS_sig3 应该不远了。

jeb要出场了

一直回溯到 p.c0.n.y.v.a 开始不开心了,jadx罢工了

【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3

这下可怎么办?真要回去直接手撕 smali?虽然比Arm汇编长得好看一点点,毕竟也是歪瓜裂枣呀。

还好我们一直奉行朋友多了路好走,来新朋友 Jeb Pro 登场
http://91fans.com.cn/post/jebtool/

Jeb果然比jadx牛X一些些,有IDA的风格,啃Apk就啃了好几分钟。

【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3

先生曾经说过,饭量越大,能力越大。

【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3

在Jeb的大胃王的帮助下,我们很快定位了 KSecurity.atlasSign(v0_1)

啥也甭说了,大兄弟,Hook你:

var IKSecurityExCls = Java.use("com.xxx.android.security.KSecurity");

IKSecurityExCls.atlasSign.implementation = function(a){

var result = this.atlasSign(a);

console.log(a + " >>> atlasSignB " + result);

return result;

}

结果非常美丽:

【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3

三、总结

开发经验很重要,有些关键字关键函数的的定位需要开发经验的帮助。然后手头都掌握几个工具,jadx歇了咱们还有jeb嘛。

以上是 【安卓】某手 v8.x 签名计算方法(二) sig和__NS_sig3 的全部内容, 来源链接: utcz.com/a/99412.html

回到顶部