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 编辑 ] 太专业了,真是想不到。 谢谢!你的支持! 感谢楼主,提供专业的工具,强顶 附件密码倒是很容易猜可是什么东西也没有呀! 呵呵!是啊!是不是和楼主兄弟 用QQ传啊? 强 最后那些可能是附加数据 ~ 多谢和支持y2008楼主的详细分析,只是没有原版下载,希望楼主也能提供原版分享。 没有原版下载,希望楼主也能提供原版分享 不错!太强了!!/:014