飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2487|回复: 4

小儿垂钓教第一课的作业==俺菜鸟用四种方法脱作业一的壳

[复制链接]
  • TA的每日心情

    2022-1-22 22:38
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2006-3-15 18:34:42 | 显示全部楼层 |阅读模式
    小儿垂钓教第一课的作业==四种方法脱作业一的壳

    学员 小儿垂钓 教 第一课的作业

    四种方法脱作业一的壳

    =================================================================
    查壳:

    用Peid查壳为:ASPack 2.12 -> Alexey Solodovnikov

    步骤:将目标程序  作业1 用鼠标左键托到Peid上,显示为:
    ASPack 2.12 -> Alexey Solodovnikov
    =================================================================

    脱壳:我会四种方法!!



    方法一  用ESP定律脱壳。

    步骤:用OD载入程序,停在:
    00405001 >  60                pushad
    00405002    E8 03000000       call 作业1.0040500A
    00405007  - E9 EB045D45       jmp 459D54F7
    0040500C    55                push ebp
    0040500D    C3                retn
    0040500E    E8 01000000       call 作业1.00405014

    用F8单步跟踪!(按一次ESP的值突现)

    在Command中下断点 : dd 12ffa4

    在内存框中
    0012FFA4  7C930738  ntdll.7C930738         <--- 右键--硬件访问word
    0012FFA8  FFFFFFFF
    0012FFAC  0012FFF0
    0012FFB0  0012FFC4
    0012FFB4  7FFDA000
    0012FFB8  7C92EB94  ntdll.KiFastSystemCallRet

    然后再F8 单步跟踪来到

    004053B0   /75 08             jnz short 作业1.004053BA
    004053B2   |B8 01000000       mov eax,1
    004053B7   |C2 0C00           retn 0C
    004053BA   \68 28114000       push 作业1.00401128
    004053BF    C3                retn                     <--返回程序的入口点
    F8 单步跟踪来到

    00401128    68 541C4000       push 作业1.00401C54                       ; SFX 代码真实入口点            右键脱壳在当前进程!
    0040112D    E8 F0FFFFFF       call 作业1.00401122                       ; jmp to msvbvm60.ThunRTMain
    00401132    0000              add byte ptr ds:[eax],al
    00401134    0000              add byte ptr ds:[eax],al
    00401136    0000              add byte ptr ds:[eax],al
    00401138    3000              xor byte ptr ds:[eax],al
    0040113A    0000              add byte ptr ds:[eax],al


    脱壳后的文件可以运行!为Microsoft Visual Basic 5.0 / 6.0  所写的程序!

    =================================================================

    方法二:用Q-unpack
    打开文件   --- 检测----脱壳就ok了,真的很简单唉!!!

    =================================================================

    方法三用od单步跟踪!

    00405001 >  60                pushad
    00405002    E8 03000000       call 作业1.0040500A                     <--用F7过,否则跑飞了!         
    00405007  - E9 EB045D45       jmp 459D54F7
    0040500C    55                push ebp
    0040500D    C3                retn
    0040500E    E8 01000000       call 作业1.00405014
    00405013    EB 5D             jmp short 作业1.00405072

    然后
    0040500A    5D                pop ebp                                 ; 作业1.00405007
    0040500B    45                inc ebp
    0040500C    55                push ebp
    0040500D    C3                retn



    00405008   /EB 04             jmp short 作业1.0040500E
    0040500A   |5D                pop ebp
    0040500B   |45                inc ebp
    0040500C   |55                push ebp
    0040500D   |C3                retn
    0040500E   \E8 01000000       call 作业1.00405014                     <--用F7过,否则跑飞了!      

    00405014    5D                pop ebp                                 ; 作业1.00405013
    00405015    BB EDFFFFFF       mov ebx,-13
    0040501A    03DD              add ebx,ebp
    0040501C    81EB 00500000     sub ebx,5000
    00405022    83BD 22040000 00  cmp dword ptr ss:[ebp+422],0
    00405029    899D 22040000     mov dword ptr ss:[ebp+422],ebx



    0040513C   /74 04             je short 作业1.00405142
    0040513E   |43                inc ebx
    0040513F   |49                dec ecx
    00405140  ^|EB EB             jmp short 作业1.0040512D
    00405142   \8B06              mov eax,dword ptr ds:[esi]               断点 运行到所选
    00405144    EB 00             jmp short 作业1.00405146



    0040515A    83E9 05           sub ecx,5
    0040515D  ^ EB CE             jmp short 作业1.0040512D
    0040515F    5B                pop ebx                                   断点 运行到所选
    00405160    5E                pop esi

    004053AF    61                popad
    004053B0    75 08             jnz short 作业1.004053BA
    004053B2    B8 01000000       mov eax,1
    004053B7    C2 0C00           retn 0C
    004053BA    68 00000000       push 0
    004053BF    C3                retn                                      返回程序入口点

    F8 就ok了
    然后dump!

    =================================================================
    方法四
    直达入口法ctrl+F  输入 popad

    004053AF    61                popad
    004053B0    75 08             jnz short 作业1.004053BA
    004053B2    B8 01000000       mov eax,1
    004053B7    C2 0C00           retn 0C
    004053BA    68 00000000       push 0
    004053BF    C3                retn                                      返回程序入口点


    然后就和上面的一样了,呵呵!!

    程序语言为 :Microsoft Visual Basic 5.0 / 6.0
    ==================================================================================================================================
    最后疑问:


    用od很方便
    但是用w32dasm分析时,怎么复制代码呀?有谁知道呀?给我指点指点!!
    qq:380269307(飘云阁学员)

    如果对以上有疑问请加qq或者在飘云阁的学员群讨论!

    [ 本帖最后由 小儿垂钓 于 2006-3-15 10:40 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-3-18 09:39:30 | 显示全部楼层
    将鼠标移到W32DASM的最左边单击,将会出现一个小红点,再按住shift键,移到你需要的下一行,再单击鼠标一下,将选中一段,按CTRL+C复制或在菜单选项反汇编里的拷贝指定的行(Copy Lines of Text)功能或按,把数据复制即可
    PYG19周年生日快乐!
  • TA的每日心情

    2022-1-22 22:38
  • 签到天数: 16 天

    [LV.4]偶尔看看III

     楼主| 发表于 2006-3-20 21:31:16 | 显示全部楼层
    谢谢大侠的指导!
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2024-12-26 09:55
  • 签到天数: 88 天

    [LV.6]常住居民II

    发表于 2006-3-21 20:06:18 | 显示全部楼层
    条条道路通脱壳。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2006-3-25 22:30:26 | 显示全部楼层
    原帖由 hyd009 于 2006-3-18 01:39 发表
    将鼠标移到W32DASM的最左边单击,将会出现一个小红点,再按住shift键,移到你需要的下一行,再单击鼠标一下,将选中一段,按CTRL+C复制或在菜单选项反汇编里的拷贝指定的行(Copy Lines of Text)功能或按,把数 ...


    又学习到了一招。。。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表