y2008 发表于 2009-4-22 00:14:12

2800元的韩国大信KD厨房设计软件暴力破解+处理附加数据!

软件介绍:
   KD橱柜设计软件即KITHENDRAW橱柜设计软件,是一个专业的橱柜展示设计系统,由于它功能强大、操作简洁,成为欧洲最流行的橱柜展示软件,KD操作方便,有无电脑基础者都能在1-2小时内掌握其本操作,桌椅,门窗,油烟机,煤气灶,水槽,各种支架,厨房用品,一应俱全且图像逼真,平面图,立面图,透视图,3d效果图均能在10分钟内一次完成。

   强大的图库与丰富的材质,软件配有视频演示教程与整套的操作教程,学起来非常容易,做橱柜或者衣柜的朋友可以考虑这个软件了。绝对满足您的需要!
   下载:   http://www.kitchendraw.com/
   软件大小:   48.5 MB   
   软件简介:   国外流行的厨房设计软件,搞厨房设计的10个有9个在使用!    
            
【作者声明】:本文所有涉及的图片和文字都是我亲自设计制作,图片均来自我的网站,请不要怀疑我对PYG的热情,谢谢!由于我是做厨房设计的经常使用这个软件做效果图,只是开了分店,不想要再掏2800买他们的注册码了!附件解压密码是"我的....,需要的请联系,文件太大了!         
【调试环境】:WinXP、OllyDBD、PEiD、LordPE、ImportREC、WinHex

【脱壳过程】:
先看看效果吧!
http://www.jindianled.com/images/效果01.jpg

http://www.jindianled.com/images/效果02.jpg

http://www.jindianled.com/images/效果03.jpg

http://www.jindianled.com/images/效果04.jpg
这个是软件的截图:
http://www.jindianled.com/images/d1.jpg
里面有KitchenDraw4.5.exe和KitchenDraw45.exe,一个用 SoftSentry2.11另外一个用SoftSentry3.0,其实他们的原理都是差不多的!需要说明的是从网上下载的软件没有这两个东西,只有kd.EXE这个文件,在帮助下没有注册的窗口,我拿到的这个 是韩国大信公司中国分公司汉化加壳后的软件,开启后有如下注册框:
http://www.jindianled.com/images/d2.jpg
相关代码如下:


0040BE90 > $   55             PUSH EBP         //KitchenD.<模块入口点>,OD载入后停在这里
0040BE91   .   8BEC         MOV EBP,ESP
0040BE93   .   83EC 64         SUB ESP,64
0040BE96   .   53             PUSH EBX
0040BE97   .   56             PUSH ESI
0040BE98   .   57             PUSH EDI
0040BE99   .   E9 50000000   JMP KitchenD.0040BEEE

单步走到这里:
0040C052         > \E8 19060000   CALL KitchenD.0040C670
0040C057         >   833D 70114100>CMP DWORD PTR DS:,0
0040C05E         .   0F84 16000000 JE KitchenD.0040C07A
0040C064         .   8B4D B0         MOV ECX,DWORD PTR SS:
0040C067         .   E8 442C0000   CALL KitchenD.0040ECB0 //出现注册框,选择CANCEL,不然飞了!
0040C06C         .   8945 B0         MOV DWORD PTR SS:,EAX
0040C06F         .   8B4D B0         MOV ECX,DWORD PTR SS:
0040C072         .   E8 F92C0000   CALL KitchenD.0040ED70
0040C077         .   8945 B0         MOV DWORD PTR SS:,EAX
0040C07A         >   837D B0 01   CMP DWORD PTR SS:,1

