能力值:
(RANK:260 )
|
-
-
2 楼
说明你改掉的是DLL中的代码。
要找到exe中的调用这个DLL函数的代码,改那里就好了。
可以反复Ctrl+F9,直到返回地址位于EXE的地址范围当中,这个返回地址处的上一行的CALL指令就是你要改的地方。
还有,NOP掉时要注意堆栈。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
___________________________
说的很详细,非常感谢前辈的指点与提醒,..
我想请前辈详细说明一下,(NOP掉时要注意堆栈。)这句话的意思,
要注意堆栈的什么呢? 谢谢您..
还有,原来看雪是个这么好的学习平台,有很多高手肯为新手解答,以后在这学习了.
|
能力值:
(RANK:260 )
|
-
-
4 楼
就是所谓的“堆栈平衡”。
如果CALL的函数没有参数,或者是__cdecl约定的,那么把CALL指令直接换成NOP指令就可以了。
如果函数是__stdcall约定的,那么应该视参数个数,将原来的CALL指令换成add esp, XXX这样的指令。这里XXX就是压入堆栈的参数的以字节计算的大小,比如压入一个整型参数,那么就是add esp,4
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
感谢版主的热心指点,
思路很明了,只是我太菜了还没搞定,呵呵....我得再学习学习,再次谢谢版主....
还有就是,我一定想想法子搞定这个难关....如果版主有时间的话远程帮我看一下,我想也费不了多少时间.,,当然了,淡到金钱就变质了,但是付出也必需要有回报的,这是我的想法,如果有空帮我看看,买烟给帮忙者抽, 呵呵..
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
你保存的DLL文件如果不是系统DLL那么你可以保持,然后导入到EXE内部,就OK了。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
是系统DLL
|
|
|