能力值:
( LV9,RANK:180 )
|
-
-
2 楼
你用的是 16bit 的
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
您能说的详细些吗?十分感谢!
刚又发现问题,还是notepad.exe的例子,寻找CALL指令,用Disasm反汇编,将E8 XXXX都找出来,其中XXXX是地址。但是当CALL后面是寄存器时(代码为FF XXXX),没有找到该CALL指令。
这个结果是与OD相对比得出的。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
去OD主页下载OD的那个反汇编试一下,用起来也很简单的。而且源代码还有如何使用的例子。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
谢谢icersg的建议,我试过直接代码级复用,但是由于源代码版本较老,产生一大堆问题,才想出偷懒的办法,拿别人编译好的用的。
我在VS2005下编译,问题太多。用过的朋友是否能给点建议。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
在VS2005下运行官网上的Disasm,好不容易编译通过,又碰到莫名其妙的问题。
main.c中:
// ADD [475AE0],1 MASM mode, lowercase, don't show default segment
ideal=0; lowercase=1; putdefseg=0;
l=Disasm("\x81\x05\xE0\x5A\x47\x00\x01\x00\x00\x00",
10,0x400000,&da,DISASM_CODE);
printf("%3i %-24s %-24s (MASM)\n",l,da.dump,da.result);
运行到disasm()函数,弹对话框报错:
0xcccccccc 处最可能的异常: 0xC0000005: 读取位置 0xcccccccc 时发生访问冲突
这是怎么回事呢?请各位指点下,十分感谢!
|
|
|