阅读:1439回复:4
为何softice无法在程序入口点正确中断?
我用的是XP,symbol loader 以后,exe 开始运行,但softice无法在程序入口点中断,该怎么解决?
|
|
|
沙发#
发布于:2002-10-22 17:47
在EXE开始处写入int 3指令
|
|
|
板凳#
发布于:2002-10-22 19:17
没错,然后用
i3here on 对于驱动则 i3here drv |
|
|
地板#
发布于:2002-10-25 16:33
谢了。
不过在EXE(masm 7.0,win32 gui)开始处写入int 3指令后,XP会出现该死的调试对话框…… 我以前在2k下也用过softice,有的能正确中断,有的不能,是不是软件加壳的原因?softice又是怎样实现的? |
|
|
地下室#
发布于:2002-10-27 15:57
谢了。 你在分发版不用INT3好了 SOFTICE不是专门用来解密的所以。。。你看一下用这重方法行吗!! 由于加过壳的程序的section characteristics一般都被改了,所以用SoftICE symbol loader加载被加壳了的exe后无法停在程序的入口处,而是立即运行了。 一般是采用修改section characteristics为E0000020或者将入口指令改为int 3的办法,但难于躲过CRC校验。 在Win2K下可以按照下面的方法使得程序在入口处停下: 1、用pe editor得到加壳后的入口为xxxxxxxx。 2、BPX LoadLibraryA 3、用symbol loader加载被加壳了的exe,第一次中断后处在系统的rpcrt4.dll中。 4、清除断点,设断点 BPM CS:xxxxxxxx X 即可。 |
|
|