嘟嘟美食菜谱 Ver 2.16 破解笔记
【破解作者】 aCaFeeL
【作者主页】
http://cztool.ys168.com/
【使用工具】 cao_cong 兄弟的 OllyDBG 汉化第二版
【破解平台】 Win98SE
【软件名称】 嘟嘟美食菜谱 Ver 2.16
【下载地址】
http://www.dudusoft.com/
【软件简介】 嘟嘟美食菜谱是一个简单易用、设计贴心的中文菜谱软件。它可以帮助厨房新手轻松做出美味佳肴,也可以帮助厨艺高手整理记录自己的菜谱。它内置的几项功能更可以帮助你制定饮食计划,管理购物清单。
【破解声明】 也不知怎么回事,最近突然爱上了做菜,周末去书城买了一本《天天新口味系列丛书-家常菜》看过之后还不觉过瘾,于是便想到了网络上,到网上一搜索,还真多!嘿嘿,赶紧下了几部下来看,感觉还不错,于是想把它们收藏,于是。。。(声明:只为爱好而破解!愿与我一样还是破解菜鸟的朋友们一起分享!)
【软件限制】 通过对它的使用,发现未注册版本的限制主要是‘菜谱包管理’窗口中的‘导入’功能不能使用;主窗口的标题栏要显示‘未注册版本’字样。
【破解内容】
运行嘟嘟美食菜谱软件后,发现它没有注册输入的地方,看来要从程序的启动中入手爆破了!
首先一检查,没有加壳,呵呵!可以省脱壳这一步了。
用OllyDBG载入DuduCookBook.eXe文件后,点击‘插件’菜单下‘Ultra 字符串参考->查找UniCode’选项,在弹出的‘Ultra 字符串参考’窗口中,按Ctrl+F键打开查找对话框后输入 未注册 字符串,于是找到了和它相关的信息:
。。。。。。
0055D66A MOV EAX,DUDUCOOK.0055D6C0 未注册版本,无法导入更多菜谱
。。。。。。
005912A8 MOV EDX,DUDUCOOK.005912DC 嘟嘟美食菜谱2.16 已注册版本
005912C4 MOV EDX,DUDUCOOK.00591304 嘟嘟美食菜谱2.16 未注册版本
。。。。。。
双击虚拟地址:0055D66A 这一行后,在CPU窗口中看到了如下的代码:
。。。。。。
0055D63C . 53 PUSH EBX
0055D63D . 56 PUSH ESI
0055D63E . 8BD8 MOV EBX,EAX
0055D640 . A1 00595900 MOV EAX,DWORD PTR DS:[595900]
0055D645 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
0055D647 . 80B8 CC050000 0>CMP BYTE PTR DS:[EAX+5CC],0
0055D64E . 75 27 JNZ SHORT DUDUCOOK.0055D677 //这便是关键的调转,一跳便能绕过‘未注册’提示,并实现导入功能!
0055D650 . A1 F0585900 MOV EAX,DWORD PTR DS:[5958F0]
0055D655 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
0055D657 . 8B40 68 MOV EAX,DWORD PTR DS:[EAX+68]
0055D65A . 8B10 MOV EDX,DWORD PTR DS:[EAX]
0055D65C . FF92 4C010000 CALL DWORD PTR DS:[EDX+14C]
0055D662 . 3B05 A84A5900 CMP EAX,DWORD PTR DS:[594AA8]
0055D668 . 7E 0D JLE SHORT DUDUCOOK.0055D677
0055D66A . B8 C0D65500 MOV EAX,DUDUCOOK.0055D6C0 //鼠标停留在了这里;‘未注册版本,无法导入更多菜谱’
0055D66F . E8 28E1EDFF CALL DUDUCOOK.0043B79C //调用‘未注册’提示的对话框
0055D674 . 5E POP ESI
0055D675 . 5B POP EBX
0055D676 . C3 RETN //‘未注册版本’子程序的结束
0055D677 > \A1 F0585900 MOV EAX,DWORD PTR DS:[5958F0] //如果是‘已注册版本’,便从 0055D64E 跳转到了这里
0055D67C . 8B00 MOV EAX,DWORD PTR DS:[EAX]
0055D67E . 8B80 90000000 MOV EAX,DWORD PTR DS:[EAX+90]
0055D684 . 66:BE EFFF MOV SI,0FFEF
0055D688 . E8 2B61EAFF CALL DUDUCOOK.004037B8
0055D68D > A1 307F5900 MOV EAX,DWORD PTR DS:[597F30]
0055D692 . 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
0055D698 . 66:BE EFFF MOV SI,0FFEF
0055D69C . E8 1761EAFF CALL DUDUCOOK.004037B8
0055D6A1 . 8B93 20030000 MOV EDX,DWORD PTR DS:[EBX+320]
0055D6A7 . 8BC3 MOV EAX,EBX
0055D6A9 . E8 66FDFFFF CALL DUDUCOOK.0055D414
0055D6AE . C683 8D030000 0>MOV BYTE PTR DS:[EBX+38D],1
0055D6B5 . 5E POP ESI
0055D6B6 . 5B POP EBX
0055D6B7 . C3 RETN //‘已注册版本’子程序的结束
。。。。。。
又双击虚拟地址:005912C4 这一行后,在CPU窗口中看到了如下的代码:
。。。。。。
0059129B > /C3 RETN //上一个子程序的结束
0059129C . |53 PUSH EBX
0059129D > |8BD8 MOV EBX,EAX
0059129F . |E8 D0AFFFFF CALL DUDUCOOK.0058C274
005912A4 . |84C0 TEST AL,AL
005912A6 . |74 15 JE SHORT DUDUCOOK.005912BD //这便是关键的调转,能到‘已注册版本’的子程序内,便成功了!
005912A8 . |BA DC125900 MOV EDX,DUDUCOOK.005912DC //‘嘟嘟美食菜谱2.16 已注册版本’
005912AD . |8BC3 MOV EAX,EBX
005912AF . |E8 F033EEFF CALL DUDUCOOK.004746A4
005912B4 . |C683 CC050000 0>MOV BYTE PTR DS:[EBX+5CC],1
005912BB . |5B POP EBX
005912BC . |C3 RETN //‘已注册版本’子程序的结束
005912BD > |C683 CC050000 0>MOV BYTE PTR DS:[EBX+5CC],0
005912C4 . |BA 04135900 MOV EDX,DUDUCOOK.00591304 //鼠标停留在了这里;‘嘟嘟美食菜谱2.16 未注册版本’
005912C9 . |8BC3 MOV EAX,EBX
005912CB . |E8 D433EEFF CALL DUDUCOOK.004746A4
005912D0 . |5B POP EBX
005912D1 . |C3 RETN //‘未注册版本’子程序的结束
。。。。。。
故,在DuduCookBook.eXe文件中,找到
机器码:00 75 27 a1 f0 //导入 按钮
用:00 EB 27 a1 f0 代替 //修改后代码
机器码:FF 84 c0 74 15 ba //程序主界面
用:FF 84 c0 90 90 ba 代替 //修改后代码
即可!
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!三克油!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课