簡單登陸程序crack.c如下:
#include <stdio.h>
#include <memory.h>
#include <string.h>
int main(int argc, char *argv[])
{
int flag=0;
char passwd[20];
memset(passwd,0,sizeof(passwd));
memcpy(passwd,argv[1],strlen(argv[1]));
if(0==strcmp("hello",passwd))
{
flag=1;
}
else
{
flag=0;
}
if(flag==1) printf("crack success!\n");
else printf("crack fail!\n");
while(1);
return 0;
}
Dev-C++ 4.9.9.2下編譯爲crack.exe。用OD將crack.exe打開,截取部分代碼如下:
004012BA . C745 F4 000000>MOV DWORD PTR SS:[EBP-C],0 ; ||||
004012C1 . C74424 08 1400>MOV DWORD PTR SS:[ESP+8],14 ; ||||
004012C9 . C74424 04 0000>MOV DWORD PTR SS:[ESP+4],0 ; ||||
004012D1 . 8D45 C8