| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | 

您现在的位置: 中国X黑客小组 >> 技术文章 >> 黑客技术 >> 破解专题 >> 文章正文 用户登录 新用户注册
  菜鸟必看的破解文章-爆破软件         ★★★ 【字体:
菜鸟必看的破解文章-爆破软件
作者:小弟[爆破…    文章来源:看雪    点击数:    更新时间:2005-1-27    

【破文作者】   小弟[爆破王]
【文章题目】   菜鸟必看的破解文章(1)-爆破软件
【软件名称】   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 <jmp.&USER32.MessageBoxA>   ; \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 <jmp.&KERNEL32.GetFileSize>|   那里(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 <jmp.&USER32.MessageBoxA> |   ; \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 <jmp.&USER32.MessageBoxA> |   ; \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 <jmp.&USER32.MessageBoxA>     ; |\MessageBoxA
00401088   \> E8 0C000000     call <jmp.&KERNEL32.ExitProcess>   ; \ExitProcess

----------------------------------------------------------------------------------------------
【破解心得】
把整个思路概括一下.
软件先检查光驱是否有光盘,如果没有提示没有光盘,改跳转使之去反,提示文件错误,改跳转使之去反,爆破成功^_^
写成程序的格式
if 光驱有光盘 then
if 光盘上的文件正确 then
成功执行
else

[1] [2] 下一页

文章录入:IceRiver    责任编辑:IceRiver 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    菜鸟安全进阶 看清木马在系
    安全基础 教菜鸟配置ADSL M
    菜鸟也能搞定C++内存泄漏
    黑客菜鸟教程之熟知Cookies文
    黑客菜鸟教程之Cookies欺骗
    菜鸟Windows八大保密技巧
    “灰鸽子”系黑客菜鸟程序 杀
    菜鸟也来对付最流行的几种病
    菜鸟浅谈Linux内核编译过程
    初上网者必看---我们为什么需
      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    Powered by ICE RIVER - STUDIO
    » CnXHacker.CoM   © CopyRight 2002-2006, CnXHacker.CoM™, Inc. All Rights Reserved.