VM分析笔记第一天
00DEEE83 8B45 00 mov eax,dword ptr ss:[ebp] eax = 4C0B9D88
00DEEE8A 0145 04 add dword ptr ss:[ebp+0x4],eax
$ ==> > 4C0B9D88
$+4 > 4C0B9D88
00DF11C6 8F45 00 pop dword ptr ss:[ebp]
栈顶标志去掉
00DF0B42 8A46 FF mov al,byte ptr ds:[esi-0x1]
00DF0B75 8B55 00 mov edx,dword ptr ss:[ebp] ; vmpopreg_10
00DEEF1C 83C5 04 add ebp,0x4
解密过程不贴
00DEF1CA 891438 mov dword ptr ds:[eax+edi],edx ; edi+偏移
VM_popreg32_2
VM_SetR32 = VM_PopR32
VM_PopR32_7
VM_PushI32_4C0B9D88 有堆栈越界检测
73 43
VM_Add32_4C0B9D88
VM_PopR32_10
VM_PopR32_2
VM_PopR32_4
VM_PopR32_9
VM_PopR32_15
VM_PopR32_14
VM_PopR32_8
VM_PopR32_5
VM_PopR32_13
VM_PopR32_12
VM_PopR32_11
VM_PopR32_1
VM_PopR32_6
VM_PushR32_13 edx = 246 标志位 ebp = 堆栈 edi =vm_context
00DEEACB 8945 00 mov dword ptr ss:[ebp],eax eax = 4BC23700
00DEECEE 8A46 FF mov al,byte ptr ds:[esi-0x1]