好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 coolszy 于 2010-2-12 09:42 编辑
【文章标题】: 菜鸟寻找一个CrackMe注册码思路
【软件名称】: CrackMe
【下载地址】: 附件中
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
本人学习破解有很长时间了,中途由于学习原因荒废了很长时间,最近利用假期又加入到破解的学习队伍中。由于本人入门
不是很深,所以很多东西还没有掌握,本文仅仅是记录了我破解这个CrackMe的思路,菜鸟学之,老鸟远之,O(∩_∩)O~。
这是在看雪论坛上看到的一个CrackMe。
图片见附件
首先查壳:Borland Delphi 6.0,没有加壳。
思路1)本地运行随便输入假码点击“验证”弹出对话框“错了,再来!”,我们利用这个字符串在OD中查找,载入到OD,使用插件或者
查找OD的查找文本功能查找“!”,提示没有找到,放弃。
思路2)下面我们这样试试,在OD中运行程序随便输入假码,点击“验证”,程序弹出对话框“错了,再来!”,我们暂停OD--Alt+K
来到堆栈窗口,里面并没有我们需要的提示警告,放弃。
这两种方法都不行,下面我们试试在内存中找注册码。
思路3)我们根据弹出的对话框下断试试,由于本人是菜鸟,不知道各个断点是什么意思。所以每个都试下:
bp MessageBox(A) 创建消息框
bp MessageBoxExA 创建消息框
bp MessageBoxIndirect(A) 创建定制消息框
bp IsDialogMessageW
但是每个断点都拦截不到,放弃。
思路4)本地运行随便输入假码点击“验证”弹出对话框“错了,再来!”,然后打开WinHex,“工具”--打开“RAM”--找到程序名
--整个内存-确定。Ctrl+F,搜索文本为我们的假码,编码为“ASCII”,确定,搜索到后我们往上、往下翻翻看看有什么特殊的
字符串。没有的话F3搜索下一处。在第二处我发现有这样一段字符串【72C24DD5-D70A-438B-8A42-98424B88AFB】,先保存继续
搜索,在第三处有发现一串【MFX-5527-1897-1603-VI】,继续搜索哦直至完毕。下面我们试试我们找到的这两串字符串是否是
注册码?
72C24DD5-D70A-438B-8A42-98424B88AFB--->NO
MFX-5527-1897-1603-VI-->YES
这样我们找到了注册码。
--------------------------------------------------------------------------------
注册码找到后我看了下跟帖人得破解思路,发现一种我熟悉而忘记的方法,下面给大家提示下:
思路5)由于程序时Delphi的,我们使用DEDE分析该程序,找到Button的Click事件在内存中的地址,然后再OD来到该处下段,下面就
自己分析吧。
--------------------------------------------------------------------------------
【经验总结】
多动手,多总结,多分析。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于coolszy, 转载请注明作者并保持文章的完整, 谢谢!
2010年02月12日 9:33:09 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|