首页
社区
课程
招聘
[旧帖] [求助]一个已脱壳程序,第一个验证跳开,第二个验证跳不了? 0.00雪花
发表于: 2008-4-19 11:13 3727

[旧帖] [求助]一个已脱壳程序,第一个验证跳开,第二个验证跳不了? 0.00雪花

2008-4-19 11:13
3727
一个已脱壳的程序.
第一步验证

00404491  |. /0F84 27000000 je      004044BE    JE改成jmp就可以跳开,同样604也可以跳开  
00404497  |. |FFB5 E0FEFFFF push    dword ptr [ebp-120]              ; /hObject
0040449D  |. |E8 F8AE0000   call    <jmp.&kernel32.CloseHandle>      ; \CloseHandle
004044A2  |. |6A 40         push    40                               ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
004044A4  |. |68 3D304000   push    0040303D                         ; |提示
004044A9  |. |68 CF304000   push    004030CF                         ; |603验证失败或使用时间已到期,请重新购买验证码!
004044AE  |. |FF35 04104000 push    dword ptr [401004]               ; |hOwner = NULL
004044B4  |. |E8 01B00000   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
004044B9  |. |E9 740C0000   jmp     00405132
004044BE  |> \8B85 D7FEFFFF mov     eax, dword ptr [ebp-129]
004044C4  |.  8985 6EFDFFFF mov     dword ptr [ebp-292], eax
004044CA  |.  8B85 DBFEFFFF mov     eax, dword ptr [ebp-125]
004044D0  |.  8985 72FDFFFF mov     dword ptr [ebp-28E], eax

但是到605错误的时候
00405791   .  80BD ABFCFFFF>cmp     byte ptr [ebp-355], 32
00405798   .  0F85 34000000 jnz     004057D2
0040579E   .  80BD AAFCFFFF>cmp     byte ptr [ebp-356], 30
004057A5   .  0F85 27000000 jnz     004057D2
004057AB   .  80BD A9FCFFFF>cmp     byte ptr [ebp-357], 30
004057B2   .  0F85 1A000000 jnz     004057D2
004057B8   .  80BD A8FCFFFF>cmp     byte ptr [ebp-358], 37
004057BF   .  0F84 69000000 je      0040582E
004057C5   .  80BD A8FCFFFF>cmp     byte ptr [ebp-358], 38
004057CC   .  0F84 5C000000 je      0040582E  这里改了却跳不开,始终是错误605.这是为什么  
004057D2   >  6A 01         push    1                                ; /Length = 1
004057D4   .  8D85 ABFCFFFF lea     eax, dword ptr [ebp-355]         ; |
004057DA   .  50            push    eax                              ; |Destination
004057DB   .  E8 1A9C0000   call    <jmp.&kernel32.RtlZeroMemory>    ; \RtlZeroMemory
004057E0   .  6A 01         push    1                                ; /Length = 1
004057E2   .  8D85 AAFCFFFF lea     eax, dword ptr [ebp-356]         ; |
004057E8   .  50            push    eax                              ; |Destination
004057E9   .  E8 0C9C0000   call    <jmp.&kernel32.RtlZeroMemory>    ; \RtlZeroMemory
004057EE   .  6A 01         push    1                                ; /Length = 1
004057F0   .  8D85 A9FCFFFF lea     eax, dword ptr [ebp-357]         ; |
004057F6   .  50            push    eax                              ; |Destination
004057F7   .  E8 FE9B0000   call    <jmp.&kernel32.RtlZeroMemory>    ; \RtlZeroMemory
004057FC   .  6A 01         push    1                                ; /Length = 1
004057FE   .  8D85 A8FCFFFF lea     eax, dword ptr [ebp-358]         ; |
00405804   .  50            push    eax                              ; |Destination
00405805   .  E8 F09B0000   call    <jmp.&kernel32.RtlZeroMemory>    ; \RtlZeroMemory
0040580A   .  6A 40         push    40                               ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
0040580C   .  68 3D304000   push    0040303D                         ; |提示
00405811   .  68 2B314000   push    0040312B                         ; |605验证失败或使用时间已到期,请重新购买验证码!
00405816   .  FF35 04104000 push    dword ptr [401004]               ; |hOwner = NULL
0040581C   .  E8 999C0000   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
00405821   .  FF75 EC       push    dword ptr [ebp-14]               ; /hObject
00405824   .  E8 719B0000   call    <jmp.&kernel32.CloseHandle>      ; \CloseHandle
00405829   .  E9 C7160000   jmp     00406EF5
0040582E   >  6A 09         push    9                                ; /Length = 9

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 414
活跃值: (10)
能力值: ( LV9,RANK:460 )
在线值:
发帖
回帖
粉丝
2
估计在004057CC 以前已经实现跳转jnz     004057D2,需要nop掉。
2008-4-19 17:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
00404742   . /0F85 27000000 jnz     0040476F
00404748   . |80BD ECFDFFFF>cmp     byte ptr [ebp-214], 30
0040474F   . |0F85 1A000000 jnz     0040476F
00404755   . |80BD EFFDFFFF>cmp     byte ptr [ebp-211], 37
0040475C   . |0F84 6C000000 je      004047CE
00404762   . |80BD EFFDFFFF>cmp     byte ptr [ebp-211], 38
00404769   . |0F84 5F000000 je      004047CE
0040476F   > \6A 01         push    1                                ; /Length = 1      这个跳转来自 00404735, 00404742, 0040474F,把上边3处jnz全部改成jz还是跳不开605错误
00404771   .  8D85 EEFDFFFF lea     eax, dword ptr [ebp-212]         ; |
00404777   .  50            push    eax                              ; |Destination
00404778   .  E8 7DAC0000   call    <jmp.&kernel32.RtlZeroMemory>    ; \RtlZeroMemory
0040477D   .  6A 01         push    1                                ; /Length = 1
0040477F   .  8D85 EDFDFFFF lea     eax, dword ptr [ebp-213]         ; |
00404785   .  50            push    eax                              ; |Destination
00404786   .  E8 6FAC0000   call    <jmp.&kernel32.RtlZeroMemory>    ; \RtlZeroMemory
0040478B   .  6A 01         push    1                                ; /Length = 1
0040478D   .  8D85 ECFDFFFF lea     eax, dword ptr [ebp-214]         ; |
00404793   .  50            push    eax                              ; |Destination
00404794   .  E8 61AC0000   call    <jmp.&kernel32.RtlZeroMemory>    ; \RtlZeroMemory
00404799   .  6A 01         push    1                                ; /Length = 1
0040479B   .  8D85 EFFDFFFF lea     eax, dword ptr [ebp-211]         ; |
004047A1   .  50            push    eax                              ; |Destination
004047A2   .  E8 53AC0000   call    <jmp.&kernel32.RtlZeroMemory>    ; \RtlZeroMemory
004047A7   .  6A 40         push    40                               ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
004047A9   .  68 3D304000   push    0040303D                         ; |提示
004047AE   .  68 2B314000   push    0040312B                         ; |605验证失败或使用时间已到期,请重新购买验证码!
004047B3   .  FF35 04104000 push    dword ptr [401004]               ; |hOwner = NULL
004047B9   .  E8 FCAC0000   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
004047BE   .  FFB5 E0FEFFFF push    dword ptr [ebp-120]              ; /hObject
004047C4   .  E8 D1AB0000   call    <jmp.&kernel32.CloseHandle>      ; \CloseHandle

