-
-
[求助]算法疑問
-
发表于: 2014-3-22 17:56 2547
-
.text:30D2DFE0 push ebp .text:30D2DFE1 mov ebp, esp .text:30D2DFE3 sub esp, 1Ch .text:30D2DFE6 cmp [ebp+arg_4], 0 .text:30D2DFEA push esi .text:30D2DFEB mov esi, ecx .text:30D2DFED jz loc_30D2E0EE .text:30D2DFF3 cmp [ebp+arg_8], 0 .text:30D2DFF7 jle loc_30D2E0EE .text:30D2DFFD mov eax, [esi] .text:30D2DFFF mov eax, [eax+38h] .text:30D2E002 test eax, eax .text:30D2E004 jz loc_30D2E0EE .text:30D2E00A call eax .text:30D2E00C mov eax, [esi] .text:30D2E00E mov eax, [eax+30h] .text:30D2E011 test eax, eax .text:30D2E013 jz loc_30D2E0EE .text:30D2E019 push edi .text:30D2E01A push 4 .text:30D2E01C pop edi .text:30D2E01D push edi .text:30D2E01E lea ecx, [ebp+arg_0] .text:30D2E021 push ecx .text:30D2E022 push 2 .text:30D2E024 call eax .text:30D2E026 mov eax, [esi] .text:30D2E028 push edi .text:30D2E029 lea ecx, [ebp+var_4] .text:30D2E02C push ecx .text:30D2E02D push 0C352h .text:30D2E032 mov [ebp+var_4], offset sub_30D2DFD0 .text:30D2E039 call dword ptr [eax+30h] .text:30D2E03C mov eax, [esi] .text:30D2E03E push edi .text:30D2E03F lea ecx, [ebp+var_8] .text:30D2E042 push ecx .text:30D2E043 push 0C351h .text:30D2E048 mov [ebp+var_8], offset sub_30D2D5DA .text:30D2E04F call dword ptr [eax+30h] .text:30D2E052 mov eax, [esi] .text:30D2E054 push edi .text:30D2E055 lea ecx, [ebp+arg_10] .text:30D2E058 push ecx .text:30D2E059 push 0C353h .text:30D2E05E call dword ptr [eax+30h] .text:30D2E061 mov eax, [esi] .text:30D2E063 push edi .text:30D2E064 lea ecx, [ebp+var_C] .text:30D2E067 push ecx .text:30D2E068 push 9C41h .text:30D2E06D mov [ebp+var_C], offset unk_30DB20A0 .text:30D2E074 call dword ptr [eax+30h] .text:30D2E077 mov eax, [esi] .text:30D2E079 push edi .text:30D2E07A lea ecx, [ebp+var_10] .text:30D2E07D push ecx .text:30D2E07E push 9C42h .text:30D2E083 mov [ebp+var_10], 2EECh .text:30D2E08A call dword ptr [eax+30h] .text:30D2E08D mov eax, [esi] .text:30D2E08F add esp, 48h .text:30D2E092 push edi .text:30D2E093 lea ecx, [ebp+var_14] .text:30D2E096 push ecx .text:30D2E097 push 753Ah .text:30D2E09C mov [ebp+var_14], offset sub_30D2D41D .text:30D2E0A3 call dword ptr [eax+30h] .text:30D2E0A6 mov eax, [esi] .text:30D2E0A8 add esp, 0Ch .text:30D2E0AB cmp dword ptr [eax+40h], 0 .text:30D2E0AF pop edi .text:30D2E0B0 jz short loc_30D2E0EE .text:30D2E0B2 push 8 ; size_t .text:30D2E0B4 lea eax, [ebp+var_1C] .text:30D2E0B7 push 0 ; int .text:30D2E0B9 push eax ; void * .text:30D2E0BA call memset .text:30D2E0BF mov eax, [esi] .text:30D2E0C1 mov ecx, [eax+28h] .text:30D2E0C4 mov [ebp+var_1C], ecx .text:30D2E0C7 mov ecx, [eax+2Ch] .text:30D2E0CA mov [ebp+var_18], ecx .text:30D2E0CD lea ecx, [ebp+var_1C] .text:30D2E0D0 push ecx .text:30D2E0D1 call dword ptr [eax+40h] .text:30D2E0D4 mov eax, [esi] .text:30D2E0D6 mov eax, [eax+48h] .text:30D2E0D9 add esp, 10h .text:30D2E0DC test eax, eax .text:30D2E0DE jz short loc_30D2E0EE .text:30D2E0E0 push [ebp+arg_8] .text:30D2E0E3 push [ebp+arg_4] .text:30D2E0E6 call eax .text:30D2E0E8 pop ecx .text:30D2E0E9 pop ecx .text:30D2E0EA mov al, 1 .text:30D2E0EC jmp short loc_30D2E0F0 .text:30D2E0EE ; --------------------------------------------------------------------------- .text:30D2E0EE .text:30D2E0EE loc_30D2E0EE: ; CODE XREF: sub_30D2DFE0+Dj .text:30D2E0EE ; sub_30D2DFE0+17j ... .text:30D2E0EE xor al, al .text:30D2E0F0 .text:30D2E0F0 loc_30D2E0F0: ; CODE XREF: sub_30D2DFE0+10Cj .text:30D2E0F0 pop esi .text:30D2E0F1 leave .text:30D2E0F2 retn 14h .text:30D2E0F2 sub_30D2DFE0 endp .text:30D2E0F2
跟踪一段算法到上面的code,當執行到.text:30D2E00A Call EAX時
EAX=016693EC然後我查看OD裡所有載入的DLL並沒有這個內存範圍的DLL
不過看OD上所的狀態還是在thread00000D80 還是在同一個DLL,請問這是不是
用虛擬機保護住核心代碼所會發生的問題呢?
謝謝
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
看原图
赞赏
雪币:
留言: