red_angelxID:Red_angelX
52749次访问,排名1977好友2人,关注者11
Red_angelX的文章
原创 53 篇
翻译 0 篇
转载 3 篇
评论 26 篇
Red_angelX的公告
新Blog:http://www.cnblogs.com/Red_angelX/ CSDN BLOG停用
最近评论
lrongk:怎么没有原码
lqqldj:第一次看此类破解文章,大开眼界,谢谢.
afterruins:能把代码发下麽!学习学习!谢谢啊!
li_zhao_long@126.com
zhangwujian85:怎么下不了啊
pks3000:0Day 是啥?
文章分类
收藏
    相册
    推荐网站
    CodeProject
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 CuteDraw 2.0 破解手记收藏

    新一篇: 那些人,那些事 | 旧一篇: 跨越线程调用窗体上的控件

     

                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做个内存补丁改这一处跳转就行.

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

         

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

    发表于 @ 2006年10月31日 08:57:00|评论(loading...)|编辑

    新一篇: 那些人,那些事 | 旧一篇: 跨越线程调用窗体上的控件

    评论

    #空手剑客 发表于2006-11-10 08:08:00  IP: 61.150.43.*
    顶!
    我就是在看雪整它的人,由于水平不高,没有搞定
    向高手学习!
    # likethis article 发表于2006-11-25 21:48:00  IP: 218.4.189.*
    又学了一课,好东西:)
    谢谢了,
    我用IDA总搞不定它
    #lqqldj 发表于2008-03-25 10:40:04  IP: 219.135.47.*
    第一次看此类破解文章,大开眼界,谢谢.
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © Red_angelX