这个只是写着玩的, 不可能用来商业化。
公布源码:
VOID __declspec(naked)Code(VOID){
__asm push ebp;
__asm mov ebp, esp;
__asm sub esp, 0x84;
SYS_PROTECT_BEGIN('s', 'y', 's', 'p', 'r', 'o', 't', 'c', 't');
__asm push 0x10000;
__asm call dword ptr[ebp + 0x8];
__asm add esp, 0x4;
__asm mov esi, eax;
__asm mov eax, dword ptr[ebp + 0x10];
__asm mov edx, dword ptr[esi + 0x2334];
__asm sub dword ptr[esi + 0x2334], edx;
__asm movzx edx, byte ptr[eax];
__asm add dword ptr[esi + 0x2334], edx;
__asm mov edx, dword ptr[esi + 0x2987];
__asm sub dword ptr[esi + 0x2987], edx;
__asm movzx edx, byte ptr[eax + 1];
__asm add dword ptr[esi + 0x2987], edx;
__asm mov edx, dword ptr[esi + 0x3a34];
__asm sub dword ptr[esi + 0x3a34], edx;
__asm movzx edx, byte ptr[eax + 2];
__asm add dword ptr[esi + 0x3a34], edx;
__asm mov edx, dword ptr[esi + 0x3ea3];
__asm sub dword ptr[esi + 0x3ea3], edx;
__asm movzx edx, byte ptr[eax + 3];
__asm add dword ptr[esi + 0x3ea3], edx;
__asm mov edx, dword ptr[esi + 0x4e54];
__asm sub dword ptr[esi + 0x4e54], edx;
__asm movzx edx, byte ptr[eax + 4];
__asm add dword ptr[esi + 0x4e54], edx;
__asm mov edx, dword ptr[esi + 0x4e34];
__asm sub dword ptr[esi + 0x4e34], edx;
__asm movzx edx, byte ptr[eax + 5];
__asm add dword ptr[esi + 0x4e34], edx;
__asm mov edx, dword ptr[esi + 0x63b4];
__asm sub dword ptr[esi + 0x63b4], edx;
__asm movzx edx, byte ptr[eax + 6];
__asm add dword ptr[esi + 0x63b4], edx;
__asm mov edx, dword ptr[esi + 0x8ade];
__asm sub dword ptr[esi + 0x8ade], edx;
__asm movzx edx, byte ptr[eax + 7];
__asm add dword ptr[esi + 0x8ade], edx;
__asm mov dword ptr[esi + 0x5433], 0x1;
__asm xor edi, edi;
__asm jmp __for_cmp;
__for_start:
__asm add edi, 0x1;
__asm add dword ptr[esi + 0x5433], 1;
__for_cmp:
__asm mov eax, 1000;
__asm sub eax, dword ptr[esi + 0x2334];
__asm cmp edi, eax;
__asm je __for_end;
__asm jmp __for_start;
__for_end:
__asm sub dword ptr[esi + 0x5433], 947;
__asm cmp dword ptr[esi + 0x5433], 0;
__asm jne __if_else;
__asm sub dword ptr[esi + 0x2334], 0x36;
__asm cmp dword ptr[esi + 0x2334], 0;
__asm jne __if_else;
__asm sub dword ptr[esi + 0x2987], 0x33;
__asm cmp dword ptr[esi + 0x2987], 0;
__asm jne __if_else;
__asm sub dword ptr[esi + 0x3a34], 0x37;
__asm cmp dword ptr[esi + 0x3a34], 0;
__asm jne __if_else;
__asm sub dword ptr[esi + 0x3ea3], 0x37;
__asm cmp dword ptr[esi + 0x3ea3], 0;
__asm jne __if_else;
__asm sub dword ptr[esi + 0x4e54], 0x37;
__asm cmp dword ptr[esi + 0x4e54], 0;
__asm jne __if_else;
__asm sub dword ptr[esi + 0x4e34], 0x37;
__asm cmp dword ptr[esi + 0x4e34], 0;
__asm jne __if_else;
__asm sub dword ptr[esi + 0x63b4], 0x36;
__asm cmp dword ptr[esi + 0x63b4], 0;
__asm jne __if_else;
__asm sub dword ptr[esi + 0x8ade], 0x31;
__asm cmp dword ptr[esi + 0x8ade], 0;
__asm je __if_true;
__asm add dword ptr[esi + 0x2334], 0x36;
__asm add dword ptr[esi + 0x2987], 0x33;
__asm add dword ptr[esi + 0x3a34], 0x37;
__asm add dword ptr[esi + 0x3ea3], 0x37;
__asm add dword ptr[esi + 0x4e54], 0x37;
__asm add dword ptr[esi + 0x4e34], 0x37;
__asm add dword ptr[esi + 0x63b4], 0x36;
__asm add dword ptr[esi + 0x8ade], 0x31;
__if_true:
__asm add dword ptr[esi + 0x2334], 0x36;
__asm add dword ptr[esi + 0x2987], 0x33;
__asm add dword ptr[esi + 0x3a34], 0x37;
__asm add dword ptr[esi + 0x3ea3], 0x37;
__asm add dword ptr[esi + 0x4e54], 0x37;
__asm add dword ptr[esi + 0x4e34], 0x37;
__asm add dword ptr[esi + 0x63b4], 0x36;
__asm add dword ptr[esi + 0x8ade], 0x31;
//
__asm mov al, byte ptr[esi + 0x2334];
__asm mov byte ptr[esi], al;
__asm mov al, byte ptr[esi + 0x2987];
__asm mov byte ptr[esi + 1], al;
__asm mov al, byte ptr[esi + 0x3a34];
__asm mov byte ptr[esi + 2], al;
__asm mov al, byte ptr[esi + 0x3ea3];
__asm mov byte ptr[esi + 3], al;
__asm mov al, byte ptr[esi + 0x4e54];
__asm mov byte ptr[esi + 4], al;
__asm mov al, byte ptr[esi + 0x4e34];
__asm mov byte ptr[esi + 5], al;
__asm mov al, byte ptr[esi + 0x63b4];
__asm mov byte ptr[esi + 6], al;
__asm mov al, byte ptr[esi + 0x8ade];
__asm mov byte ptr[esi + 7], al;
__asm mov byte ptr[esi + 8], '^';
__asm mov byte ptr[esi + 9], 'y';
__asm mov byte ptr[esi + 0xa], 'e';
__asm mov byte ptr[esi + 0xb], 's';
__asm mov byte ptr[esi + 0xc], '!';
__asm mov byte ptr[esi + 0xd], 0;
__asm push 0;
__asm push 0;
__asm push esi;
__asm push 0;
__asm call dword ptr[ebp+0x14];
__asm jmp __out_code;
__if_else:
__asm mov byte ptr[esi], '4';
__asm mov byte ptr[esi + 1], '2';
__asm mov byte ptr[esi + 2], '2';
__asm mov byte ptr[esi + 3], '3';
__asm mov byte ptr[esi + 4], '8';
__asm mov byte ptr[esi + 5], '7';
__asm mov byte ptr[esi + 6], '1';
__asm mov byte ptr[esi + 7], '2';
__asm mov byte ptr[esi + 8], '-';
__asm mov byte ptr[esi + 9], 'n';
__asm mov byte ptr[esi + 0xa], 'o';
__asm mov byte ptr[esi + 0xb], '!';
__asm mov byte ptr[esi + 0xc], '!';
__asm mov byte ptr[esi + 0xd], 0;
__asm push 0;
__asm push 0;
__asm push esi;
__asm push 0;
__asm call dword ptr[ebp+0x14];
__out_code:
__asm push esi;
__asm call dword ptr[ebp + 0xc];
__asm add esp, 0x4;
SYS_PROTECT_END();
__asm add esp, 0x84;
__asm pop ebp;
__asm ret;
}