能力值:
( LV9,RANK:170 )
|
-
-
2 楼
shift + F9 忽略异常
或者 这个程序用了 anti-bug 代码 找出 去掉
|
能力值:
( LV6,RANK:90 )
|
-
-
3 楼
anti-bug 代码怎么找?谢谢
|
能力值:
(RANK:260 )
|
-
-
4 楼
我曾经遇到过类似你所说的情况,具体是不是一样,你自己再试试看,我先说下
一种可能:如果你用OD调 VB P-Code 的程序,因为 int3 断点会将下断处的一个字节填入 0xCC 而VB的VM读取伪指令时会将修改过的字节进行解释,
这样如果 0xCC 这个字节与相邻的字节构成的指令是VB的VM不能解释的指令,那么就会出错了
这种情况,你不能用OD来调,而应该用专用的P-CODE调试器 WKTVBDebugger
另一种情况是(我曾经遇到,但至今没有解决)用 WKTVBDebugger 调试一个多线程的P-CODE的程序时程序一启动便出错,如果哪位高手知道解决方法,请一定不吝赐教
我的思路是分析VB的VM的启动过程,特别要清楚P-CODE的多线程是如何在VM里工作的,因为线程函数必定也是P-CODE的,当肯定不是用程序中的线程函数作为参数直接调用 CreateThread(), 而肯定在VM里有一个特殊的线程函数,以它作为参数创建新的线程,然后在这个线程函数里再执行应用程序中的P-CODE功能代码.
|
能力值:
( LV6,RANK:90 )
|
-
-
5 楼
这样啊 谢谢赐教
|
|
|