首页
社区
课程
招聘
Crunch V5.0脱壳――Crunch.exe主程序
发表于: 2005-4-15 16:58 12570

Crunch V5.0脱壳――Crunch.exe主程序

fly 活跃值
85
2005-4-15 16:58
12570
Crunch V5.0脱壳――Crunch.exe主程序

下载页面:  http://www.bitarts.com/index.htm
软件大小:  5458 KB
软件语言:  英文
软件类别:  国外软件 / 共享版 / 压缩解压
应用平台:  Win9x/NT/2000/XP
推荐等级:  ****
软件简介:  Crunch enables developers of Windows software to compress a program by up to 70% and still run without any performance difference. Crunch adds a layer of anti-debug routines into your program, preventing novice crackers from viewing or tampering with your software.

【作者声明】:只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

【调试环境】:WinXP、Ollydbg、PEiD、LordPE

―――――――――――――――――――――――――――――――――
【脱壳过程】:
         

设置Ollydbg忽略所有异常,用IsDebug插件去掉Ollydbg的调试器标志
PEiD Sign:
[Crunch V5.0 -> Bitarts]
signature = EB 15 03 00 00 00 06
ep_only = true
――――――――――――――――――――――――
一、脱壳的最佳时机

004A5000    EB 15           jmp short Crunch.004A5017
//进入Ollydbg后暂停在这
004A5002    0300            add eax,dword ptr ds:[eax]

F9运行,弹出Licence窗口。下断:HE LoadLibraryA,然后点击Continue
中断后        去掉断点,Alt+F9返回004AB9B2处

004AB9AE    FFD7            call edi
004AB9B0    FFD0            call eax  ; LoadLibraryA
004AB9B2    5D              pop ebp ; Crunch.0048B000
//返回这里  EBP=0048B000-基址00400000=0008B000  ★  Import Table RVA
004AB9B3    EB 08           jmp short Crunch.004AB9BD

此时代码已经解开,IAT已经还原,正是脱壳的好时机!
运行LordPE完全Dump出这个进程。

―――――――――――――――――――――――――――――――――
二、OEP

找OEP很简单,可以使用ESP定律、第2区段内存断点、异常等方法
也可以Ctrl+S在整个段块搜索命令序列:
  pop dword ptr fs:[0]
  add esp,4
  pop ebp
  popad
  retn
找到在004A5BFD处,设置硬件执行断点,Shift+F9运行后中断

004A5BF5    8B6424 08       mov esp,dword ptr ss:[esp+8]
004A5BF9    8B6C24 08       mov ebp,dword ptr ss:[esp+8]
004A5BFD    64:8F05 0000000>pop dword ptr fs:[0]
//中断在这里
004A5C04    83C4 04         add esp,4
004A5C07    5D              pop ebp
004A5C08    61              popad
004A5C09    C3              retn
//飞向光明之巅  ^O^

004501B8    55              push ebp
//OEP
004501B9    8BEC            mov ebp,esp
004501BB    6A FF           push -1
004501BD    68 28654700     push Crunch.00476528
004501C2    68 58044500     push Crunch.00450458    ; jmp to msvcrt._except_handler3
004501C7    64:A1 00000000  mov eax,dword ptr fs:[0]
004501CD    50              push eax
004501CE    64:8925 0000000>mov dword ptr fs:[0],esp
004501D5    83EC 68         sub esp,68
004501D8    53              push ebx
004501D9    56              push esi
004501DA    57              push edi
004501DB    8965 E8         mov dword ptr ss:[ebp-18],esp
004501DE    33DB            xor ebx,ebx
004501E0    895D FC         mov dword ptr ss:[ebp-4],ebx
004501E3    6A 02           push 2
004501E5    FF15 40C44800   call dword ptr ds:[48C440]; msvcrt.__set_app_type

―――――――――――――――――――――――――――――――――
三、PE修正

用LordPE修正dumped.exe的OEP RVA=000501B8,Import Table RVA=0008B000
可以看到Export Table原来在RVA 00082B50处,修正之
重定位表没有破坏,直接修正重定位表RVA=00099000,Size=5E24
用LordPE把IAT RVA清0,当然也可以把其数据挪移入.idata段
删除最后的.crt和.edata两个壳区段,用WinHex把其数据删掉
OK,脱壳完成啦。

BTW:主程序脱壳后的破解有意思,有兴趣的兄弟试试。

