返回列表 发新帖
楼主: 阿秋 - 

【纯思路干货】别在So层硬刚反调试了!

  [复制链接]

1

主题

1362

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
4104
好评
7
信誉
100
发表于 2026-5-19 18:17:15 来自手机  | 显示全部楼层  来自 广东
看看大佬
回复

使用道具 举报

61

主题

3441

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6046
好评
75
信誉
101

考神

发表于 2026-5-19 18:18:54 来自手机  | 显示全部楼层  来自 广东
路过看看……
回复

使用道具 举报

8

主题

1108

回帖

5204

积分

硕士生

赋.

Rank: 6Rank: 6

金币
1138
好评
3
信誉
100

MT论坛新人考神

发表于 2026-5-19 18:24:05 来自手机  | 显示全部楼层  来自 福建
看看隐藏
回复

使用道具 举报

8

主题

605

回帖

1772

积分

高中生

null

Rank: 4

金币
844
好评
2
信誉
102
发表于 2026-5-19 18:26:29 来自手机  | 显示全部楼层  来自 广西
感谢分享
回复

使用道具 举报

21

主题

5551

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
1610
好评
0
信誉
100

考神MT论坛新人

发表于 2026-5-19 18:28:19 来自手机  | 显示全部楼层  来自 重庆
路过看看
回复

使用道具 举报

3

主题

310

回帖

1340

积分

高中生

Rank: 4

金币
892
好评
3
信誉
100
发表于 2026-5-19 18:29:59 来自手机  | 显示全部楼层  来自 广东
看看
回复

使用道具 举报

8

主题

783

回帖

5241

积分

硕士生

Rank: 6Rank: 6

金币
1683
好评
1
信誉
100
发表于 2026-5-19 18:30:12 来自手机  | 显示全部楼层  来自 湖南
感谢老铁
回复

使用道具 举报

0

主题

296

回帖

823

积分

高中生

Rank: 4

金币
592
好评
0
信誉
100
发表于 2026-5-19 18:32:24 来自手机  | 显示全部楼层  来自 上海
看看
回复

使用道具 举报

47

主题

1411

回帖

5830

积分

硕士生

Rank: 6Rank: 6

金币
2780
好评
2
信誉
111
发表于 2026-5-19 18:32:32 来自手机  | 显示全部楼层  来自 四川
回复

使用道具 举报

6

主题

1243

回帖

5941

积分

硕士生

看看

Rank: 6Rank: 6

金币
3201
好评
0
信誉
100
发表于 2026-5-19 18:33:07 来自手机  | 显示全部楼层  来自 河南
看看是啥
回复

使用道具 举报

29

主题

519

回帖

3200

积分

大学生

Rank: 5Rank: 5

金币
1612
好评
76
信誉
120

考神MT论坛最佳新人

QQ
发表于 2026-5-19 18:34:11 来自手机  | 显示全部楼层  来自 河南
学习学习
回复

使用道具 举报

15

主题

1975

回帖

6208

积分

硕士生

Rank: 6Rank: 6

金币
2194
好评
10
信誉
104
发表于 2026-5-19 18:34:44 来自手机  | 显示全部楼层  来自 广东
看看隐藏
回复

使用道具 举报

47

主题

1411

回帖

5830

积分

硕士生

Rank: 6Rank: 6

金币
2780
好评
2
信誉
111
发表于 2026-5-19 18:36:15 来自手机  | 显示全部楼层  来自 四川
看不懂,ai一下console.log("[+] mCookie 抄底脱壳脚本启动");

Java.perform(function () {
    console.log("[+] Java 环境注入完成");

    function getCookie(dexFileObj) {
        try {
            if (dexFileObj.mCookie) return dexFileObj.mCookie.value;
            if (dexFileObj.mInternalCookie) return dexFileObj.mInternalCookie.value;
            return null;
        } catch (e) {
            return null;
        }
    }

    function dumpDexByCookie(dexFileObj, dexName) {
        const cookie = getCookie(dexFileObj);
        if (!cookie) return;

        try {
            const Array = Java.use("java.lang.reflect.Array");
            let ptr = 0;

            if (cookie.$className && cookie.$className.includes("Long")) {
                const len = Array.getLength(cookie);
                if (len > 1) {
                    ptr = Array.getLong(cookie, 1);
                }
            } else {
                ptr = cookie;
            }

            if (ptr === 0) return;

            const dexFilePtr = new NativePointer(ptr);
            const begin = dexFilePtr.readPointer();
            const dexSize = dexFilePtr.add(0x8).readU32();

            if (dexSize < 0x100 || dexSize > 0x10000000) return;

            const dexData = begin.readByteArray(dexSize);
            if (!dexData) return;

            const fileName = `/sdcard/Dumped/\( {dexName || "classes"}_ \){Date.now()}.dex`;
            const f = new File(fileName, "wb");
            f.write(dexData);
            f.flush();
            f.close();

            console.log(`[+] Dump成功: \( {fileName} ( \){dexSize} bytes)`);
        } catch (e) {
            console.log("[-] Dump失败: " + e);
        }
    }

    function dumpAllDex() {
        Java.choose("dalvik.system.BaseDexClassLoader", {
            onMatch: function (loader) {
                try {
                    const pathList = loader.pathList.value;
                    if (!pathList) return;

                    const dexElements = pathList.dexElements.value;
                    const len = Java.use("java.lang.reflect.Array").getLength(dexElements);

                    for (let i = 0; i < len; i++) {
                        const element = Java.use("java.lang.reflect.Array").get(dexElements, i);
                        const dexFileObj = element.dexFile.value;
                        if (dexFileObj) {
                            dumpDexByCookie(dexFileObj, `dex_${i}`);
                        }
                    }
                } catch (e) {}
            },
            onComplete: function () {
                console.log("[+] 本轮 ClassLoader 遍历完成");
            }
        });
    }

    // 延迟执行
    setTimeout(() => {
        console.log("[+] 开始执行 Dump...");
        dumpAllDex();
    }, 5000);

    // 动态加载监听
    const BaseDexClassLoader = Java.use("dalvik.system.BaseDexClassLoader");
    BaseDexClassLoader.$init.overload('java.lang.String', 'java.io.File', 'java.lang.String', 'java.lang.ClassLoader').implementation = function (dexPath, optimizedDirectory, librarySearchPath, parent) {
        const result = this.$init(dexPath, optimizedDirectory, librarySearchPath, parent);
        setTimeout(dumpAllDex, 1500);
        return result;
    };
});

console.log("[+] 脚本注入完成,等待应用完全启动后自动Dump");
回复

使用道具 举报

8

主题

1万

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
5143
好评
1
信誉
100
发表于 2026-5-19 18:37:11 来自手机  | 显示全部楼层  来自 山东
看看隐藏
回复

使用道具 举报

0

主题

3206

回帖

8264

积分

硕士生

Rank: 6Rank: 6

金币
6959
好评
0
信誉
100
发表于 2026-5-19 18:43:35 来自手机  | 显示全部楼层  来自 陕西
看看隐藏。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表