Fi3.01查得Pecompact v1.68-84加的壳。 首先用Peditor查看mgutil.exe的区块信息:Section Virtual Size Virtual Offset Raw Size Raw Offset Characteristics pec1 000A1000 00001000 0003EA00 00000400 E0000020 .rsrc 000C8000 000A2000 00054A00 0003EE00 C0000040 .pec 00004000 0016A000 00000600 00093800 E0000020 .rsrc 00001000 0016E000 00000600 00093E00 C0000040 发现程序加壳后入口点所在的pec块的Characteristics为E0000020,说明该块可执行,于是直接用Softice载入,但是没有中断。于是在Softice中下断点bpint3,单击break'n'enter->Run,使程序强行中断在入口点处。 Softice中断在下面的地方: 001B:0056A000 CC INT 3 /* 这里是用Peditor插入的int3断点 */ 001B:0056A001 06 PUSH ES 001B:0056A002 689C120500 PUSH 0005129C ____________________________________________________________ 由于插入的int3断点改变了原来的入口指令,为使程序继续运行,必须将指令改回来。用Peditor的FLC查到56A000处的指令码为EB 06 68 9C 12 05 00 C3 9C ,于是再次中断在入口处,在Softice中下命令:eb eip eb (enter) 纠正指令码如下: 001B:0056A000 EB06 JMP 0056A008 (JUMP ) 001B:0056A002 689C120500 PUSH 0005129C /* 其实这个就是OEP,这意味着OEP并没有被加密,不脱壳也可以方便地用SMC补丁主程序 */
上一篇:脱DLL文件的ASPROTECT的壳(英文)
下一篇:Magic Utilities 2003 脱壳手记 下
|