首页
社区
课程
招聘
[原创]轮回地狱WP
发表于: 2026-6-26 13:54 198

[原创]轮回地狱WP

2026-6-26 13:54
198

图片描述
「我嚟同你玩」 ------- Dystopia&TeddyBe4r (魔王护)

用户名:

密码:

"轮回地狱" — 基于 x86/x64 混合架构的多层防护逆向挑战

x86 主程序通过**天堂之门(Heaven's Gate)**跃迁至 x64 执行空间,核心算法以混淆 shellcode 形式存在。程序通过特权指令主动触发异常,借助 **VEH(向量异常处理)**完成与算法深度联动的完整性验证链。输入口令需经 AES 加密 + 魔改 Base64 编码后方可提交,程序解密验证后输出 SuccessfulFailed

Shellcode 由 x64 工程编译提取字节码,经汇编解析后,送入混淆器施加各类变换,最终重编译生成全新机器码。

程序依据输入用户名,从 10,000+ 个预置方程中伪随机抽取 1,000 个方程,分为 100 组,每组 10 题。选手须求解每个方程的精确解,并对每组结果升序排列后提交。

1. ntdll 重载 + SEC_NO_CHANGE 内存保护
重载 ntdll 并将其内存属性设置为 SEC_NO_CHANGE,使该内存区域无法写入 int3 断点。模块句柄保存于 PEB 作为全局变量,后续通过自实现的 GetModuleHandle / GetProcAddress 直接调用 ntdll API,彻底断绝外部 Hook 入侵路径。

2. PEB 环境指纹参与解密
从 PEB 中提取特定字段直接参与核心算法的解密运算,作为密钥派生的组成部分。正常环境下字段值固定,解密链路通畅;调试环境下 PEB 字段被篡改,解密结果静默出错,程序输出 Failed 而不抛出任何异常。反调试检测与算法正确性深度耦合,攻击者即便绕过所有显式检测点,只要环境存在调试器痕迹,算法便在无声中给出错误答案,根因极难定位。

3. x64 空间 Dbg* 函数屠戮
枚举并摧毁 x64 空间中所有以 Dbg 开头的函数入口,调试器尝试附加即触发崩溃。

4. 父进程溯源检测
校验父进程是否为 explorer / cmd / powershell,并主动尝试读取父进程内存,有效反制 VT 类调试器及异常宿主环境。

5. 内核调试模块探针
扫描内核空间,检测 kdcom / kdnet / kdstub / kdusb / kd1394 等调试驱动模块的残迹,内核调试环境无所遁形。

6. 时间流速检测
监控核心执行链的耗时,超过 10 秒即判定为异常环境(断点停滞、单步跟踪或沙箱降速)。

7. CRC 完整性校验
对核心算法段实施 CRC 校验,任何字节级篡改即触发熔断,杜绝运行时 Patch。

8. 调试对象检测
审计系统级调试句柄,调试对象存在即暴露。

9. TF 标志位探测
检测 EFLAGS 中的陷阱标志位,单步执行状态即自暴。

10. 硬件断点嗅探
审计 DR0 ~ DR7 调试寄存器,硬件断点设置状态一览无余。

11. 反 AI 心理战
植入精心设计的虚假提示词,诱导选手误判作者畏惧 AI 辅助分析,将大量精力消耗在 AI 攻击面上,实为纯粹的时间陷阱与心理博弈。

12. 虚拟机指纹识别
通过 VMware 后门指令(I/O 端口 0x5658)探测宿主环境,识别虚拟机后拒绝正常执行。

13. 常量动态加密
关键魔数与常量于运行时动态解密,静态分析窗口彻底关闭。

整套混淆流程以重编译为核心驱动:将 shellcode 解析为汇编中间表示,施加各类变换后重新编译生成全新机器码,抹除一切编译器特征与原始代码结构痕迹。

Ⅰ. 垃圾指令湮没
在中间表示层注入自抵消指令序列,乱序后抵消点被拉至数百指令之外,消除局部特征。部分指令针对性破坏栈结构,瘫痪 IDA 反编译引擎。

Ⅱ. 语义等价替换
将高频指令拆解为功能等价指令链,原始语义彻底消融。乱序后跨越多个基本块,配合高频栈操作令 F5 形同虚设。

Ⅲ. 基本块随机乱序
函数内每行汇编全局随机重排,重编译时以跳转与间接跳转重建控制流图。间接跳转随机选取寄存器,消灭模式特征。部分间接跳转采用 RIP 爆炸技术:目标地址异或加密存储,执行特权指令主动触发异常,于 VEH 中实时解密跳转目标,动态调试器与静态分析器同时失效。

Ⅳ. 轮回之门(Heaven's Gate²)
天堂之门的进化形态。重编译器静态分析中间表示,识别可在 x86 模式执行的代码片段,自动注入模式切换跳转,制造 x86 到 x64 模式的高频震荡。IDA 与 x64dbg 在模式边界处彻底崩溃。

Ⅴ. 花指令迷宫
重编译时插入多形态无意义跳转指令族群,污染反汇编器的指令解析流,制造虚假基本块边界。

Ⅵ. 指令虚拟化(核心防护)
核心算法编译目标为自定义字节码,运行于私有虚拟机之上解释执行。攻击者须先逆向 VM 架构,再逆向字节码语义,双重逆向成本指数级上升。

重编译时在代码块间随机插入变长 NOP 序列,破坏基于字节模式的签名识别。

破解思路

首先我们去除花指令, 模式有三种. 第一种为EB + 随机字节. 第二种是call + 随机字节然后然后ret. 第三种是push + lea + xchg [rsp] + ret, 后面跟随机字节. 我们通过识别这三种模式写脚本进行去除.

之后去除随机字节数的nop, 虽然字节数有不同, 但反汇编都是nop相关. 直接去除即可. 实际上不去或者都改成0x90的nop也没什么影响.

然后我们直接把模式切换(天堂之门)的代码nop即可. 实际上去掉模式的来回切换并不会影响代码的执行结果, 它们的作用只是干扰调试器和反编译.

接下来开始处理间接跳转, 一种是push + lea + xchg[rsp] + ret, 直接改成jmp到目标即可, 另一种是把下一行地址异或, 通过特权指令进入VEH再处理RIP跳回正确地址, 同样改成直接jmp到目标即可.

至此, IDA实际上已经能F5了, 可以看到大致的逻辑, 有些地方由于指令替换动了栈反编译有些问题, 但是大致逻辑已经比较清晰. 互相抵消的垃圾指令实际上可以不处理, 不影响F5的结果. 那些被替换的指令改回来就可以正常反编译了.

然后我们先吃透VEH里面干了什么, 保留和算法有关的逻辑, 去除检测相关内容. 和CRC有关的地方, 直接Patch给原代码CRC校验值即可. 同时可以去除和检测相关的特权指令.

至此, 我们已经可以调试了, 然后动态调/跑模拟脚本看个人喜欢. 甚至可以接入MCP让AI来逆向.


冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

最后于 6小时前 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 5
打赏
分享
最新回复 (3)
雪    币: 18
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
真的屌
4小时前
0
雪    币: 1
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
落音吹雪 真的屌
求大佬技术破解棋牌 我这里一天几十个到一百个 资源很多很大 希望可以寻一个有实力大佬一起合作共赢
3小时前
0
雪    币: 1632
活跃值: (400)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
反调试的强度确实挺高的
2小时前
0
游客
登录 | 注册 方可回帖
返回