-2
我只是想加0x3C,但编译器将它转换为0x0F0。为什么??编译后生成的奇怪汇编代码
这是kernel32_base声明作为参数传递给函数:
DWORD * kernel32_base
而且这里的C代码和desassembled代码:
DWORD PE_shift=NULL;
00DB212E mov dword ptr [PE_shift],0
PE_shift = *(kernel32_base + 0x3C); //60=3Ch
00DB2135 mov eax,dword ptr [kernel32_base]
00DB2138 mov ecx,dword ptr [eax+0F0h] ; <-----------------
00DB213E mov dword ptr [PE_shift],ecx
那个0F0h从哪里来?它应该是一个0x3C的权利?
MMMMM有趣。我应该怎么做,然后加上0x3C到kernel32_base中存储的地址?谢谢 – user1618465 2014-09-05 01:30:29
甜蜜!很棒。 PD:两票否定票已经? :(谢谢 – user1618465 2014-09-05 01:32:29
我必须等3分钟,我会尽快接受;)再次感谢 – user1618465 2014-09-05 01:33:42