- UID
- 6475
注册时间2006-1-5
阅读权限30
最后登录1970-1-1
龙战于野
TA的每日心情 | 开心 2024-4-24 14:45 |
---|
签到天数: 188 天 [LV.7]常住居民III
|
今天下了个fsg2.0的脱壳录象,看了下,发现fsg2.0的壳确实很好脱。下面我就来和大家分享一下这个壳的脱法。
用od载入后来到这里:
00400154 [P> 8725 10384200 xchg dword ptr ds:[423810],esp
0040015A 61 popad
0040015B 94 xchg eax,esp
0040015C 55 push ebp
0040015D A4 movs byte ptr es:[edi],byte ptr ds:[esi]
0040015E B6 80 mov dh,80
00400160 FF13 call dword ptr ds:[ebx]
00400162 ^ 73 F9 jnb short [PYG]Cra.0040015D ; 这里往回跳
00400164 33C9 xor ecx,ecx ; f4来到这里
00400166 FF13 call dword ptr ds:[ebx]
00400168 73 16 jnb short [PYG]Cra.00400180
0040016A 33C0 xor eax,eax
0040016C FF13 call dword ptr ds:[ebx]
0040016E 73 1F jnb short [PYG]Cra.0040018F
00400170 B6 80 mov dh,80
00400172 41 inc ecx
00400173 B0 10 mov al,10
00400175 FF13 call dword ptr ds:[ebx]
00400177 12C0 adc al,al
00400179 ^ 73 FA jnb short [PYG]Cra.00400175 ; 往回跳
0040017B 75 3A jnz short [PYG]Cra.004001B7 ; f4来到这里
0040017D AA stos byte ptr es:[edi]
0040017E ^ EB E0 jmp short [PYG]Cra.00400160 ; 回跳
00400180 FF53 08 call dword ptr ds:[ebx+8] ; f4来到这里
00400183 02F6 add dh,dh
00400185 83D9 01 sbb ecx,1
00400188 75 0E jnz short [PYG]Cra.00400198
0040018A FF53 04 call dword ptr ds:[ebx+4]
0040018D EB 24 jmp short [PYG]Cra.004001B3 ;跳到004001B3
0040018F AC lods byte ptr ds:[esi]
004001B3 8BC5 mov eax,ebp ; 来到004001b3
004001B5 B6 00 mov dh,0
004001B7 56 push esi
004001B8 8BF7 mov esi,edi
004001BA 2BF0 sub esi,eax
004001BC F3:A4 rep movs byte ptr es:[edi],byte ptr ds:[esi]
004001BE 5E pop esi
004001BF ^ EB 9F jmp short [PYG]Cra.00400160 ; 回跳
004001C1 5E pop esi ; f4到这里
004001C2 AD lods dword ptr ds:[esi]
004001C3 97 xchg eax,edi
004001C4 AD lods dword ptr ds:[esi]
004001C5 50 push eax
004001C6 FF53 10 call dword ptr ds:[ebx+10]
004001C9 95 xchg eax,ebp
004001CA 8B07 mov eax,dword ptr ds:[edi]
004001CC 40 inc eax
004001CD ^ 78 F3 js short [PYG]Cra.004001C2
004001CF 75 03 jnz short [PYG]Cra.004001D4 ; 到这里千万不能往下跳,跳就飞了。
004001D1 - FF63 0C jmp dword ptr ds:[ebx+C] ; 这里用f4到这里后,再按f8就可以跳到程序的oep了
0040169C 68 db 68 ; 这里就是程序的oep,脱壳就行了。
0040169D E4 db E4
0040169E 9A db 9A
0040169F 40 db 40 ; CHAR '@'
004016A0 00 db 00
004016A1 E8 db E8
004016A2 EE db EE
004016A3 FF db FF
004016A4 FF db FF
004016A5 FF db FF
004016A6 00 db 00
文中没说的地方都用f8过,脱壳完成后不用修复了就行了。
[ 本帖最后由 cxx17 于 2006-3-22 11:48 编辑 ] |
|