声明本文章中所有内容仅供学习交流使用不用于其他任何目的抓包内容、敏感网址、数据接口等均已做脱敏处理严禁用于商业用途和非法用途否则由此产生的一切后果均与作者无关有相关问题请第一时间点击头像看简介或私信联系我删除博客部分分析代码function hook_header(){// 1. Hook Java 层的 Enviroment 类打印调用轨迹和参数Java.perform(function(){try {var Enviroment Java.use(com.shihuo.shsecsdk.Enviroment);Enviroment[formatParam].implementation function (map) {console.log([Java] Enviroment.formatParam called: map${map});let result this[formatParam](map);console.log([Java] Enviroment.formatParam result${result});return result;};Enviroment[initParam].implementation function (str) {console.log([Java] Enviroment.initParam called: str${str});let result this[initParam](str);console.log([Java] Enviroment.initParam result${result});return result;};Enviroment[nativeParam].implementation function (context, str) {console.log([Java] Enviroment.nativeParam called: context${context}, str${str});let result this[nativeParam](context, str);console.log([Java] Enviroment.nativeParam result${result});return result;};console.log([] Hooked Enviroment Java methods successfully.);} catch (e) {console.log([-] Hook Enviroment failed: e);}});// 2. Native 层 Hook使用定时器轮询确保 libsh_security.so 加载后能精准拦截var nInterval setInterval(function () {var libName libsh_security.so;var module Process.findModuleByName(libName);if (module) {clearInterval(nInterval); // 找到模块后清除定时器console.log([] Found libName at base address: module.base);// 使用真实的 nativeParam 起始偏移量 0xF9A48var nativeParam_addr module.base.add(0xF9A48);console.log([] Hooking nativeParam at: nativeParam_addr);// 拦截 nativeParam 的底层函数Interceptor.attach(nativeParam_addr, {onEnter: function (args) {console.log([*] Entered nativeParam native function (0xf9a48));// args[0], args[1] 通常是 env 和 thizargs[2] 开始是 JNI 传递的参数},onLeave: function (retval) {console.log([*] Leave nativeParam native function, original return value: retval);// 如果后续需要强制修改返回值防 JUMPOUT 或报错可以取消下面两行的注释// retval.replace(1);// console.log([] Return value forcefully replaced to 1);}});}}, 200); // 每 200ms 检查一次 SO 是否加载}结果总结1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。2.具体更多细节请看名字进入详情了解更多细节具体细节要你自己还原,相信你也能调试出来。