首页
社区
课程
招聘
大家帮我看看这个壳是怎么回事
2004-8-15 21:04 4634

大家帮我看看这个壳是怎么回事

2004-8-15 21:04
4634
0040D015 83C4 08 add esp, 8 我们被带到这里。
0040D018 6A 10 push 10
0040D01A 8BD8 mov ebx, eax
0040D01C 66:05 2D00 add ax, 2D
0040D020 50 push eax
0040D021 52 push edx
0040D022 6A 00 push 0
0040D024 8B1B mov ebx, dword ptr ds:[ebx] ebx中被放入40d047
0040D026 FF13 call dword ptr ds:[ebx] 再次单步异常。
0040D028 6A FF push -1
0040D02A FF53 0C call dword ptr ds:[ebx+C]

0040D047 0000 add byte ptr ds:[eax], al 到哪里一看,空地址无代码,陷阱。
0040D049 0000 add byte ptr ds:[eax], al
0040D04B 0000 add byte ptr ds:[eax], al
0040D04D 0000 add byte ptr ds:[eax], al
0040D04F 0000 add byte ptr ds:[eax], al
0040D051 0000 add byte ptr ds:[eax], al

可以Shift+F7继续迷失在系统领空,我选择Ctrl+F2重来。
先F9运行,提示异常,这时加密的区段解压完毕,我们Ctrl+g,填入00405941,回车。
Shift+F9继续运行,提示单步异常。Shift+F9继续,呵顺利通过单步异常,F2取消断点。

00405941 /75 21 jnz short Notepad.00405964 到这里,F8慢慢往下运行。
00405943 |81EE B7570000 sub esi, 57B7
00405949 |0FB64E 06 movzx ecx, byte ptr ds:[esi+6]
0040594D |6BC9 0A imul ecx, ecx, 0A
00405950 |66:81C1 3E00 add cx, 3E
00405955 |331E xor ebx, dword ptr ds:[esi]
00405957 |D3C3 rol ebx, cl
00405959 |83C6 04 add esi, 4
0040595C |49 dec ecx
0040595D ^|75 F6 jnz short Notepad.00405955
0040595F |3958 04 cmp dword ptr ds:[eax+4], ebx
00405962 |74 08 je short Notepad.0040596C
00405964 \83C4 2A add esp, 2A
00405967 - E9 A9760000 jmp Notepad.0040D015 这里这次没运行,被处理掉了。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
0040596C BE 00600000 mov esi, 6000
00405971 03F5 add esi, ebp
00405973 8D8D 00080000 lea ecx, dword ptr ss:[ebp+800]
00405979 8BD8 mov ebx, eax
0040597B 833E 00 cmp dword ptr ds:[esi], 0
0040597E 0F84 0E020000 je Notepad.00405B92 大跳转,可能是循环出口。
00405984 51 push ecx
00405985 51 push ecx
00405986 FF95 90070000 call dword ptr ss:[ebp+790]
0040598C 85C0 test eax, eax
0040598E 0F84 DF000000 je Notepad.00405A73 大跳转,可能是循环出口。
00405994 8BF8 mov edi, eax ; SHELL32.#584
00405996 0340 3C add eax, dword ptr ds:[eax+3C]
00405999 8B40 78 mov eax, dword ptr ds:[eax+78]
0040599C FF7438 18 push dword ptr ds:[eax+edi+18]
004059A0 8B4C38 24 mov ecx, dword ptr ds:[eax+edi+24]
004059A4 03CF add ecx, edi
004059A6 51 push ecx
004059A7 8B4C38 20 mov ecx, dword ptr ds:[eax+edi+20]
004059AB 03CF add ecx, edi
004059AD 51 push ecx
004059AE FF7438 10 push dword ptr ds:[eax+edi+10]
004059B2 FF7438 14 push dword ptr ds:[eax+edi+14]
004059B6 8B4438 1C mov eax, dword ptr ds:[eax+edi+1C]

我每次按都按教程运行到00405967就进去了(教程上说是被处理掉了) 又走了几行就不行了,这种SEH的东西该怎么样搞

呢,以下是我运行时的情况
0040D015    83C4 08         ADD ESP,8
0040D018    6A 10           PUSH 10
0040D01A    8BD8            MOV EBX,EAX
0040D01C    66:05 2D00      ADD AX,2D
0040D020    50              PUSH EAX
0040D021    52              PUSH EDX
0040D022    6A 00           PUSH 0
0040D024    8B1B            MOV EBX,DWORD PTR DS:[EBX]
0040D026    FF13            CALL DWORD PTR DS:[EBX]                 每次到这里就挂了,再也不能动了
0040D028    6A FF           PUSH -1
0040D02A    FF53 0C         CALL DWORD PTR DS:[EBX+C]
0040D02D    45              INC EBP
0040D02E    52              PUSH EDX
0040D02F    52              PUSH EDX
0040D030    4F              DEC EDI
0040D031    52              PUSH EDX
0040D032    2100            AND DWORD PTR DS:[EAX],EAX
0040D034    43              INC EBX
0040D035    6F              OUTS DX,DWORD PTR ES:[EDI]               ; I/O 命令
0040D036    72 72           JB SHORT Notepad.0040D0AA
0040D038  ^ 75 D9           JNZ SHORT Notepad.0040D013
0040D03A    D7              XLAT BYTE PTR DS:[EBX+AL]
0040D03B  - 71 AC           JNO SHORT Notepad.0040CFE9
0040D03D  - E0 B9           LOOPDNE SHORT Notepad.0040CFF8
0040D03F    58              POP EAX
0040D040    098E CDC22DD8   OR DWORD PTR DS:[ESI+D82DC2CD],ECX
0040D046    58              POP EAX

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

收藏
点赞1
打赏
分享
最新回复 (8)
雪    币: 896
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
fly 85 2004-8-15 21:43
2
0
脱的什么壳
雪    币: 216
活跃值: (115)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
restxx 2 2004-8-15 22:10
3
0
我明明上传了这个记事本的,怎么找到到了呢,是不是因为我把上传后文本框的信息删了的原因
雪    币: 896
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
fly 85 2004-8-15 22:15
4
0
Petite 简便脱壳方法

XP+OD
忽略所有异常
HE EIP
SHIFT+F9
OK

记得在坛子里说过
雪    币: 216
活跃值: (115)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
restxx 2 2004-8-15 22:30
5
0
我刚开始学脱壳,教程上要求“除了忽略在KERNEL32 中的内存访问异常打勾,其余一个勾都不打”照版主说的把所有的异常都搞没了,以后碰到难点的怎么办,我要的是造合初学者的方法,教程附带的录像却是全都勾了,三两下就完事了,可是我跟本就不知是怎么回事嘛
雪    币: 896
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
fly 85 2004-8-16 00:45
6
0
抱歉,不太清楚你看的是什么录像
某有些时候有简便的方法何不用之?
难道每个壳都要单步跟踪下去?
况且,做的多了,自然熟练,经验就有了
雪    币: 85389
活跃值: (198710)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
linhanshi 2004-8-16 00:59
7
0
fly说的很对,做的多了,自然熟练,经验就有了。
搞计算机的人就是这样,不要把问题想得太复杂化.
雪    币: 216
活跃值: (115)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
restxx 2 2004-8-16 02:45
8
0
就想调用API一样,不需要知道是怎么实现的,会用就行
雪    币: 221
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
Sen 1 2004-8-16 08:38
9
0
windows有时候给我们的只是鱼而不是渔啊~~
我觉得能理解为什么也挺好的不是么?
就像是为什么要忽略所有异常。
游客
登录 | 注册 方可回帖
返回