吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4156|回复: 8
收起左侧

无聊弄个压缩壳大家玩玩

[复制链接]
小生我怕怕 发表于 2008-12-8 16:53
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

无聊弄个压缩壳大家玩下,有兴趣的就玩玩
又弄了一个,大家脱了希望来份脱文!
两篇脱文,我已经发在下面啦,期待有朋友能写出更好的脱文!

[ 本帖最后由 小生我怕怕 于 2008-12-8 21:26 编辑 ]

本帖子中包含更多资源

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

x

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

creantan 发表于 2008-12-8 16:55
壳盲也来抢沙发。。。。。。[s:364]

[ 本帖最后由 creantan 于 2008-12-8 16:58 编辑 ]
小糊涂虫 发表于 2008-12-8 18:52
玩不了,我也飘过,,,,,,,,,,,,
等待大牛们的分析....:L
xieyuzhe 发表于 2008-12-8 18:59
 楼主| 小生我怕怕 发表于 2008-12-8 19:52

eXPressorU

7C921231    C3              retn                //OD载入程序比较希奇,停在系统上
7C921232    8BFF            mov edi,edi         //ait+f9先返回程序领空
7C921234    90              nop
7C921235    90              nop
━━━━━━━━━━━━━━━━━━━━━━━━━━
005108F9    33C0            xor eax,eax                     //第一次返回到了这里
005108FB    8B5424 F0       mov edx,dword ptr ss:[esp-10]   //我们继续ait+f9返回
005108FF    64:8910         mov dword ptr fs:[eax],edx     
00510902    58              pop eax
00510903    E8 00000000     call eXPresso.00510908
━━━━━━━━━━━━━━━━━━━━━━━━━━
005109A7    F0:0FF0         ???                    ; 未知命令   //第二次我们返回到了这里
005109AA    CC              int3                                //我们继续ait+f9返回
005109AB    33C0            xor eax,eax
005109AD    8B5424 F0       mov edx,dword ptr ss:[esp-10]
━━━━━━━━━━━━━━━━━━━━━━━━━━
0039004E    C2 0400         retn 4                           //第三次我们返回到了这里
00390051    3A2D 29000000   cmp ch,byte ptr ds:[29]          //我们继续ait+f9返回
00390057    0000            add byte ptr ds:[eax],al
00390059    0000            add byte ptr ds:[eax],al
0039005B    0000            add byte ptr ds:[eax],al
━━━━━━━━━━━━━━━━━━━━━━━━━━
00510A26    58              pop eax                        ; ntdll.RtlRaiseException
00510A27    58              pop eax                         //返回到这里时,我们停下
00510A28    58              pop eax                         //在命令提示行输入bp VirtualProtect+5
00510A29    E8 00000000     call eXPresso.00510A2E          //+5是为了避免程序检测到断点
00510A2E    5E              pop esi                         //下好断点,我们shift+f9运行程序
00510A2F    83C6 11         add esi,11
━━━━━━━━━━━━━━━━━━━━━━━━━━
EAX 00000001
ECX 0012FF48                                               //经过大概20次之后我们注意寄存器
EDX 7C92EB94 ntdll.KiFastSystemCallRet                     //注意寄存器里的值
EBX 00001000
ESP 0012FFA0
EBP 7C801AD0 kernel32.VirtualProtect                       
ESI 00401000 eXPresso.00401000                             //当寄存器里出现我们的code段时返回
EDI 00400000 ASCII "MZREh"                                 //ESI显示我们的code段,EDI显示我们程序的基址
EIP 0050D189 eXPresso.0050D189                             //正在返回大好时机
━━━━━━━━━━━━━━━━━━━━━━━━━━
0050D189    8D87 1F020000   lea eax,dword ptr ds:[edi+21F]    //我们ait+b取消我们的断点
0050D18F    8020 7F         and byte ptr ds:[eax],7F          //单步F8一路向下走
0050D192    8060 28 7F      and byte ptr ds:[eax+28],7F
━━━━━━━━━━━━━━━━━━━━━━━━━━ 
0050D19F    61              popad                           //比较眼熟吧,没有错就是UPX
0050D1A0    8D4424 80       lea eax,dword ptr ss:[esp-80]   //这个UPX够变态吧
0050D1A4    6A 00           push 0
0050D1A6    39C4            cmp esp,eax
0050D1A8  ^ 75 FA           jnz short eXPresso.0050D1A4
0050D1AA    83EC 80         sub esp,-80
0050D1AD  - E9 CB6FF4FF     jmp eXPresso.0045417D           //这里返回到我们的OEP
━━━━━━━━━━━━━━━━━━━━━━━━━━
0045417D    55              push ebp                       //到达OEP,运行lordPE把程序DUMP
0045417E    8BEC            mov ebp,esp                    //在运行importRCE把程序修复即可
00454180    6A FF           push -1                        //修复时有两个指针无效,直接剪切掉
00454182    68 48694800     push eXPresso.00486948
00454187    68 D0954500     push eXPresso.004595D0
0045418C    64:A1 00000000  mov eax,dword ptr fs:[0]


