首页
社区
课程
招聘
[求助]ASPrtect V2.0x API函数加密如何入手??
发表于: 2005-12-17 20:49 4428

[求助]ASPrtect V2.0x API函数加密如何入手??

2005-12-17 20:49
4428
//33次异常后 然后往上找到OEP后,dump。。。。。  修复IAT 成功。0063DC44 2>  55                push ebp
0063DC45     8BEC              mov ebp,esp
0063DC47     6A FF             push -1
0063DC49     68 807E6700       push 2_.00677E80
0063DC4E     68 CCDD6300       push <jmp.&msvcrt._except_handler3>
0063DC53     64:A1 00000000    mov eax,dword ptr fs:[0]
0063DC59     50                push eax
0063DC5A     64:8925 00000000  mov dword ptr fs:[0],esp
0063DC61     83EC 68           sub esp,68
0063DC64     53                push ebx
0063DC65     56                push esi
0063DC66     57                push edi
0063DC67     8965 E8           mov dword ptr ss:[ebp-18],esp
0063DC6A     33DB              xor ebx,ebx
0063DC6C     895D FC           mov dword ptr ss:[ebp-4],ebx
0063DC6F     6A 02             push 2
0063DC71     E8 8A239B00       call 00FF0000     ★★★★被挪动的部分
0063DC76     95                xchg eax,ebp
0063DC77     59                pop ecx
0063DC78     830D 5C446C00 FF  or dword ptr ds:[6C445C],FFFFFFFF
0063DC7F     830D 60446C00 FF  or dword ptr ds:[6C4460],FFFFFFFF
0063DC86     FF15 D8106700     call dword ptr ds:[<&msvcrt.__p__fmo>; msvcrt.__p__fmode
0063DC8C     8B0D 04406C00     mov ecx,dword ptr ds:[6C4004]
0063DC92     8908              mov dword ptr ds:[eax],ecx
0063DC94     FF15 DC106700     call dword ptr ds:[<&msvcrt.__p__com>; msvcrt.__p__commode
0063DC9A     8B0D 00406C00     mov ecx,dword ptr ds:[6C4000]
0063DCA0     8908              mov dword ptr ds:[eax],ecx
0063DCA2     A1 E0106700       mov eax,dword ptr ds:[<&msvcrt._adju>
0063DCA7     8B00              mov eax,dword ptr ds:[eax]
0063DCA9     A3 58446C00       mov dword ptr ds:[6C4458],eax
0063DCAE     E8 58010000       call 2_.0063DE0B
0063DCB3     391D 50B26B00     cmp dword ptr ds:[6BB250],ebx
0063DCB9     75 0C             jnz short 2_.0063DCC7
0063DCBB     68 08DE6300       push 2_.0063DE08
0063DCC0     FF15 E4106700     call dword ptr ds:[<&msvcrt.__setuse>; msvcrt.__setusermatherr
0063DCC6     59                pop ecx
0063DCC7     E8 24010000       call 2_.0063DDF0
0063DCCC     68 9C566B00       push 2_.006B569C
0063DCD1     68 98566B00       push 2_.006B5698
0063DCD6     E8 0F010000       call <jmp.&msvcrt._initterm>
0063DCDB     A1 FC3F6C00       mov eax,dword ptr ds:[6C3FFC]
0063DCE0     8945 94           mov dword ptr ss:[ebp-6C],eax
0063DCE3     8D45 94           lea eax,dword ptr ss:[ebp-6C]
0063DCE6     50                push eax
0063DCE7     FF35 F83F6C00     push dword ptr ds:[6C3FF8]
0063DCED     8D45 9C           lea eax,dword ptr ss:[ebp-64]
0063DCF0     50                push eax
0063DCF1     8D45 90           lea eax,dword ptr ss:[ebp-70]
0063DCF4     50                push eax
0063DCF5     8D45 A0           lea eax,dword ptr ss:[ebp-60]
0063DCF8     50                push eax
0063DCF9     FF15 EC106700     call dword ptr ds:[<&msvcrt.__getmai>; msvcrt.__getmainargs
0063DCFF     68 94566B00       push 2_.006B5694
0063DD04     68 00506B00       push 2_.006B5000
0063DD09     E8 DC000000       call <jmp.&msvcrt._initterm>
0063DD0E     83C4 24           add esp,24
0063DD11     A1 F0106700       mov eax,dword ptr ds:[<&msvcrt._acmd>
0063DD16     8B30              mov esi,dword ptr ds:[eax]
0063DD18     8975 8C           mov dword ptr ss:[ebp-74],esi
0063DD1B     803E 22           cmp byte ptr ds:[esi],22
0063DD1E     75 3A             jnz short 2_.0063DD5A
0063DD20     46                inc esi
0063DD21     8975 8C           mov dword ptr ss:[ebp-74],esi
0063DD24     8A06              mov al,byte ptr ds:[esi]
0063DD26     3AC3              cmp al,bl
0063DD28     74 04             je short 2_.0063DD2E
0063DD2A     3C 22             cmp al,22
0063DD2C   ^ 75 F2             jnz short 2_.0063DD20
0063DD2E     803E 22           cmp byte ptr ds:[esi],22
0063DD31     75 04             jnz short 2_.0063DD37
0063DD33     46                inc esi
0063DD34     8975 8C           mov dword ptr ss:[ebp-74],esi
0063DD37     8A06              mov al,byte ptr ds:[esi]
0063DD39     3AC3              cmp al,bl
0063DD3B     74 04             je short 2_.0063DD41
0063DD3D     3C 20             cmp al,20
0063DD3F   ^ 76 F2             jbe short 2_.0063DD33
0063DD41     895D D0           mov dword ptr ss:[ebp-30],ebx
0063DD44     8D45 A4           lea eax,dword ptr ss:[ebp-5C]
0063DD47     50                push eax
0063DD48     E8 B3229B00       call 00FF0000   ★★★★
0063DD4D     32F6              xor dh,dh
0063DD4F     45                inc ebp
0063DD50     D001              rol byte ptr ds:[ecx],1
0063DD52     74 11             je short 2_.0063DD65
0063DD54     0FB745 D4         movzx eax,word ptr ss:[ebp-2C]
0063DD58     EB 0E             jmp short 2_.0063DD68
0063DD5A     803E 20           cmp byte ptr ds:[esi],20
0063DD5D   ^ 76 D8             jbe short 2_.0063DD37
0063DD5F     46                inc esi
0063DD60     8975 8C           mov dword ptr ss:[ebp-74],esi
0063DD63   ^ EB F5             jmp short 2_.0063DD5A
0063DD65     6A 0A             push 0A
0063DD67     58                pop eax
0063DD68     50                push eax
0063DD69     56                push esi
0063DD6A     53                push ebx
0063DD6B     53                push ebx
0063DD6C     E8 8F229B00       call 00FF0000  ★★★★
0063DD71     0C 50             or al,50
0063DD73     E8 5C4DFDFF       call 2_.00612AD4
0063DD78     8945 98           mov dword ptr ss:[ebp-68],eax
0063DD7B     50                push eax
0063DD7C     FF15 C0116700     call dword ptr ds:[<&msvcrt.exit>]   ; msvcrt.exit
0063DD82     8B45 EC           mov eax,dword ptr ss:[ebp-14]
0063DD85     8B08              mov ecx,dword ptr ds:[eax]
0063DD87     8B09              mov ecx,dword ptr ds:[ecx]
0063DD89     894D 88           mov dword ptr ss:[ebp-78],ecx
0063DD8C     50                push eax
0063DD8D     51                push ecx
0063DD8E     E8 4B000000       call <jmp.&msvcrt._XcptFilter>
0063DD93     59                pop ecx
0063DD94     59                pop ecx
0063DD95     C3                retn

F7步进 打开跟踪记录   

00FF0000                jmp short 00FF0003
00FF0003                push edx                                        
00FF0004                pushfd                                        
00FF0005                mov edx,44849E       
00FF000A                add edx,dword ptr ss:[esp+18]       
00FF000E                sub esp,20                                     
00FF0011                add edx,ebp       
00FF0013                lea edx,dword ptr ss:[ebp+esi+25]       
00FF0017                lea edx,dword ptr ss:[esp+29]       
00FF001B                sub edx,29       
00FF001E                prefix repne:
00FF0022                mov dword ptr ds:[edx+1C],edi
00FF0025                xor edi,dword ptr ss:[esp+8]       
00FF0029                mov edi,4352DA       
00FF002E                jmp short 00FF0032
00FF0032                push eax                                        
00FF0033                pop dword ptr ds:[edx]
00FF0037                sub eax,61       
00FF003A                prefix repne:
00FF003E                mov eax,479566       
00FF0043                push ebp                                        
00FF0044                pop dword ptr ds:[edx+14]
00FF0047                adc ebp,ecx       
00FF0049                mov dword ptr ds:[edx+18],esi
00FF004C                sub esi,9       
00FF004F                rol esi,5       
00FF0052                push ebx                                          
00FF0053                pop dword ptr ds:[edx+C]
00FF0056                sub ebx,6C1986E4       
00FF005C                mov dword ptr ds:[edx+4],ecx
00FF005F                mov ecx,477F16       
00FF0064                add ecx,dword ptr ss:[esp+38]
00FF0068                mov edi,47F7D2       
...............
00FF00F1                mov edi,40EED2       
00FF00F6                xor edi,dword ptr ss:[esp+28]       
00FF00FA                push 0E3085C
00FF00FF                jmp short 00FF0104
00FF0104                lea edi,dword ptr ds:[ebx+ecx+43429E]       
00FF010B                pop edi                                          
00FF010C                push edi                                          
00FF010D                or edi,edi
00FF010F                sbb edx,49       
00FF0112                xor edx,dword ptr ss:[esp+28]       
00FF0116                prefix rep:
00FF011B                push 0DF9EE0
00FF0120                mov edx,408FA6
00FF0125                sub edx,2F       
00FF0128                pop edx
00FF0129                call edx                
.....
.....

如何解决呢?什么办法可以绕过API加密。 还原成原代码??

帮忙看看 谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看过的兄弟们 能不能给点提示??
2005-12-17 21:29
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
哈哈,这个是加密过的API
2005-12-17 23:25
0
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
请问怎么下手?
2005-12-19 13:57
0
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
有脱文的,打补丁。
2005-12-19 19:20
0
游客
登录 | 注册 方可回帖
返回
//