首页
社区
课程
招聘
[原创]30秒无狗暴力杀狗 - Rockey 狗壳记事本
发表于: 2005-8-24 20:15 5697

[原创]30秒无狗暴力杀狗 - Rockey 狗壳记事本

2005-8-24 20:15
5697
【破文标题】: 30秒无狗暴力杀狗 - Rockey 狗壳记事本

【破文作者】: KuNgBiM[DFCG]

【作者邮箱】: [email]gb_1227@163.com[/email]

【软件名称】: RY4SEL.Notepad

【软件大小】: 100 KB

【下载地址】: [本地下载]

【软件简介】: 在DFCG的QQ群共享内找到的一个 RY4SEL.Notepad (加壳记事本)

【加密保护】: Rockey 未知版狗壳

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

【破解日期】: 2005-08-23

【破解目的】: 大家一起学打“狗”

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

―――――――――――――――――――――――――――――――――
【打狗过程】

侦壳:用PEiD查壳,“Rockey(狗壳) -> 北京飞天诚信 * ”加壳。

BTW:晕死,原以为是什么一般的加壳的记事本,脱了了之,结果是一只“牵着狗”的记事本~~~(常在江湖漂,哪有不挨刀?)呵呵~~

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Ollydbg载入主程序:

00416000 >  E8 7BA1FFFF         call RY4SEL_N.00410180         ; 程序入口,F7跟进!
00416005    50                  push eax
00416006    C3                  retn
00416007    0000                add byte ptr ds:[eax],al

00416000 处跟进到这里:

00410180    55                  push ebp                       ; 跟到这里!接着一路F7!
00410181    8BEC                mov ebp,esp
00410183    51                  push ecx
00410184    56                  push esi
00410185    57                  push edi
00410186    8B45 04             mov eax,dword ptr ss:[ebp+4]
00410189    8D40 FB             lea eax,dword ptr ds:[eax-5]
0041018C    8945 FC             mov dword ptr ss:[ebp-4],eax
0041018F    8B7D FC             mov edi,dword ptr ss:[ebp-4]
00410192    8B87 99000000       mov eax,dword ptr ds:[edi+99]
00410198    8DB7 81000000       lea esi,dword ptr ds:[edi+81]
0041019E    85C0                test eax,eax
004101A0    75 1D               jnz short RY4SEL_N.004101BF
004101A2    8B4E 08             mov ecx,dword ptr ds:[esi+8]
004101A5    8B56 04             mov edx,dword ptr ds:[esi+4]
004101A8    8BC7                mov eax,edi
004101AA    56                  push esi
004101AB    2BC1                sub eax,ecx
004101AD    57                  push edi
004101AE    03D0                add edx,eax
004101B0    8956 04             mov dword ptr ds:[esi+4],edx
004101B3    E8 48000000         call RY4SEL_N.00410200         ; 这里好象是计算什么东西似的,不跟也罢~~~我是“狗”盲
004101B8    C746 18 01000000    mov dword ptr ds:[esi+18],1
004101BF    0336                add esi,dword ptr ds:[esi]
004101C1    8B46 18             mov eax,dword ptr ds:[esi+18]
004101C4    85C0                test eax,eax
004101C6    75 23               jnz short RY4SEL_N.004101EB
004101C8    8B56 08             mov edx,dword ptr ds:[esi+8]
004101CB    8B46 04             mov eax,dword ptr ds:[esi+4]
004101CE    8BCF                mov ecx,edi
004101D0    56                  push esi
004101D1    2BCA                sub ecx,edx
004101D3    03C1                add eax,ecx
004101D5    8946 04             mov dword ptr ds:[esi+4],eax
004101D8    E8 13040000         call RY4SEL_N.004105F0         ; 如果这里再继续F7的话,嘿嘿,就Over啦~~~ ★ 修改地址,nop掉 ★
004101DD    56                  push esi
004101DE    57                  push edi
004101DF    E8 1C000000         call RY4SEL_N.00410200
004101E4    C746 18 01000000    mov dword ptr ds:[esi+18],1
004101EB    8B46 0C             mov eax,dword ptr ds:[esi+C]
004101EE    8B4E 04             mov ecx,dword ptr ds:[esi+4]
004101F1    5F                  pop edi
004101F2    03C1                add eax,ecx
004101F4    5E                  pop esi
004101F5    8BE5                mov esp,ebp
004101F7    5D                  pop ebp
004101F8    C3                  retn

――――――――――――――――――――――――――――――――――――――――
004101D8 处修改为:

