宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 4127|回复: 0

ASPack 2.12 -> Alexey Solodovnikov 脱壳分析

[复制链接]
  • TA的每日心情
    开心
    2024-12-9 18:45
  • 签到天数: 124 天

    [LV.7]常住居民III

    admin 发表于 2010-5-13 20:03:22 | 显示全部楼层 |阅读模式

    欢迎您注册加入!这里有您将更精采!

    您需要 登录 才可以下载或查看,没有账号?注册

    x
    第一 查壳-脱壳
         用PEID查为ASPack 2.12 -> Alexey Solodovnikov
    用OD载入
    出现异常
    按shift+f8跳过,我这里是用ANTI-WDASM先调试找到基地址为015D7001
    然后BP 015D7001
    到达壳入口
    Pushad
    Call 0157005
    重定位+陷阱
    F7进入
    找到扫描码
    1. 015D73A6               59              pop ecx
    2. 015D73A7               0BC9            or ecx,ecx
    3. 015D73A9               8985 A8030000   mov dword ptr ss:[ebp+3A8],eax
    4. 015D73AF                61              popad
    复制代码

    下次就用这个了;
    到达esp
    1. 00B95B0B                            6A 60           push 60
    2. 00B95B0D                            68 084A1801     push khan.01184A08
    3. 00B95B12                            E8 4D650000     call khan.00B9C064
    4. 00B95B17                            BF 94000000     mov edi,94
    5. 00B95B1C                            8BC7            mov eax,edi
    6. 00B95B1E                            E8 5DE0FFFF     call khan.00B93B80
    7. 00B95B23                            8965 E8         mov dword ptr ss:[ebp-18],esp
    8. 00B95B26                            8BF4            mov esi,esp
    9. 00B95B28                            893E            mov dword ptr ds:[esi],edi
    10. 00B95B2A                            56              push esi
    11. 00B95B2B                            FF15 C0100101   call dword ptr ds:[10110C0]          ; kernel32.GetVersionExA
    复制代码

    呵呵一看就是VC7
    脱壳
    Loadpe 存为khan1.exe
    importREC修复
    B95B0B-400000=795b0b
    这个壳没有加密IAT,偷代码,幸运,
    最后脱壳文件为
    khan1_.exe


    第二  去对话框
    运行脱壳程序,出现必须从引导程序运行,想办法去掉;
    OD载入脱壳程序
    网上找的参照
    1. 004021D4    |.  E8 E48F7300      call khan.00B3B1BD
    2. 004021D9    |.  83C4 04          add esp,4
    3. 004021DC    |>  39BD E4FCFFFF    cmp [local.199],edi
    4. 004021E2    |.  8B85 D0FCFFFF    mov eax,[local.204]
    5. 004021E8    |.  73 06            jnb short khan.004021F0
    6. 004021EA    |.  8D85 D0FCFFFF    lea eax,[local.204]
    7. 004021F0    |>  50              push eax
    8. 004021F1    |.  68 C885F800      push khan.00F885C8                            ;  ASCII "KHan.exe"
    9. 004021F6    |.  B9 34154701      mov ecx,khan.01471534
    10. 004021FB    |.  E8 606F7100      call khan.00B19160                            ;  这个函数里面会弹出错误提示
    11. 00402200    |.  83F8 03          cmp eax,3
    12. 00402203    |.  75 16            jnz short khan.0040221B
    13. 00402205    |.  8B95 C8FCFFFF    mov edx,[local.206]
    14. 0040220B    |.  53              push ebx                                      ; /lParam
    15. 0040220C    |.  68 00104000      push khan.00401000                            ; |DlgProc = khan.00401000
    16. 00402211    |.  53              push ebx                                      ; |hOwner
    17. 00402212    |.  6A 66            push 66                                        ; |pTemplate = 66
    18. 00402214    |.  52              push edx                                      ; |hInst
    19. 00402215    |.  FF15 D883F800    call dword ptr ds:[<&user32.DialogBoxParamA>]  ; \DialogBoxParamA
    20. 0040221B    |>  39BD E4FCFFFF    cmp [local.199],edi
    21. 00402221    |.  72 0F            jb short khan.00402232
    复制代码

    你搜索这段函数的特征码,找到之后在这个函数头下断点。往下跟,改一个跳转或者是NOP掉这个跳转就OK了,我这段时间没有搞这个游戏了,所以客户端没有更新,至于那个跳转在哪个地址还是你自己找吧
    然后我自己
    在OD下段bpx DialogBoxParamA
    找到两处
    1.004020DB 和00402277
    进入地址发现00402277和上面的一样
    1. 00402252                            50              push eax
    2. 00402253                            68 EC150101     push khan.010115EC                   ; ASCII "KHan.exe"
    3. 00402258                            B9 80255301     mov ecx,khan.01532580
    4. 0040225D                            E8 EECD7400     call khan.00B4F050
    5. 00402262                            83F8 03         cmp eax,3
    6. 00402265                            75 16           jnz short khan.0040227D
    7. 00402267                            8B95 C8FCFFFF   mov edx,dword ptr ss:[ebp-338]
    8. 0040226D                            53              push ebx
    9. 0040226E                            68 00104000     push khan.00401000
    10. 00402273                            53              push ebx
    11. 00402274                            6A 66           push 66
    12. 00402276                            52              push edx
    13. 00402277                            FF15 E4130101   call dword ptr ds:[10113E4]          ; USER32.DialogBoxParamA
    14. 0040227D                            39BD E4FCFFFF   cmp dword ptr ss:[ebp-31C],edi
    15. 00402283                            72 0F           jb short khan.00402294
    16. 00402285                            8B85 D0FCFFFF   mov eax,dword ptr ss:[ebp-330]
    17. 0040228B                            50              push eax
    18. 0040228C                            E8 FC097900     call khan.00B92C8D
    19. 00402291                            83C4 04         add esp,4
    20. 然后BP 0040225D
    21. 0B4F161                            E8 2A160000     call khan2.00B50790
    22. 00B4F166                            85C0            test eax,eax
    23. 00B4F168                            74 19           jne short khan2.00B4F183
    24. 00B4F16A                            50              push eax
    25. 00B4F16B         68 FC150101     push khan2.010115FC
    26. 00B4F170       68 60A10401     push khan2.0104A160         ; ASCII "10005"
    27. 00B4F175        50              push eax
    28. 00B4F176     FF15 E8130101   call dword ptr ds:[10113E8]  ; USER32.MessageBoxA
    29. 00B4F17C                            6A 00           push 0
    30. 00B4F17E                            E8 99360400     call khan2.00B9281C
    31. 00B4F183                       8B15 B8CC5101   mov edx,dword ptr ds:[151CCB8]
    复制代码

    郁闷:还出现两个错误对话框,先分析这里……
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

    本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

    QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

    Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-12-22 22:11 , File On Powered by Discuz! X3.49

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