您的位置:首页 > 教育 > 锐评 > 网上怎样查询企业资质_商业设计包括什么_口碑营销公司_广告宣传语

网上怎样查询企业资质_商业设计包括什么_口碑营销公司_广告宣传语

2025/8/22 10:30:20 来源:https://blog.csdn.net/rni88/article/details/145497747  浏览:    关键词:网上怎样查询企业资质_商业设计包括什么_口碑营销公司_广告宣传语
网上怎样查询企业资质_商业设计包括什么_口碑营销公司_广告宣传语

在so层去hook这个MD5函数的参数和响应值

按tab键跳转到图表界面,再按u键跳转到汇编代码页面,获取函数的偏移地址。

使用下面hook代码验证所so文件方法是否存在(文件不存在时换种hook方式,比如包名换成进程id)

function hook_method4() {console.log('进入');var so = Process.findModuleByName('libsscronet.so');if (so !== null) {console.log('so_base', so.base);var methods = so.enumerateExports();for (var i = 0; i < methods.length; i++) {console.log(methods[i].name);}} else {console.log('未找到名为 libsscronet.so 的模块');}
}// so_base 0x752e400000打印所有so文件
function hook_native() {var modules = Process.enumerateModules();for (var i in modules) {var module = modules[i];console.log(module.name);if (module.name.indexOf("target.so") > -1) {console.log(module.base);}}
}
hook_method4();
hook_native()

编写hook代码

function hook_fun() {let soBaseAddr = Module.findBaseAddress('libwtf.so');console.log(soBaseAddr)console.log('进入')//之前获取的偏移地址let funcPtr = soBaseAddr.add(0x43834)console.log(funcPtr)Interceptor.attach(funcPtr, {onEnter: function (args) {console.log("进入函数1")//打印第二个参数console.log('onEnter value is ====>', args[1].readCString())},//hook流程onEnter-原函数-onLeaveonLeave: function (retval) {console.log("响应值为"+retval)//修改值为0// retval.replace(0);},})}
hook_fun()

通用hook hook so中NewStringUTF函数

NewStringUTF函数是在so层通过c或者c++代码进行运算后的结果,返回给java层,在c里面是一个char*也就是一个指针返回给java层调用,需要转换一下类型,就需要用到jni函数里的newStringutf

frida版本为frida16.6.8

模拟器:雷神

frida-server版本:frida-server-16.6.6-android-x86_64

hook条件很苛刻,同样frida和代码换到真机就不行

function hook_newstrUTF() {var symbols = Process.getModuleByName("libart.so").enumerateSymbols();var newStringUtf = null;for (var i = 0; i < symbols.length; i++) {const symbol = symbols[i];if (symbol.name.indexOf("checkJNI") == -1 && symbol.name.indexOf("NewStringUTF") != -1) {console.log(symbol.name, symbol.address);newStringUtf = symbol.address;}}Interceptor.attach(newStringUtf, {onEnter: function (args) {console.log('进入')//打印线程信息console.log(Thread.backtrace(this.context, Backtracer.ACCURATE).map(DebugSymbol.fromAddress).join('\n') + '\n');//观察这个参数打印的值console.log("newStringUtf args", args[1].readCString());}, onLeave: function (retval) {console.log("newStringUtf retval", retval);}})
}hook_newstrUTF()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com