频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

菜鸟必看的破解文章-爆破软件

作者: 小弟[爆破王] 出处:看雪 2007-02-26 17:37    砖    好    评论   进入论坛
阅读提示:本文属加密解密的入门教程,适合初学者理解并掌握破解技术。

【软件名称】   crackme
【加密方式】   光盘加密
【破解工具】   OllyDbg v1.10b
【软件限制】   没有
【破解平台】   XP SP2
【文章简介】
这篇文章是专门给菜鸟看的,高手莫笑,本人的能力也很有限,所以只能写出这样的文章,不要笑我.
有什么不明的可以下面帖出.
【破解过程】
这帖子破解的是一个crackme.主要是真正的软件我破解不了^_^.
这里把暴力破解的原理讲解一下.
if qqq=1 then
注册正确
end if
这里用这个语句来说明一下,
如果QQ=1的话注册正确,但是我们可以使条件变成相反的变成
if not qqq=1 then
注册正确
end if
这样我们就可以使用不正确的注册码,而用正确的注册码凡尔不正确。因为我们的条件去反了。
这就是爆破的基本原理
这里给主一些经常见到的跳转
Jc   有进位则跳转         jnc   无进位则跳转
Jz   为 0 跳转               jnz   不为0跳转
Je   等于则跳转               jne   不等于则跳转
Js   为负号则跳转             jns   不为负号则跳转
Jo   有溢出则跳转             jno   无溢出则跳转
Jp   奇偶位为偶               jnp   奇偶位为奇
好了,现在开始我们的爆破旅程^_^
先用OllyDbg v1.10b载入unabexcm1.exe
然后看到一下代码
00401000 u>/$ 6A 00         push 0                   ; /Style = MB_OK|MB_APPLMODAL
00401002   |. 68 00204000     push unabexcr.00402000         ; |Title = "abex' 3rd crackme"
00401007   |. 68 12204000     push unabexcr.00402012         ; |Text = "Click OK to check for the keyfile."
0040100C   |. 6A 00         push 0                   ; |hOwner = NULL
0040100E   |. E8 8C000000     call    ; \MessageBoxA
00401013   |. 6A 00         push 0                   ; /hTemplateFile = NULL
00401015   |. 68 80000000     push 80                   ; |Attributes = NORMAL
0040101A   |. 6A 03         push 3                   ; |Mode = OPEN_EXISTING
0040101C   |. 6A 00         push 0                   ; |pSecurity = NULL
0040101E   |. 6A 00         push 0                   ; |ShareMode = 0
00401020   |. 68 00000080     push 80000000               ; |Access = GENERIC_READ
00401025   |. 68 B9204000     push unabexcr.004020B9         ; |FileName = "abex.l2c"
是不是看不懂?不用管他,按F9继续执行点击确定之后提示Hmmmmm,I can't find the file!记下来后面有用
然后在汇编代码上右击选择搜索->字符参考.
过一会看到一堆字符,找到Hmmmmm,I can't find the file!双击
来到这里
00401034   |. 83F8 FF         cmp eax,-1               -----------------------
00401037   |. 74 3C         je short unabexcr.00401075<-----|---看到这个跳转了么? |
00401039   |. 6A 00         push 0                 |   他会先检查是否   |
0040103B   |. FF35 CA204000     push dword ptr ds:[4020CA]     |   有光盘,如果没有就跳转到错误提示
00401041   |. E8 4D000000     call |   那里(1)改过之后就不会跳转而出现
00401046   |. 83F8 12         cmp eax,12               |   文件错误的提示使因为
00401049   |. 75 15         jnz short unabexcr.00401060   |<--这个跳转的原因,他会比较文件是否
0040104B   |. 6A 00         push 0                 |   正确,如果不正确就会跳转到文件错
0040104D   |. 68 35204000     push unabexcr.00402035       |   误的提示-------------------------
00401052   |. 68 40204000     push unabexcr.00402040       |   我们把他改为jz就可以完美爆破   |
00401057   |. 6A 00         push 0                 |   ; |hOwner = NULL           |
00401059   |. E8 41000000     call |   ; \MessageBoxA             |
0040105E   |. EB 28         jmp short unabexcr.00401088   |                       |
00401060   |> 6A 00         push 0                 |   ; /Style = MB_OK|MB_APPLMODAL<-(2)
00401062   |. 68 79204000     push unabexcr.00402079       |   ; |Title = "Error"
00401067   |. 68 7F204000     push unabexcr.0040207F       |   ; |Text = "The found file is not a valid keyfile!"
0040106C   |. 6A 00         push 0                 |   ; |hOwner = NULL
0040106E   |. E8 2C000000     call |   ; \MessageBoxA
00401073   |. EB 13         jmp short unabexcr.00401088   |
00401075   |> 6A 00         push 0                 (1)->; |/Style = MB_OK|MB_APPLMODAL
00401077   |. 68 54204000     push unabexcr.00402054         ; ||Title = "Error"
0040107C   |. 68 5A204000     push unabexcr.0040205A         ; ||Text = "Hmmmmm, I can't find the file!"
00401081   |. 6A 00         push 0                     ; ||hOwner = NULL
00401083   |. E8 17000000     call      ; |\MessageBoxA
00401088   \> E8 0C000000     call    ; \ExitProcess
----------------------------------------------------------------------------------------------
【破解心得】
把整个思路概括一下.
软件先检查光驱是否有光盘,如果没有提示没有光盘,改跳转使之去反,提示文件错误,改跳转使之去反,爆破成功^_^
写成程序的格式
if 光驱有光盘 then
if 光盘上的文件正确 then
成功执行
else
提示文件错误
end if
else
提示没有放入光盘
end if
改变后
if 光驱没有光盘 then
if 光盘上的文件不正确 then
成功执行
else
提示文件错误
end if
else
提示没有放入光盘
end if
写的有些简单,但是一些基本的东西还是出来了,希望大家可以看明白,后面还有一个crackme,希望你可以自己暴破.
切记不要就此不前,只会爆破,下片帖子我会贴出怎么追出注册码.

责任编辑 赵毅 zhaoyi#51cto.com TEL:(010)68476636-8001


专题
Linux——从菜鸟到高手
赛门铁克诺顿误杀Windows系统文件 导致百万系统崩溃
网吧管理软件
Oracle较真SAP-商业管理软件之战一触即发
玩转Vista上的杀毒软件
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。