轻松手动脱壳ASPack 2.12 Alexey Solodovnikov

文章标题】: 轻松手动脱壳ASPack 2.12 -> Alexey Solodovnikov
【文章作者】: cnstars
【作者邮箱】:
【作者QQ号】: 8202655
【软件名称】: *******投票机
【软件大小】: 0.835M
【下载地址】: 自己搜索下载
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【保护方式】: ASPack 2.12 -> Alexey Solodovnikov
【编写语言】: VB
使用工具】: OD、PEID
【操作平台】: WINXP+ SP2
【软件介绍】: *******投票机软件
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【方法介绍】: 通常采用ASPACK自动脱壳机和OLLYDBG手动脱壳
【经验总结】: 动态调试时到大的跳转即为OEP,然后DUMP,用ImportREC v1.6F修复输入表IAT即可。
线性驱动器
1、在ASPACK中PUSGAD 与POPAD 成对,到POPAD即离OEP 很近。
2、向未执行过的代码跳的语句按F8,往已执行过的代码跳的语句在下一句处按F4。脱壳过程中一定不能让它往执行过的代码区跳,想办法跳出循环圈,在回跳语句的下一句处按F4跳出。
--------------------------------------------------------------------------------
【详细过程】
脱壳前先用PEID查壳,得出为ASPack 2.12 -> Alexey Solodovnikov加壳类型。使用OD脱壳可增强手
modbus网关模块
动脱能力
00452001 >  60              pushad                      ; pushhad关键字 F8跳过
00452002    E8 03000000      call    0045200A            ; 关键CALL F7进入
00452007  - E9 EB045D45      jmp      45A224F7
0045200C    55              push    ebp
0045200D    C3              retn
=====进入call 0045200A代码区=====
00452008    /EB 04            jmp      short 0045200E
0045200A    5D              pop      ebp    ; fjsdmp-1.00452007(按F8,向前跳的按F8,往后跳的在下一句按F4)
0045200B    45              inc      ebp
0045200C    55              push    ebp
0045200D    C3              retn                ;第一次返回时,跳转到00452008
0045200E    E8 01000000      call    00452014    ;只有00452002和此处是关键CALL按F7进入,其他F8跳过
………………………进CALL后一路F8下来……………………
0045212D    0BC9            or      ecx, ecx
0045212F    74 2E            je      short 0045215F
00452131    78 2C            js      short 0045215F
00452133    AC              lods    byte ptr [esi]
00452134    3C E8            cmp      al, 0E8
00452136    74 0A            je      short 00452142
00452138    EB 00            jmp      short 0045213A
0045213A    3C E9            cmp      al, 0E9
自动甩干拖把
0045213C    74 04            je      short 00452142
0045213E    43              inc      ebx
0045213F    49              dec      ecx
00452140  ^ EB EB            jmp      short 0045212D  ; 不能让他朝回跳到0045212D,要在下一句处下断按F4
00452142    8B06   
mov      eax, [esi]        ; 按F4
00452144    EB 00            jmp      short 00452146
00452146    803E 05          cmp      byte ptr [esi], 5
00452149  ^ 75 F3            jnz      short 0045213E  ; 不能让他朝回跳到0045213E,要在下一句处下断按F4
0045214B    24 00            and      al, 0          ; 按F4
0045214D    C1C0 18          rol      eax, 18
00452150    2BC3            sub      eax, ebx
00452152    8906            mov      [esi], eax
00452154    83C3 05          add      ebx, 5
00452157    83C6 04          add      esi, 4
0045215A    83E9 05          sub      ecx, 5
0045215D  ^ EB CE            jmp      short 0045212D  ; 不能让他朝回跳到0045212D,要在下一句处下断按F4
0045215F    5B              pop      ebx              ; 按F4
00452160    5E              pop      esi
00452161    59              pop      ecx
00452162    58              pop      eax
00452163    EB 08            jmp      short 0045216D
………………………进JMP后一路F8下来……………………
0045216D    8BC8            mov      ecx, eax
0045216F    8B3E            mov      edi, [esi]
00452171    03BD 22040000    add      edi, [ebp+422]
00452177    8BB5 52010000    mov      esi, [ebp+152]
0045217D    C1F9 02          sar      ecx, 2
00452180    F3:A5            rep      movs dword ptr es:[edi], dword p>
00452182    8BC8            mov      ecx, eax
00452184    83E1 03          and      ecx, 3
00452187    F3:A4            rep      movs byte ptr es:[edi], byte ptr>
00452189    5E              pop      esi
0045218A    68 00800000      push    8000
0045218F    6A 00            push    0
00452191    FFB5 52010000    push    dword ptr [ebp+152]
00452197    FF95 51050000    call    [ebp+551]
0045219D    83C6 08          add      esi, 8
004521A0    833E 00          cmp      dword ptr [esi], 0
004521A3  ^ 0F85 1EFFFFFF    jnz      004520C7        ; 不能让他朝回跳到004520C7,要在下一句处下断按F4
004521A9    68 00800000      push    8000            ; 按F4下断
………………………进PUSH后一路F8下来……………………
彩油泥
00452305    /75 6F            jnz      short 00452376
00452307    |F7C3 00000080    test    ebx, 80000000
0045230D    |75 19            jnz      short 00452328
0045230F    |57              push    edi
00452310    |8B46 0C          mov      eax, [esi+C]
00452313    |0385 22040000    add      eax, [ebp+422]
00452319    |50              push    eax
0045231A    |53              push    ebx
0045231B    |8D85 75040000    lea      eax, [ebp+475]
00452321    |50              push    eax
00452322    |57              push    edi
00452323    |E9 98000000      jmp      004523C0
00452328    |81E3 FFFFFF7F    and      ebx, 7FFFFFFF
0045232E    |8B85 26040000    mov      eax, [ebp+426]
00452334    |3985 45050000    cmp      [ebp+545], eax
0045233A    |75 24            jnz
曲柄销
short 00452360
0045233C    |57              push    edi
0045233D    |8BD3            mov      edx, ebx
0045233F    |4A              dec      edx
00452340    |C1E2 02          shl      edx, 2
00452343    |8B9D 45050000    mov      ebx, [ebp+545]
00452349    |8B7B 3C          mov      edi, [ebx+3C]
0045234C    |8B7C3B 78        mov      edi, [ebx+edi+78]
00452350    |035C3B 1C        add      ebx, [ebx+edi+1C]
00452354    |8B0413          mov      eax, [ebx+edx]
00452357    |0385 45050000    add      eax, [ebp+545]
0045235D    |5F              pop      edi
0045235E    |EB 16            jmp      short 00452376
00452360    |57              push    edi
00452361    |8B46 0C          mov      eax, [esi+C]
00452364    |0385 22040000    add      eax, [ebp+422]
0045236A    |50              push    eax
0045236B    |53              push    ebx
0045236C    |8D85 C6040000    lea      eax, [ebp+4C6]
00452372    |50              push    eax
00452373    |57              push    edi
00452374    |EB 4A            jmp      short 004523C0
00452376    \8907            mov      [edi], eax
00452378    8385 49050000 0>add      dword ptr [ebp+549], 4
0045237F  ^ E9 32FFFFFF      jmp      004522B6        ; 不能让他朝回跳到004522B6,要在下一句处下断按F4
蓝牙移动00452384    8906            mov      [esi], eax          ; 按F4下断
00452386    8946 0C          mov      [esi+C], eax
00452389    8946 10          mov      [esi+10], eax
0045238C    83C6 14          add      esi, 14
0045238F    8B95 22040000    mov      edx, [ebp+422]
00452395  ^ E9 EBFEFFFF      jmp      00452285      ; 不能让他朝回跳到00452285,要在下一句处下断按F4
0045239A    B8 842F0000      mov      eax, 2F84      ; 按F4下断
0045239F    50              push    eax
004523A0    0385 22040000    add      eax, [ebp+422]
004523A6    59              pop      ecx
004523A7    0BC9            or      ecx, ecx
004523A9    8985 A8030000    mov      [ebp+3A8], eax
004523AF    61              popad
004523B0    75 08            jnz      short 004523BA
004523B2    |B8 01000000      mov      eax, 1
004523B7    |C2 0C00          retn    0C
004523BA    \68 842F4000      push    00402F84              ; ASCII h @,关键字请注意
004523BF    C3              retn                        ; F8后跳到入口点00402F84
………………………进RETN后跳到原码入口点……………………
00402F84    ?  68 F8D64000    push    0040D6F8        ;入口点停在此处可以脱了
(点右键后选DUMP_Debugger_process脱壳调试进程,再点击DUMP脱壳。下面的我相信都会了)
00402F89      E8            db      E8
00402F8A      EE            db      EE
00402F8B      FF            db      FF
用PEID查脱。显示PowerBASIC/Win 8.00,大功告成!!我也是个菜鸟!!写的不好,仅仅以些贴写给刚入门的菜们!!
--------------------------------------------------------------------------------
【经验总结】
,慢慢就会掌握OD的使用技巧。只在有信心,难学的东西都会学会。想信自已,自已搞不定的还有看学里的前辈给我们指导!第一次写关于脱壳的文章写的有点不好,请大家批评指出。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

本文发布于:2024-09-21 08:03:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/110809.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:脱壳   作者   使用   文章   不能   回跳   调试
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议