diff --git a/README.md b/README.md index 242714e..aa7d17e 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,28 @@ void LoopDemo() This c++ function, compiled by clang-cl with `mcmodel=large`, will generate a routine with the following instructions: ```nasm - +0x58 ; void LoopDemo(void) +0x58 public ?LoopDemo@@YAXXZ +0x58 ?LoopDemo@@YAXXZ proc near +0x58 var_4 = dword ptr -4 +0x58 +0x58 48 83 EC 28 sub rsp, 28h +0x5C C7 44 24 24 00 00 00 00 mov [rsp+28h+var_4], 0 +0x64 loc_64: +0x64 83 7C 24 24 0A cmp [rsp+28h+var_4], 0Ah +0x69 0F 83 2A 00 00 00 jnb loc_99 +0x6F 8B 54 24 24 mov edx, [rsp+28h+var_4] +0x73 48 B9 60 01 00 00 00 00 00 00 mov rcx, offset ??_C@_0BB@HGKDPLMC@?$.... ; "> Loop Demo: %d\n" +0x7D 48 B8 38 02 00 00 00 00 00 00 mov rax, offset DbgPrint +0x87 FF D0 call rax ; DbgPrint +0x89 8B 44 24 24 mov eax, [rsp+28h+var_4] +0x8D 83 C0 01 add eax, 1 +0x90 89 44 24 24 mov [rsp+28h+var_4], eax +0x94 E9 CB FF FF FF jmp loc_64 +0x99 loc_99: +0x99 48 83 C4 28 add rsp, 28h +0x9D C3 retn +0x9D ?LoopDemo@@YAXXZ endp ``` # Obfuscation