• 标 题:已经找到几种解决在SOFTICE中在第一条指令中断的方法,希望大家找到更多更好的.多谢看雪兄的提示. (980字)
  • 作 者:ljttt
  • 时 间:2000-7-23 16:16:18
  • 链 接:http://bbs.pediy.com

1、根据看雪兄的提示,用ProcDump找到压缩程序的入口点所在的Section,修改其characteristics为E000020,就成功了。不过要注意对有其自身的代码检查功能的程序。跟踪时注意跳转。对Asprotect压缩过的程序不行。

2、以上方法不行的话,再试试这种方法
以下为步骤:
1、用ProcDump修改该程序的入口点所在的Section为E000020。(其实这步不要好象也行)
2、用ProcDump修改程序的入口点,使其减一。比如:ProcDump显示Entry Point:0005B001就改为0005B000。
(如果新的入口点不和原入口点在同一Section会出现什么问题??请高手赐教。Asprotect压缩过的程序刚好为我们留了一个字节的空间。)
3、用HIEW修改新的入口点的这一个字节的内容为0xCC。(就是int 3)
4、用SoftICE的Loader装入程序,Ctrl-D中断,设置I3HERE ON。(以前我就是没有设置I3HERE ON所以不成功)
5、Load。中断在入口。刚刚好。呵呵....
这种方法我刚发现。有效性有多大还请大家一起试一下。我试了试对Asprotect压缩过的程序可以。这种方法的思路来自一位高手的一篇以前的SOFTICE for DOS中对DOS4GW中断的文章。我把它移植到M$中来。不过中断后别忘了设置I3HERE OFF免得麻烦。