在不懂算法的破文http://bbs.pediy.com/showthread.php?t=45713
中提到 “在代码窗口单击右键,选择查找->所有模块间的调用”可以找到scanf函数的调用
但是我在vc下写了个控制台程序(只是想看下反汇编后的样子)
#include "stdio.h"
int main(int argc, char* argv[])
{
int a;
scanf("%d",&a);
if(a==0)
printf("success!");
else
printf("failed!");
return 0;
}
反汇编后:
00401000 /$ 51 push ecx
00401001 |. 8D4424 00 lea eax, dword ptr [esp]
00401005 |. 50 push eax
00401006 |. 68 44804000 push 00408044 ; ASCII "%d"
0040100B |. E8 61000000 call 00401071
00401010 |. 8B4424 08 mov eax, dword ptr [esp+8]
00401014 |. 83C4 08 add esp, 8
00401017 |. 85C0 test eax, eax
00401019 |. 75 11 jnz short 0040102C
0040101B |. 68 38804000 push 00408038 ; ASCII "success!"
00401020 |. E8 1B000000 call 00401040
00401025 |. 83C4 04 add esp, 4
00401028 |. 33C0 xor eax, eax
0040102A |. 59 pop ecx
0040102B |. C3 retn
0040102C |> 68 30804000 push 00408030 ; ASCII "failed!"
00401031 |. E8 0A000000 call 00401040
00401036 |. 83C4 04 add esp, 4
00401039 |. 33C0 xor eax, eax
0040103B |. 59 pop ecx
0040103C \. C3 retn
但是我 “在代码窗口单击右键,选择查找->所有模块间的调用”
并没有找到scanf函数,只有一些标准的win32 api函数,
Why???
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课