不知道这样分析方向错没错
2008-4-19 19:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
NOP掉也不行

还是没跳开  605
2008-4-19 19:19
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
5
00405791   .  80BD ABFCFFFF>cmp     byte ptr [ebp-355], 32
00405798   .  0F85 34000000 jnz     004057D2                        //nop
0040579E   .  80BD AAFCFFFF>cmp     byte ptr [ebp-356], 30
004057A5   .  0F85 27000000 jnz     004057D2                        //nop
004057AB   .  80BD A9FCFFFF>cmp     byte ptr [ebp-357], 30
004057B2   .  0F85 1A000000 jnz     004057D2                        //nop
004057B8   .  80BD A8FCFFFF>cmp     byte ptr [ebp-358], 37
004057BF   .  0F84 69000000 je      0040582E                         //jmp
004057C5   .  80BD A8FCFFFF>cmp     byte ptr [ebp-358], 38
004057CC   .  0F84 5C000000 je      0040582E
2008-4-19 19:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=大菜一号;443217]00405791   .  80BD ABFCFFFF>cmp     byte ptr [ebp-355], 32
00405798   .  0F85 34000000 jnz     004057D2                        //nop
0040579E   ....[/QUOTE]

还是不行
605没跳开。。







2008-4-19 21:50
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=ggg520;443277]还是不行
605没跳开。。







[/QUOTE]

605跳开了,刚刚测试,是606没跳开,下面自己跳
2008-4-19 22:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
  605.606都跳走了,没注意到605和606都有 2个
2008-4-19 23:09
0
游客
登录 | 注册 方可回帖
返回
//