004101D3    03C1                add eax,ecx
004101D5    8946 04             mov dword ptr ds:[esi+4],eax
004101D8    90                  nop                            ; 修改后就顺畅多啦~~~继续F7!
004101D9    90                  nop
004101DA    90                  nop
004101DB    90                  nop
004101DC    90                  nop
004101DD    56                  push esi                       ; RY4SEL_N.00417114
004101DE    57                  push edi                       ; RY4SEL_N.<ModuleEntryPoint>
004101DF    E8 1C000000         call RY4SEL_N.00410200         ; 这里好象又一次计算什么东西似的,我也不跟进,懒得管!
004101E4    C746 18 01000000    mov dword ptr ds:[esi+18],1
004101EB    8B46 0C             mov eax,dword ptr ds:[esi+C]   ; ds:[00417120]=000010CC
004101EE    8B4E 04             mov ecx,dword ptr ds:[esi+4]   ; ds:[00417118]=00400000 (RY4SEL_N.00400000)
004101F1    5F                  pop edi
004101F2    03C1                add eax,ecx                    ; ecx=00400000 (RY4SEL_N.00400000),eax=000010CC
004101F4    5E                  pop esi
004101F5    8BE5                mov esp,ebp
004101F7    5D                  pop ebp
004101F8    C3                  retn                           ; 返回狗狗数据给程序,准备出栈

004101F8 处返回到:

00416005    50                  push eax                       ; 获得OEP,RY4SEL_N.004010CC
00416006    C3                  retn                           ; 返回到程序入口点~~飞向光明之颠~
00416007    0000                add byte ptr ds:[eax],al
00416009    0040 00             add byte ptr ds:[eax],al
0041600C    0000                add byte ptr ds:[eax],al
0041600E    0000                add byte ptr ds:[eax],al
00416010    0000                add byte ptr ds:[eax],al
00416012    0000                add byte ptr ds:[eax],al

00416006 处返回到:

004010CC    55                  push ebp                       ; 在这儿用LordPE纠正ImageSize后完全Dump这个进程
004010CD    8BEC                mov ebp,esp
004010CF    83EC 44             sub esp,44
004010D2    56                  push esi
004010D3    FF15 E4634000       call dword ptr ds:[4063E4]     ; kernel32.GetCommandLineA
004010D9    8BF0                mov esi,eax
004010DB    8A00                mov al,byte ptr ds:[eax]
004010DD    3C 22               cmp al,22
004010DF    75 1B               jnz short RY4SEL_N.004010FC
004010E1    56                  push esi
004010E2    FF15 F4644000       call dword ptr ds:[4064F4]     ; USER32.CharNextA
004010E8    8BF0                mov esi,eax
004010EA    8A00                mov al,byte ptr ds:[eax]
004010EC    84C0                test al,al
004010EE    74 04               je short RY4SEL_N.004010F4
004010F0    3C 22               cmp al,22
004010F2  ^ 75 ED               jnz short RY4SEL_N.004010E1

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
【脱壳修复】:

运行Importrec New Fix,选择这个进程,把OEP改为 000010CC ,点“IT AutoSearch”,再点“Get Imports”,指针全部有效。FixDump!
正常运行~打狗成功!

【打狗耗时】: 30秒

【本章总结】

其实也没什么好总结的,我是一个“狗”盲,分析不出太高深的“狗密”,这篇文章可能是碰运气吧~~~以后还请前辈多多照顾讲解!

--------------------------------------------------------------------------------------------

版权所有(C)2005 KuNgBiM[DFCG]         Copyright (C) 2005 KuNgBiM[DFCG]

--------------------------------------------------------------------------------------------
     UnPacked & Cracked By KuNgBiM[DFCG]

                2005-08-23

                03:23:33 AM

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 414
活跃值: (531)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
兄弟:
你现在看这个程序实际上相当没有狗差不多了。因为这个程序的狗的密钥是0,这样你才不补任何数据就直接脱了壳,只要跳掉狗的检测就行了。

但做为这样的程序,无狗你想脱掉是很困难的。因为返回的数据是4组16位长的数,可能不止一组哦!所以再象你这种方法来玩,是行不通的。呵呵。
2005-8-24 20:32
0
雪    币: 300
活跃值: (412)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
3
一只狗也没有打过,学习。
2005-8-24 20:52
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
4
没有打过狗,哀。。。。
2005-8-25 03:34
0
游客
登录 | 注册 方可回帖
返回
//