【安卓逆向】某旅行平台反调试绕过

admin 2026-04-02 04:16:09 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文主要介绍了针对某旅行平台App的反调试绕过技术。通过分析发现,该应用检测的是Frida运行JavaScript时暴露的特征,如特定的线程名和内存字符串。为此,作者提供了一段Frida脚本,通过拦截系统函数来隐藏gum-js-loop线程名,并过滤掉包含gumfrida的字符串,从而实现绕过检测的目的。 综合评分: 85 文章分类: 安卓逆向,渗透测试,二进制安全,爬虫,WEB安全


cover_image

【安卓逆向】某旅行平台反调试绕过

原创

可乐还是百事好 可乐还是百事好

爬虫逆向小林哥

2026年3月31日 09:01 江苏

介绍

本文先分析反调试,抓包以及加密后面再出吧

过程

现象

首先看下启动frida以及注入脚本等,app和frida的现象。

启动frida-server,然后打开App发现frida和app都是正常状态,说明目标应用没有检测server的任何特征

接着启动frida客户端,选择不注入脚本,两者也没有被杀死或者闪退

最后注入js或者空js脚本情况下,frida被杀死

这里就得出了个结论

App 检测的是 Frida 在运行 JS 时暴露的特征,而不是server、或者本身

注入js后流程

PC 端 frida 命令 → 通知手机 frida-server
server 向 APP 进程 注入 frida-agent.so
agent 启动 gum-js 虚拟机
Frida 创建工作线程

Frida 在运行 JS 时暴露的最明显特征就是 gum-js-loop 线程 以及内存里面出来的那些字符串: gum frida

方案

隐藏掉线程名、去掉内存里面一些 检测字符串即可

console.log("[*] Starting Frida detection bypass...");

var pthread_setname_np = Module.findExportByName("libc.so", "pthread_setname_np");
if (pthread_setname_np) {
    Interceptor.attach(pthread_setname_np, {
        onEnter: function(args) {
            var name = args[1].readCString();
            if (name && name.indexOf("gum") !== -1) {
                console.log("[!] Blocked thread name: " + name);
                var fakeName = "JDWP-handler";
                args[1] = Memory.allocUtf8String(fakeName);
            }
        }
    });
}

var strstr = Module.findExportByName(null, "strstr");
if (strstr) {
    Interceptor.attach(strstr, {
        onEnter: function(args) {
            var haystack = args[0].readCString();
            var needle = args[1].readCString();

            if (needle && (needle.indexOf("gum") !== -1 ||
                          needle.indexOf("frida") !== -1)) {
                console.log("[!] strstr: " + haystack + " -> " + needle);
                this.bypass = true;
            }
        },
        onLeave: function(retval) {
            if (this.bypass) {
                retval.replace(ptr(0));
            }
        }
    });
}

广子

有需要用于爬虫、逆向、抓包的测试机又不想花时间折腾Root、刷机、环境配置可以来看下下面联系方式,或者B站视频评论区见


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:爬虫逆向小林哥 可乐还是百事好 可乐还是百事好《【安卓逆向】某旅行平台反调试绕过》

评论:0   参与:  0