首页
社区
课程
招聘
[求助]算法疑問
2014-3-22 17:56 2273

[求助]算法疑問

2014-3-22 17:56
2273
.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,請問這是不是
用虛擬機保護住核心代碼所會發生的問題呢?
謝謝

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回