구구단 이후로 프로그램 만들어봄
int main() { __asm { xor eax, eax mov[ebp + 0xb], 0x63 mov[ebp + 0xc], 0x61 mov[ebp + 0xd], 0x6c mov[ebp + 0xe], 0x63 mov eax, fs:[eax + 0x30] mov eax, [eax + 0xc] mov eax, [eax + 0x14] mov ebx, [eax] mov ebx, [ebx] mov ebx, [ebx + 0x10] mov edi, [ebx + 0x3c] add edi, ebx mov edi, [edi + 0x78] add edi, ebx mov[ebp + 0x18], edi mov esi, [edi + 0x20] add esi, ebx mov ecx, [edi + 0x24] add ecx, ebx xor edx, edx pushad xor edi, edi mov di, 0x2b3 call get_func_addr mov[ebp + 0x20], eax popad xor eax, eax push eax lea eax, [ebp + 0xb] push eax call[ebp + 0x20] jmp end get_func_addr : loop_ent : inc edx lodsd pushad add ebx, eax mov esi, ebx xor eax, eax xor edi, edi hash : lodsb add edi, eax test al, al jnz hash mov[ebp + 0x10], edi popad cmp[ebp + 0x10], edi jne loop_ent movzx edx, word ptr[ecx + edx * 2 - 2] mov edi, [ebp + 0x18] mov esi, [edi + 0x1c] mov edi, ebx add esi, edi add edi, [esi + edx * 4] mov eax, edi ret end: } return 0; } | cs |
우와 쩐다
진짜 계산기네요!!
(회의론) 어셈블리로 짜는건 실무에 아무 쓸모 없는데