能力值:
( LV2,RANK:10 )
|
-
-
2 楼
平栈被 还能怎么办
|
能力值:
(RANK:990 )
|
-
-
3 楼
进这个CALL,把第一句改成 ret。如 CALL 的第一句是这个:
PUSH EBP
直接改成 ret 试试,如果这个CALL有参数,看一下调用CALL前的参数个数,改成 ret 参数个数×4 的16进制值试试。如参数个数为2,可以改成 ret 8。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
好方法,汇编强啊
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
此call应调用浮点出错,可能该文件那里有校验,但找不出
0041E05E FF15 F0114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaErrorOverflow>] ; MSVBVM60.__vbaErrorOverflow
call里的内容
734690D2 > 6A 06 PUSH 6
734690D4 E8 BCC5F4FF CALL MSVBVM60.733B5695
734690D9 FF7424 04 PUSH DWORD PTR SS:[ESP+4]
734690DD E8 CDAEF3FF CALL MSVBVM60.733A3FAF
734690E2 833D C40E4A73 0>CMP DWORD PTR DS:[734A0EC4],0
734690E9 8B40 0C MOV EAX,DWORD PTR DS:[EAX+C]
734690EC 75 09 JNZ SHORT MSVBVM60.734690F7
734690EE 8B40 14 MOV EAX,DWORD PTR DS:[EAX+14]
734690F1 8B40 0C MOV EAX,DWORD PTR DS:[EAX+C]
734690F4 C2 0400 RETN 4
|
能力值:
(RANK:990 )
|
-
-
6 楼
系统CALL,不好直接改的。根据出错时的调用堆栈,查查别的地方的原因。
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
强。。。偶汇编太差。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
其实这个问题,应该挺常见,请大虾们给个例子可以吗?
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
那是处理错误的系统call,根本原因是程序错,改call只是不让系统处理,治标不治本
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
试了CCDebuger大虾的方法,很好用。但是能解释一下,为什么这样改吗?
谢谢
|
能力值:
( LV7,RANK:100 )
|
-
-
11 楼
如果一个函数ERROR,里面就是个NAG调用.你想屏蔽掉.但是又有多个地方CALL ERROR,一个一个改CALL好还是直接改了这个函数好?
|
|
|