―――――――――――――――――――――――――――――――――                                 
         ,     _/
        /| _.-~/            \_     ,        青春都一晌
       ( /~   /              \~-._ |\
       `\\  _/                \   ~\ )          忍把浮名
   _-~~~-.)  )__/;;,.          \_  //'
  /'_,\   --~   \ ~~~-  ,;;\___(  (.-~~~-.        换了破解轻狂
`~ _( ,_..--\ (     ,;'' /    ~--   /._`\
  /~~//'   /' `~\         ) /--.._, )_  `~
  "  `~"  "      `"      /~'`\    `\\~~\   
                         "     "   "~'  ""
   
           UnPacKed By :  fly
            2005-04-14 18:30

[课程]Android-CTF解题方法汇总!

收藏
免费 7
支持
分享
最新回复 (30)
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
2
学习
2005-4-15 17:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
又一个壳,
2005-4-15 17:46
0
雪    币: 207
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学着玩玩!!!
2005-4-15 17:57
0
雪    币: 303
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
弹出Licence窗口后怎么没有Continue呢?
多谢
2005-4-15 18:34
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
6
最初由 liuyilin 发布
弹出Licence窗口后怎么没有Continue呢?
多谢


here

2005-4-15 18:51
0
雪    币: 303
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
怪事我的是这样的
2005-4-15 19:09
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
8
试试start
2005-4-15 19:12
0
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
9
学习
2005-4-15 21:10
0
雪    币: 191
活跃值: (1983)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
有点怪
我没有fly 的Licence窗口出来。
是出来7楼的窗口
下断:HE LoadLibraryA
返回到 4AD797 Dump
ebp = 489000
然后 LordPE修改
OEP RVA=000501B8,Import Table RVA=00089000
修正重定位表RVA=0009A000,Size=5E24
收工
2005-4-16 02:04
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
11
学习!
2005-4-16 08:49
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
12
我这里也和7楼兄弟的一样,而且发现每次运行时,还会有一个intXXX.tmp的进程出现,如果有这个进程时,程序就不会出一现正常的窗口.只有把这个进程杀掉后,才能正常调试
不知道其他兄弟有没有遇到这种情况

还有:
我这里只修复EntryPoint和ImporTable就可以正常运行了.
试了试,可以同时运行多个程序,是不是这样他的修定位就不用修复了呢.但不知会不会有跨平台问题
(其它的可以不用修复,主要是不会确定其它的正确数据,所以没有修复)
2005-4-16 09:37
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
13
因为你没有去除壳区段,否则就要把IAT RVA清0,或者把其数据挪移入其他段
2005-4-16 10:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我的出现的界面和七楼一样。

进入Ollydbg后暂停在004A6000 而不是004A5000
F9运行,弹出Licence窗口。下断:HE LoadLibraryA,然后点击start,不中断,提示进程已终止,退出代码0。

请问楼主这是为什么,是不是版本不一样?
2006-1-10 07:29
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
15
bitarts主页挂了,那里还有下载
2006-1-10 10:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
我是从URL http://www.bitarts.com/downloads/sk2/crunchv5.zip下载的,文件大小为:5713654字节
2006-1-10 13:30
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
下不了了哦!!可以上传到网络硬盘里面不!
2006-1-11 14:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我把我下载的cruchv5.exe上传到http://free5.ys168.com/?penglining上,同时上传了安装该软件后启动的几个界面,这些与fly版主所说的不一样。
2006-1-12 07:52
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
19
程序的版本不同可能界面有差别,这个没啥好奇怪的吧
另外:你测试看看你上传的几个文件是否可以完整下载
2006-1-12 09:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
将下载的文件分别保存为Crunchv5.part1.rar和Crunchv5.part2.rar然后解压,没有问题呀!
2006-1-12 15:48
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
21
教程中所用的Crunch.V5.0[2004.11.01]安装程序
http://rapidshare.de/files/10947963/Crunch.V5.0_2004.11.01_.zip.html
2006-1-13 12:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
不知如何下载?
弄了半天叫我上传文件。
能否发到我的邮箱:li_ning@163.com,谢谢!
2006-1-13 14:23
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
23
IE打开页面
Select your download  点Free
等待20秒倒计时
输入验证码后即可下载
2006-1-13 15:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
没反应,见图:
http://rapidshare.de/files/10952606/2.jpg.html
2006-1-13 16:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
已收到文件,谢谢fly版主!
2006-1-14 07:41
0
游客
登录 | 注册 方可回帖
返回
//