单步走到这里:
0040C2D4         . /0F85 3E000000 JNZ KitchenD.0040C318 //这个跳NOP掉,不然飞了!
0040C2DA         . |33C0         XOR EAX,EAX
0040C2DC         . |66:A1 B811410>MOV AX,WORD PTR DS:
0040C2E2         . |85C0         TEST EAX,EAX
0040C2E4         . |0F84 2E000000 JE KitchenD.0040C318   //这个跳NOP掉,不然飞了!
0040C2EA         . |8B45 08         MOV EAX,DWORD PTR SS:
0040C2ED         . |50             PUSH EAX                                 ; /hInst
0040C2EE         . |68 A8114100   PUSH KitchenD.004111A8                     ; |Class =
0040C2F3         . |FF15 18544100 CALL DWORD PTR DS:[<&USER32.UnregisterCl>; \UnregisterClassA
0040C2F9         . |33C0         XOR EAX,EAX
0040C2FB         . |66:A1 BC11410>MOV AX,WORD PTR DS:
0040C301         . |85C0         TEST EAX,EAX
0040C303         . |0F84 0F000000 JE KitchenD.0040C318
0040C309         . |8B45 B4         MOV EAX,DWORD PTR SS:
0040C30C         . |50             PUSH EAX
0040C30D         . |8D55 AC         LEA EDX,DWORD PTR SS:
0040C310         . |8B4D B8         MOV ECX,DWORD PTR SS:
0040C313         . |E8 38000000   CALL KitchenD.0040C350   //这个CALL进去,不然不能到OEP!
0040C318         > \837D AC 00   CMP DWORD PTR SS:,0

上面的NOP掉的代码走过之后要撤消修改,不然修复后有很多错误提示(已经有很多了!哈哈!)
我们单步走到这里:
0040C350         /$   56             PUSH ESI   //进0040C313后的代码!
0040C351         |.   57             PUSH EDI
0040C352         |.   8BF2         MOV ESI,EDX
0040C354         |.   8B7C24 0C       MOV EDI,DWORD PTR SS:
0040C358         |.   8B51 02         MOV EDX,DWORD PTR DS:
0040C35B         |.   3351 06         XOR EDX,DWORD PTR DS:
0040C35E         |.   3351 0A         XOR EDX,DWORD PTR DS:
0040C361         |.   03FA         ADD EDI,EDX
0040C363         |.   33D2         XOR EDX,EDX
0040C365         |>   8B41 06         /MOV EAX,DWORD PTR DS:
0040C368         |.   42             |INC EDX
0040C369         |.   314497 FC       |XOR DWORD PTR DS:,EAX
0040C36D         |.   42             |INC EDX
0040C36E         |.   8B41 0A         |MOV EAX,DWORD PTR DS:
0040C371         |.   314497 FC       |XOR DWORD PTR DS:,EAX
0040C375         |.   83FA 14         |CMP EDX,14
0040C378         |.^ 7C EB         \JL SHORT KitchenD.0040C365
0040C37A         |.   8B0E         MOV ECX,DWORD PTR DS://F4运行到所选!
0040C37C         |.   E8 5F320000   CALL KitchenD.0040F5E0
我们单步走到这里:
0040C387         |.   66:833D B8114>CMP WORD PTR DS:,0
0040C38F         |.   74 0C         JE SHORT KitchenD.0040C39D   //这个跳NOP掉,不然飞了!
0040C391         |.   66:833D C0114>CMP WORD PTR DS:,0
0040C399         |.   74 02         JE SHORT KitchenD.0040C39D
0040C39B         |.   FFD7         CALL EDI                     //这个CALL进去,不然不能到OEP!
0040C39D         |>   6A 00         PUSH 0                                     ; /Style =
0040C39F         |.   68 38124100   PUSH KitchenD.00411238                     ; |Title = "softSENTRY"
0040C3A4         |.   68 28124100   PUSH KitchenD.00411228                     ; |Text = "Failed to
0040C3A9         |.   6A 00         PUSH 0                                     ; |hOwner = NULL
0040C3AB         |.   FF15 48544100 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA
进去后的代码:

004018A0             55             DB 55                                     ;   CHAR 'U'
004018A1             8B             DB 8B
004018A2             EC             DB EC
004018A3             6A             DB 6A                                     ;   CHAR 'j'
004018A4             FF             DB FF
004018A5             68             DB 68                                     ;   CHAR 'h'
004018A6             D0             DB D0
004018A7             50             DB 50                                     ;   CHAR 'P'
004018A8             40             DB 40                                     ;   CHAR '@'
004018A9             00             DB 00
004018AA             68             DB 68                                     ;   CHAR 'h'
004018AB             D4             DB D4
004018AC             23             DB 23                                     ;   CHAR '#'
004018AD             40             DB 40                                     ;   CHAR '@'
004018AE             00             DB 00
004018AF             64             DB 64                                     ;   CHAR 'd'

分析后的代码:
004018A0         /.   55             PUSH EBP         //这里就是OEP。
004018A1         |.   8BEC         MOV EBP,ESP
004018A3         |.   6A FF         PUSH -1
004018A5         |.   68 D0504000   PUSH KitchenD.004050D0
004018AA         |.   68 D4234000   PUSH KitchenD.004023D4                     ;   SE 处理程序安装
004018AF         |.   64:A1 0000000>MOV EAX,DWORD PTR FS:
004018B5         |.   50             PUSH EAX
004018B6         |.   64:8925 00000>MOV DWORD PTR FS:,ESP
004018BD         |.   83EC 58         SUB ESP,58
004018C0         |.   53             PUSH EBX
004018C1         |.   56             PUSH ESI
004018C2         |.   57             PUSH EDI
004018C3         |.   8965 E8         MOV DWORD PTR SS:,ESP
004018C6         |.   FF15 48504000 CALL DWORD PTR DS:[<&KERNEL32.GetVersion>;   kernel32.GetVersion
004018CC         |.   33D2         XOR EDX,EDX
004018CE         |.   8AD4         MOV DL,AH
004018D0         |.   8915 D0674000 MOV DWORD PTR DS:,EDX
004018D6         |.   8BC8         MOV ECX,EAX
004018D8         |.   81E1 FF000000 AND ECX,0FF
http://www.jindianled.com/images/d3.jpg
原程序用PIED查壳是BC++的(图3),脱壳后的程序是VC++的(图4)难道这个程序有欺骗PIED的功能还是我脱壳后的文件有问题?

我们运行软件看到一个错误的提示:Error while creating Process!我们查找字串参考,可以看到有12个错误之多,如果没有NOP掉的代码走过之后撤消修改,错误将更多。

00401009   PUSH dumped_.0040603C                     :(
004011C4   PUSH dumped_.0040615C                     Couldn't find my data section !
00401216   MOV EDI,dumped_.00406130                     wasn't found in the current directory !
0040128E   MOV EDI,dumped_.00406620                   D
004012B5   PUSH dumped_.00406620                     D
004012DC   PUSH dumped_.00406110                     Error while creating Process !
00401714   PUSH dumped_.004060E4                     Error while mapping the target file (S&R) !
0040172F   PUSH dumped_.004060E4                     Error while mapping the target file (S&R) !
00401753   PUSH dumped_.004060E4                     Error while mapping the target file (S&R) !
0040177F   PUSH dumped_.004060C4                     Error - invalid PE file (S&R) !
004017A7   PUSH dumped_.004060C4                     Error - invalid PE file (S&R) !
004017CE   PUSH dumped_.00406094                     Error while writing into the Process Memory !
004017F6   PUSH dumped_.0040607C                     Wrong version (S&R) !
00401811   PUSH dumped_.00406050                     Error while reading the Process Memory !
0040182C   PUSH dumped_.00406040                     Wrong version !
00401847   PUSH dumped_.00406094                     Error while writing into the Process Memory !
00401D8D   MOV ESI,dumped_.00406808                   C:\kd\dumped_.exe
00402562   PUSH dumped_.004053B4                     <program name unknown>
004025A4   PUSH dumped_.004053B0                     ...
004025B8   PUSH dumped_.00405394                     Runtime Error!\n\nProgram:
004025D6   PUSH dumped_.00405390                     \n\n
004025FE   PUSH dumped_.00405368                     Microsoft Visual C++ Runtime Library
0040279D   MOV EDI,dumped_.00406970                   粒冢
004027EB   MOV EDI,dumped_.00406970                   粒冢
004028A0   MOV EDI,dumped_.00406970                   粒冢
0040380B   PUSH dumped_.004053FC                     user32.dll
00403822   PUSH dumped_.004053F0                     MessageBoxA
00403833   PUSH dumped_.004053E0                     GetActiveWindow
0040383B   PUSH dumped_.004053CC                     GetLastActivePopup

到底那里出了问题呢?这个也让我头痛了很久。我想到了:
我们在看原程序的时候用PIED查壳是BC++的但是有附加数据 ,我们处理下看看:

1.打开原程序拉到最后,然后上翻,到代码全是000的地方,一定要慢慢翻,因为代码太多,
右键点代码是000后的第一个数字选快开始,然后到代码的最后选快结束。然后选编辑,复制,标准
如图5:
http://www.jindianled.com/images/d4.jpg
2.打开脱壳后的程序。拉到代码最后一个字节,右键点
http://www.jindianled.com/images/d5.jpg
保存后我们运行,OK!!!!!!!!!!!


该软件有时间限制,试用是30,每新建一个工程就要减掉0.05,但是打开破解后的软件这个时间就不会动了!

我们脱壳后竟然爆破了!我有这么好的运气吗?不信???????


   于是就继续试用看看时间会不会改变,但是它一直没有变化!~~哈哈!!!难道上天也在帮助我让我继续走下去????
   看看软件界面:

http://www.jindianled.com/images/d6.jpg
看到了吧!还是显示29.50!

[ 本帖最后由 y2008 于 2009-8-18 23:05 编辑 ]

tomjdx 发表于 2009-4-22 00:18:06

太专业了,真是想不到。

y2008 发表于 2009-4-22 00:31:34

谢谢!你的支持!

garysky 发表于 2009-4-22 00:59:45

感谢楼主,提供专业的工具,强顶

wqfz 发表于 2009-4-22 08:46:07

附件密码倒是很容易猜可是什么东西也没有呀!

udud 发表于 2009-4-22 09:01:12

呵呵!是啊!是不是和楼主兄弟 用QQ传啊?

Nisy 发表于 2009-4-22 09:10:51

强 最后那些可能是附加数据 ~

my1229 发表于 2009-4-22 09:12:10

多谢和支持y2008楼主的详细分析,只是没有原版下载,希望楼主也能提供原版分享。

jeng 发表于 2009-4-22 13:46:06

没有原版下载,希望楼主也能提供原版分享

linshangyu 发表于 2009-4-22 15:40:54

不错!太强了!!/:014
页: [1] 2 3 4
查看完整版本: 2800元的韩国大信KD厨房设计软件暴力破解+处理附加数据!