2023最新 某东 sign算法分析

版本

app:V12.0.2

so:libjdbitmapkit.so

启动hluda

adb forward tcp:9999 tcp:9999
nohup ./hluda-server-16.0.9-android-arm64 -l 0.0.0.0:9999 &

java层

通过jadx分析得知:

com.jingdong.common.network.JDNetworkDependencyFactory.signature

public String signature(Context context, String str, String str2, String str3, String str4, String str5)

frida hook 入参

// frida -H 127.0.0.1:9999 app -l hook_java_getSignFromJni.js

Java.perform(function () {
    let AnonymousClass3 = Java.use("com.jingdong.common.network.JDNetworkDependencyFactory$3");
    AnonymousClass3["signature"].implementation = function (context, str, str2, str3, str4, str5) {
        console.log(`AnonymousClass3.signature is called: context=${context}, str=${str}, str2=${str2}, str3=${str3}, str4=${str4}, str5=${str5}`);
        let result = this["signature"](context, str, str2, str3, str4, str5);
        console.log(`AnonymousClass3.signature result=${result}`);
        return result;
    };
});

分析入参

context=com.jingdong.app.mall.JDApp@8396b65 // app上下文
str=subCartCount // functionId
str2={"cartuuid":"0d07bdf0-6c17-46ed-8f5a-a328ae6be62b","coord_type":"","latitude":"27.708","longitude":"107.073","refer":"1","type":"ecard","userType":"0"} // 未加密body
str3=2467d615834a8deb // 未加密uuid
str4=android // 系统平台
str5=12.0.2 // app版本

result=st=1685465570295&sign=8f56a9aca21628f36f4b552a64cac72a&sv=101

ok frida prc可直接调用

ida分析

静态绑定:

Java_com_jingdong_common_utils_BitmapkitUtils_getSignFromJni 00002EA8

跳转:

.text:00002EC2 BL sub_11694

image-20230531012611910

frida hook Java_com_jingdong_common_utils_BitmapkitUtils_getSignFromJni

// frida -H 127.0.0.1:9999 app -l hook_so_Java_com_jingdong_common_utils_BitmapkitUtils_getSignFromJni.js

const moduleName = 'libjdbitmapkit.so'
let baseAddr = Module.findBaseAddress(moduleName)
let getSignFromJni = baseAddr.add(0x2EA8 + 1)
Interceptor.attach(getSignFromJni, {
  onEnter: function (args) {
    // pass
  },
  onLeave: function (retval) {
    // pass
  },
})

再配合 IDA 分析 即可还原
在这里插入图片描述

q交流: MTc2ODEzMzM5Mw==
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值