科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道菜鸟必看的破解文章-爆破软件

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文属加密解密的入门教程,适合初学者理解并掌握破解技术。

作者:小弟[爆破王] 来源:看雪   2008年9月22日

关键字: 加密解密 破解技术 爆破软件

  • 评论
  • 分享微博
  • 分享邮件

  【软件名称】 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,希望你可以自己暴破.

  切记不要就此不前,只会爆破,下片帖子我会贴出怎么追出注册码.

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章