小天管理 发表于 2024年6月20日 发表于 2024年6月20日 java code by jadx: public void getUnifiedSign(...) { ... try { ... //This interface cannot be found in the implementation class in Jadx, and it should be in the.so package. HashMap<String, String> securityFactors = this.mUnifiedSign.getSecurityFactors(hashMap3); if (securityFactors != null && !securityFactors.isEmpty()) { return securityFactors; } TBSdkLog.e(...); return null; ... } catch (Throwable th) { TBSdkLog.e("mtopsdk.InnerSignImpl", getInstanceId() + " [getUnifiedSign]get sign failed exception ,appKeyIndex=" + this.mtopConfig.appKeyIndex + ",authCode=" + this.mtopConfig.authCode, th); return null; } } hook.js rpc.exports = { sign:function() { Java.perform(function() { reSign0(); sign0(); }) } }; function reSign0() { //Here, the getUnifiedSign is overridden, and the input and output parameters are printed. } function sign0() { ... let resp = isi.getUnifiedSign(p1, p2, p3, p4, p5, p6); //the resp is null ... } } Frida RCP 调用 getUnifiedSign 总是返回 null ,确认代码已经到达了这个 getSecurityFactors ,但可能直接报错导致返回 null 。但是如果是报错,应该会走到下面的 catch ,并且会输出日志,但是没有日志。日志 hook 已经验证过没有问题,当传一些不正常参数时 hook 的日志能打出来。 敢问如何排查这个问题?和这个鬼杠上了,参考过其它帖子的旧版本弄过但也没成功,还是弄这个最新版的。
已推荐帖子