[DOC]Aspack2.11脱壳笔记

 

  最近正在学点脱壳..从网上找来手动脱壳入门十八篇.刚看到第四篇讲Aspack2.11的脱壳..看了前面的UPX脱壳.感觉入门的东东.应该不会太难..So,来自己先脱一次..脱不了再看教程..:)..说干就干..

PEID查了是Aspack2.11  OD载入.选择不继续分析.忽略所有异常 .

0040D001   60              pushad                                    //停在这里
0040D002    E9 3D040000     jmp     0040D444        //F8跳下来
0040D007    45              inc     ebp
0040D008    71 8C           jno     short 0040CF96

0040D444    81DD 719D2555   sbb     ebp, 55259D71  //来到这里
0040D44A    E8 14000000     call    0040D463                 //大虾说过近CALL用F8的话有时会跑飞.F7进去
0040D44F    47              inc     edi

0040D463    BA 6755B65A     mov     edx, 5AB65567    //来到这里
0040D468    81D2 19620C9A   adc     edx, 9A0C6219
0040D46E    59              pop     ecx
0040D46F    80CE E3         or      dh, 0E3
0040D472    81C2 A9B064F1   add     edx, F164B0A9
0040D478    E9 14000000     jmp     0040D491
0040D47D    831F D5         sbb     dword ptr [edi], -2B
0040D480    0D 39B210A9     or      eax, A910B239
0040D485    47              inc     edi
0040D486    E0 6E           loopdne short 0040D4F6
0040D488    62A1 C4B4E6F3   bound   esp, qword ptr [ecx+F3E6B4C4]
0040D48E    42              inc     edx
0040D48F    B6 4A           mov     dh, 4A
0040D491    51              push    ecx
0040D492    BD 69806869     mov     ebp, 69688069
0040D497    0FBFEF          movsx   ebp, di
0040D49A    5E              pop     esi
0040D49B    66:8BFB         mov     di, bx
0040D49E    E9 14000000     jmp     0040D4B7
0040D4A3    E7 07           out     7, eax
0040D4A5    A6              cmps    byte ptr [esi], byte ptr es:[edi>
0040D4A6    DBC1            fcmovnb st, st(1)
0040D4A8    6F              outs    dx, dword ptr es:[edi]
0040D4A9    B8 A733D035     mov     eax, 35D033A7
0040D4AE    58              pop     eax

0040D536  ^/E9 00FFFFFF     jmp     0040D43B       //一直F8到这里.往回跳了
0040D53B    A9 55C3500F     test    eax, 0F50C355  //F4到这句程序会跑飞.
0040D540    50              push    eax
0040D541    DCFF            fdiv    st(7), s

 

跑飞了只有重新来过.第一个CALL进后.感觉一直在计算什么东东..(汇编差..正在一边学Crack,一边学ASM,只能先感觉一下)..所以直接CTRL+F9下来.

004010CC    55              push    ebp    //然后到这里
004010CD    8BEC            mov     ebp, esp
004010CF    83EC 44         sub     esp, 44
004010D2    56              push    esi
004010D3    FF15 E4634000   call    dword ptr [4063E4]               ; kernel32.GetCommandLineA

看了一下ESP,0013FFC4!!好眼熟..以前看过一下堆栈平衡原理..大部分壳跳到OEP以前的时候都要还原堆栈..

!!难道这就是OEP?管他呢..DUMP出来看看就知道了..直接在这里DUMP..程序能运行..所有功能正常..开心!!

 

这就算是第一次手动脱壳吧.虽然大部分是靠运气..还是蛮开心的..记下来..作个纪念,抓紧时间学汇编..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ASPack 全自动脱壳是指通过使用特定的软件工具来自动解压被 ASPack 打包加壳的可执行文件。ASPack 是一款常用的可执行文件压缩软件,它能够将程序代码进行压缩,减小文件体积,并添加加密保护,使得逆向工程更加困难。 实现 ASPack 全自动脱壳需要借助于一些反病毒、反调试工具或专门的脱壳器。这些工具能够自动检测和解析被 ASPack 打包的文件,找到加壳程序代码的入口点,并将压缩的代码还原为原始的可执行文件。 ASPack 全自动脱壳的步骤通常包括以下几个阶段: 1. 选择适当的脱壳工具:根据具体的需求,选择能够支持 ASpack 解压的脱壳工具或软件。 2. 加载被加壳的可执行文件:将需要脱壳的文件加载到脱壳工具中。 3. 设置脱壳参数:根据加壳文件的特点,设置脱壳的参数,例如加壳文件的版本、解密算法等。 4. 运行脱壳工具:运行脱壳工具进行解壳操作,工具会自动检测解密代码的位置,并将压缩的代码还原。 5. 生成解壳后的文件:脱壳工具将解密后的代码写入新的文件中,生成一个解壳后的可执行文件。 6. 执行解壳后的文件:最后,可以执行解壳后的文件,得到原始的可执行程序。 当然,不同的加壳程序可能具有不同的特征和算法,因此实际操作过程可能有所差异。对于一些特别复杂的加壳程序或者高级的保护机制,可能需要更加专业的工具或技术来完成全自动脱壳。 ### 回答2: ASPack是一款常用的可执行文件压缩工具,用于减小可执行文件的体积。全自动脱壳是指通过一系列的技术手段,自动化地将ASPack压缩的可执行文件进行解压,恢复成原始的可执行文件。 实现ASPack全自动脱壳主要包括以下步骤: 1. 静态分析:通过逆向工程,对ASPack压缩的可执行文件进行静态分析,了解其内部结构和机制,如标识符、函数调用等。 2. 自动解包:根据静态分析的结果,编写自动化脚本或程序,对ASPack压缩的可执行文件进行解包。解包的过程可能包括找到压缩代码的入口点、定位密钥等。 3. 调试修复:解压后的文件可能由于压缩导致一些问题,例如跳转地址错误,数据部分错误等。通过调试可执行文件,修复这些问题,使得解压后的文件能够正确地执行。 4. 重构源代码:通过静态分析和调试修复,获取到解压后的可执行文件。如果需要对其进行二次开发或其他操作,可以将其转化为源代码形式,以方便进一步的操作。 尽管实现ASPack全自动脱壳需要一定的技术和经验,但是通过静态分析和自动化脚本,可以有效地减少手动操作的工作量,提高脱壳的效率和准确性。这对于安全研究人员和开发人员来说,是一个非常有用的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值