某手 v8.x 簽名計算方法(二) sig和__NS_sig3

1、目標

今天的目標是 sig和__NS_sig3,我們抓個包先android

main.png

2、步驟

sig目測像是MD5

先jadx搜索 sig= ,沒有找到結果。函數

再試試 sig ,暈倒 6k多個結果,忽然靈光一閃,這些參數,必然是要加入到 Map中,那麼咱們搜索 "sig"工具

rc1.png

應該就是這個 CPU.getClock,Hook之post

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;
}

結果仍是使人滿意的:this

rcex.png

入參就是url和post裏面的參數作個排序,而後粘貼在一塊兒。我們順接堆棧往上找,sig 出現了,__NS_sig3 應該不遠了。url

jeb要出場了

一直回溯到 p.c0.n.y.v.a 開始不開心了,jadx罷工了spa

jadx.png

這下可怎麼辦?真要回去直接手撕 smali?雖然比Arm彙編長得好看一點點,畢竟也是歪瓜裂棗呀。3d

還好咱們一直奉行朋友多了路好走,來新朋友 Jeb Pro 登場
http://91fans.com.cn/post/jebtool/code

Jeb果真比jadx牛X一些些,有IDA的風格,啃Apk就啃了好幾分鐘。blog

jeb.png

先生曾經說過,飯量越大,能力越大。

lx.jpg

在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;
}

結果很是美麗:

rc.png

3、總結

開發經驗很重要,有些關鍵字關鍵函數的的定位須要開發經驗的幫助。而後手頭都掌握幾個工具,jadx歇了我們還有jeb嘛。

相關文章
相關標籤/搜索