先用 PEiD 查一下壳
用 OD 载入程序
这里有一串字符串,是壳的名称和版本号
按 Alt+M 显示内存窗口
这里只有三个区段,后面两个是壳生成的,程序的代码段也包含在里面
利用堆栈平衡
按 F8 往下走一步
然后到数据窗口中设置断点
选择 -> 断点 -> 硬件访问 -> Dword
然后跑一下程序
弹出了一个窗口,点击“确定”
eax 中存放着 OEP 的地址
按 F8 执行 jmp 跳转,来到程序 OEP 处
右键
选择 Dump debugged process
点击“Dump”进行保存
打开 LordPE
点击 “PE 编辑器”
选择刚才保存的文件
代码基址修改为 1000
点击“区段”
删除区段“.ex_cod”
然后保存并重建文件
运行程序
没有弹出刚才那个对话框了
用 PEiD 查看
VC++ 5.0