好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CuteDraw2.0破解手记

CuteDraw是一款非常不错的流程图制作软件,该软件详细介绍如下: CuteDraw是一款新的流程图、网络图绘制软件,新颖小巧,功能强大,可以很方便的绘制各种专业的业务流程图、组织结构图、商业图表、程序流程图,数据流程图,网络拓扑图等。 它帮助您更方便,更

CuteDraw是一款非常不错的流程图制作软件,该软件详细介绍如下:

CuteDraw是一款新的流程图、网络图绘制软件,新颖小巧,功能强大,可以很方便的绘制各种专业的业务流程图、组织结构图、商业图表、程序流程图,数据流程图,网络拓扑图等。

它帮助您更方便,更快捷的阐述设计思想,创作灵感。在设计时采用全拖曳式操作,结合600多个常用图形模板库和用户自定义实例库,最大程度简化用户的工作量;让你在工作时既可以充分利用固有的素材,又可以借鉴他人的作品。

适用范围:
基本流程图,网络拓扑图,组织结构图,人力资源图,工作流程图,商业图表,软件设计,2D, 3D 图形,计划 / 报表,EPC, SDL, TQM 等。

网上似乎还没有破解版,保护做的还不错,很久没玩逆向了因此想练练手

注:调试纯粹属于兴趣和技术研究,请不要用于非法用途.本人不承担因非法使用带来的法律责任

限制:没怎么用,不知道功能有什么限制,不过有时间限制

先用PEID查壳,ASPack 2.12 -> Alexey Solodovnikov,只是一个压缩壳,顺手脱了很顺利,运行,出错了:

到看雪看了下发现也有人再研究不过没深入,只需要把脱壳后的文件改成CuteDraw.Exe就可以了(晕,还有不能改文件名的),改后可以运行了,不过一运行就自动关闭了,有自效验.

反正慢慢的跟了,也没下什么断点,就是耐心的走,发现一处代码再41f5ea处

004175EA | . FF15 58A05200 call dword ptr [ &mfc80u .# 575 > ] ; mfc80u . 7834DD87
004175F0 | . 68 40425400 push 00544240 ; ASCII " 224H*y*@-qqwq "
004175F5 | . 68 50425400 push 00544250 ; ASCII " !_wIO)[]e3d|r@- "
004175FA | . 51 push ecx
004175FB | . 8D5424 38 lea edx , dword ptr [esp + 38 ]
004175FF | . 8BCC mov ecx , esp
00417601 | . 896424 1C mov dword ptr [esp + 1C] , esp
00417605 | . 52 push edx
00417606 | . FF15 CCA05200 call dword ptr [ &mfc80u .# 280 > ] ; mfc80u . 7830581E
0041760C | . 51 push ecx
0041760D | . C68424 000500 > mov byte ptr [esp + 500 ] , 20
00417615 | . 8D4424 34 lea eax , dword ptr [esp + 34 ]
00417619 | . 8BCC mov ecx , esp
0041761B | . 896424 50 mov dword ptr [esp + 50 ] , esp
0041761F | . 50 push eax
00417620 | . FF15 CCA05200 call dword ptr [ &mfc80u .# 280 > ] ; mfc80u . 7830581E
00417626 | . C68424 000500 > mov byte ptr [esp + 500 ] , 1D
0041762E | . E8 3DA90500 call 00471F70
00417633 | . 83C4 10 add esp , 10
00417636 | . 85C0 test eax , eax

看着4175F0和4175F5处的两处字符串,很像是CRC的比较,417636比较EAX之后就是一个跳转,把它NOP掉,保存再运行,自效验搞定了

不过程序再别的地方还有检验,一进入主界面就会挂掉,不过没关系了,这里要做的就是分析脱壳后的程序的注册流程,挂不挂不管它:)

点击注册,一段时间后弹出注册失败字样,看上去象个MessageBox,下断点,再注册,没有收获......

还是先看看字符串参考里面有没有什么提示信息,找到一个

UNICODE "http://www.cutedraw.com/reg/activate.php"的字串,看来还有网络验证?下断点,再点击注册,果然停下来了,程序访问该网址,并且通过GET请求参数order_id和machine_id,order_id就是输入的序列号,machine_id因该是每台机器都不同,直接再浏览器里面访问返回"ER104",继续跟程序,程序里面有返回值判断,首先判断返回串里面有没有"ER",有就完了,再根据后面跟的东西不同弹出不同的错误信息,把跳转搞掉让它跳到后面的"OK"字串,OK,提示注册成功了,但是,好像没什么反应啊,界面还是留在注册界面,还是要点击继续试用才能进入主界面,看来此路不通....

想想注册提醒是一启动就弹出来,肯定本地还是有注册信息进行效验,看来这个软件的流程是先通过注册码从网络激活,然后再每次启动的时候都本地比较,感觉怪怪的,其实网络验证也不是那么的可信....废话不多说,找了下相关文件,发现Config目录下有个User.Ini,里面存放的就是注册信息了,于是下断点GetPrivateProfileStringW,运行,找到了读取User配置的位置,还发现使用时间也是存在一个sf.tmp的INI文件里面,改一下时间软件就过期了,或者删掉这个文件软件又可以使用一个月了-_-#.读完User.Ini里面的Pass字段就是好大一长串的注册码效验代码,由于这个东西不太好调试,于是只找关键跳就行了,判断完注册码后软件会比较eax的结果是否为1,不为1就是未激活,所以只要再判断注册码最后一个地方有个

xor eax,eax 改成 mov al,1就OK了

或者还有一种改法,再417951处

0041794A | . E8 11100600 call 00478960
0041794F | . 85C0 test eax , eax
00417951 | . 0F85 85000000 jnz 004179DC

改成Jmp 4179DC就OK了,用KEYMAKE做个内存补丁改这一处跳转就行.

最后运行还是显示试用版,不过已经没有激活提示了,如图:


破解完成,再强调如果你要使用该软件,请支持正版

查看更多关于CuteDraw2.0破解手记的详细内容...

  阅读:32次