[ 本帖最后由 小生我怕怕 于 2008-12-9 00:45 编辑 ]
 楼主| 小生我怕怕 发表于 2008-12-8 20:18
00401018 > $  BE B0114000   mov esi,UPack_0_.004011B0            //OD载入
0040101D   .  AD            lods dword ptr ds:[esi]
0040101E   .  50            push eax
0040101F   .  FF76 34       push dword ptr ds:[esi+34]           //在此执行ESP定律
00401022   .  EB 7C         jmp short UPack_0_.004010A0
━━━━━━━━━━━━━━━━━━━━━━━━━━
0046D000    9C              pushfd                              //执行完ESP定律后停在这里,删除硬件断点
0046D001    60              pushad                              //从代码看有些北斗的感觉
0046D002    E8 02000000     call UPack_0_.0046D009              //在此在次执行ESP定律
0046D007    33C0            xor eax,eax
0046D009    8BC4            mov eax,esp
0046D00B    83C0 04         add eax,4
━━━━━━━━━━━━━━━━━━━━━━━━━━
0046D1A7    9D              popfd                               //执行完ESP定律后停在这里
0046D1A8    68 2C4D4000     push UPack_0_.00404D2C              //这里压入我们的OEP
0046D1AD    C3              retn                                //这里返回我们的OEP
0046D1AE    0000            add byte ptr ds:[eax],al
━━━━━━━━━━━━━━━━━━━━━━━━━━
00404D2C    6A 00           push 0                              //这里需要注意我们的importRCE无法修复很多函数
00404D2E    E8 9D2F0000     call UPack_0_.00407CD0              //这里我们用到我们的UIF,论坛我有发表
00404D33    A3 D08D4200     mov dword ptr ds:[428DD0],eax       //我们点OD的文件,附加,看看我们当前程序的进程ID是多少
00404D38    6A 0A           push 0A                             //红色突显的为我们当前OD载入的进程,那么我们的PID就是5A0[如图1]
00404D3A    6A 00           push 0                              //打开我们的UIF输入进程ID,直接点开始[如图2]
00404D3C    6A 00           push 0                              //打开importRCE,把选项设置一下[如图3]
00404D3E    FF35 D08D4200   push dword ptr ds:[428DD0]          //设置好后,按照我们UIF的记录,将IAT RVA和大小,OEP填写后,直接获取输入表
00404D44    E8 06000000     call UPack_0_.00404D4F              //此时会发现我们的IAT全部都是正常啦
00404D49    50              push eax                            //UIF运行记录如下[这里由于记录过多,我只复制关键部分]
00404D4A    E8 7B2F0000     call UPack_0_.00407CCA              //此时运行lordPE把程序dump在运行importRCE修复下程序就可以啦
━━━━━━━━━━━━━━━━━━━━━━━━━━
图1

━━━━━━━━━━━━━━━━━━━━━━━━━━
图2

━━━━━━━━━━━━━━━━━━━━━━━━━━
图3

━━━━━━━━━━━━━━━━━━━━━━━━━━

===============================================================
修复成功!
已修复模块: UPack 0.399.exe
映像的基址: 00400000
IAT RVA:005F0000
IAT 大小: 000001B8
正常的输入: 129
直接的输入: 0
所有的输入: 129
===============================================================
重要说明:附件中脱壳程序,可能有部分跨平台函数未修复,如出现错误请PM联系我

[ 本帖最后由 小生我怕怕 于 2008-12-9 00:45 编辑 ]

本帖子中包含更多资源

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

x
小瞬子 发表于 2008-12-8 20:48
[s:367] 等大牛来学习学习...
 楼主| 小生我怕怕 发表于 2008-12-9 00:46
哎,眼看也没有人玩,难道是嫌压缩壳太简单,我把脱文公开吧!
wesley 发表于 2008-12-9 21:31
跟着小生混啦   我脱不来
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 04:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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