自己写了一个,差不多的,虽然不完全一样。。。
#include <stdio.h>
int getresult(unsigned char *aKey)
{
unsigned char *key = aKey;
if (key[2]==0x6B && key[4]==0x6F && key[8]==0x32 && key[6]==0x39)
{
// *key = "??k?o?9?2......"
return 1;
}
return 0;
}
int main(int argc, char* argv[])
{
char *kkk = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int result = getresult((unsigned char *) kkk);
printf("result=%d\n", result);
return 0;
}
00401050 /$ 55 push ebp
00401051 |. 8BEC mov ebp, esp
00401053 |. 83EC 08 sub esp, 8
00401056 |. C745 FC DC204>mov dword ptr [ebp-4], 004020DC ; ASCII "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
0040105D |. 8B45 FC mov eax, dword ptr [ebp-4]
00401060 |. 50 push eax ; /Arg1
00401061 |. E8 9AFFFFFF call 00401000 ; \Test001.00401000
00401066 |. 83C4 04 add esp, 4
00401069 |. 8945 F8 mov dword ptr [ebp-8], eax
0040106C |. 8B4D F8 mov ecx, dword ptr [ebp-8]
0040106F |. 51 push ecx ; /<%d>
00401070 |. 68 F8204000 push 004020F8 ; |format = "result=%d",LF,""
00401075 |. FF15 9C204000 call dword ptr [<&MSVCR80.printf>] ; \printf
0040107B |. 83C4 08 add esp, 8
0040107E |. 33C0 xor eax, eax
00401080 |. 8BE5 mov esp, ebp
00401082 |. 5D pop ebp
00401083 \. C3 retn
00401000 /$ 55 push ebp
00401001 |. 8BEC mov ebp, esp
00401003 |. 51 push ecx
00401004 |. 8B45 08 mov eax, dword ptr [ebp+8]
00401007 |. 8945 FC mov dword ptr [ebp-4], eax
0040100A |. 8B4D FC mov ecx, dword ptr [ebp-4]
0040100D |. 0FB651 02 movzx edx, byte ptr [ecx+2]
00401011 |. 83FA 6B cmp edx, 6B
00401014 |. 75 2B jnz short 00401041
00401016 |. 8B45 FC mov eax, dword ptr [ebp-4]
00401019 |. 0FB648 04 movzx ecx, byte ptr [eax+4]
0040101D |. 83F9 6F cmp ecx, 6F
00401020 |. 75 1F jnz short 00401041
00401022 |. 8B55 FC mov edx, dword ptr [ebp-4]
00401025 |. 0FB642 08 movzx eax, byte ptr [edx+8]
00401029 |. 83F8 32 cmp eax, 32
0040102C |. 75 13 jnz short 00401041
0040102E |. 8B4D FC mov ecx, dword ptr [ebp-4]
00401031 |. 0FB651 06 movzx edx, byte ptr [ecx+6]
00401035 |. 83FA 39 cmp edx, 39
00401038 |. 75 07 jnz short 00401041
0040103A |. B8 01000000 mov eax, 1
0040103F |. EB 02 jmp short 00401043
00401041 |> 33C0 xor eax, eax
00401043 |> 8BE5 mov esp, ebp
00401045 |. 5D pop ebp
00401046 \. C3 retn