一、题目背景
这是商业壳极其恶心且著名的技术:Stolen Bytes(偷取字节)。壳不仅会对代码进行加密,还会把关键函数(或程序入口点 OEP)的头几条汇编指令剪切走,放到申请的一块随机内存中执行,导致脱壳后程序根本无法运行,必须人工修复。
-
难度: ⭐⭐⭐⭐⭐(强对抗)
-
适合人群: 进入手动脱壳、代码修复阶段的高阶学员。
-
训练重点:
-
识别丢失的函数头部(如标准的
push ebp; mov ebp, esp被替换)。 -
在动态内存中找回被偷窃的汇编指令。
-
理解函数指针的绝对跳转与代码拼接。
-
二、程序说明
-
平台: Win32 x86
-
类型: 控制台程序
-
是否加壳: 无壳(模拟 Stolen Bytes)
-
目标: 搞清混淆后的执行流,找到密码运算的第一步,解出密码(长度是4位)。
三、解题提示
-
代码并没有顺畅地进入常规校验流程,而是跳去了一块
VirtualAlloc出来的无名内存。 -
在那块无名内存里,执行了几条指令后,又跳回了正常代码段的中间位置。
-
跟进去,用 x32dbg 把那几条被偷走的指令重新拼接到你的分析逻辑里。
下载
通过网盘分享的文件:vmp11.zip
链接: https://pan.baidu.com/s/1fe0jRYM9Bk9n3oSa0GjhvQ?pwd=tj48 提取码: tj48
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END









暂无评论内容