专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
目录
相关文章推荐
康复医学网  ·  LSVTBIG ... ·  11 小时前  
康复医学网  ·  LSVTBIG ... ·  11 小时前  
硅兔赛跑  ·  三个小故事,告诉你为什么来硅谷要找硅兔君 ·  13 小时前  
硅兔赛跑  ·  三个小故事,告诉你为什么来硅谷要找硅兔君 ·  13 小时前  
计算机与网络安全  ·  银行金融业信息科技风险监管现场检查手册 ·  14 小时前  
惠济发布  ·  零费用!零门槛!最高可赔2万 ·  19 小时前  
惠济发布  ·  零费用!零门槛!最高可赔2万 ·  19 小时前  
51好读  ›  专栏  ›  看雪学苑

APP 常见的 libmsaoaidsec.so 绕过姿势

看雪学苑  · 公众号  · 互联网安全  · 2025-06-03 17:58

正文

请到「今天看啥」查看全文


)


成功命中了,但是nop掉这三处之后app不知道为什么就卡死了


hook clone

这里我又找到了更底层的clone函数创建线程检测方法


某邦企业壳frida检测绕过

https://bbs.kanxue.com/thread-285932.htm




function hook_clone(soname){    var clone = Module.findExportByName('libc.so''clone');    Interceptor.attach(clone, {        onEnter: function(args) {            // args[3] 子线程的栈地址。如果这个值为 0,可能意味着没有指定栈地址            if(args[3] != 0){                var addr = args[3].add(96).readPointer()                var so_name = Process.findModuleByAddress(addr).name;                var so_base = Module.getBaseAddress(so_name);                var offset = (addr - so_base);                console.log("===============>", so_name, addr,offset, offset.toString(16));            }        },        onLeave: function(retval) {             }    });     }setImmediate(hook_clone, "libmsaoaidsec.so")


这样也能成功获取到线程函数的地址



hook strstr

frida常用检测点及其原理--一把梭方案

https://bbs.kanxue.com/thread-278145-1.htm


我们不妨进入这几个线程函数,来看看到底做了些什么



可以推测,就是open了一些系统文件,然后fgets获取其信息,再进行ststsr的关键点检测。


function hook_pthread_create(soname) {    var pt_strstr = Module.findExportByName("libc.so"'strstr');    var pt_strcmp = Module.findExportByName("libc.so"'strcmp');     Interceptor.attach(pt_strstr, {        onEnter: function (args) {            var str1 = args[0].readCString();            var str2 = args[1].readCString();            if (                str2.indexOf("REJECT") !== -1 ||                str2.indexOf("tmp") !== -1 ||                str2.indexOf("frida") !== -1 ||                str2.indexOf("gum-js-loop"






请到「今天看啥」查看全文