代码如下:
find_functions:
pushad
mov eax,[ebp+0x3c];ebp=base address of user32.dll
mov ecx,[ebp+eax+0x78]
add ecx,ebp
mov ebx,[ecx+0x20];ebx=relative offset of names table
add ebx,ebp
xor edi,edi
next_function_loop:
inc edi
mov esi,[ebx+edi*4];esi=relative offset of current function name
add esi,ebp ;esi=absolute offset of current function name
上面的一句 inc edi 如果先让edi加一 再执行mov esi,[ebx+edi*4] 那岂不是把输出表中的函数名称表的第一个给跳过去了吗? 但是运行结果并没有跳过啊。我觉得名称表的第一个应该是
mov esi,[ebx].请知道的麻烦给讲一下,谢谢。