使用OllyDbg破解软件

 好,废话不多说,教程开始。
  我们首先查壳,是Aspark的壳,对于这个壳,大家应该很熟了。

<ignore_js_op> 
  我已经脱好了壳,再查一下壳,是Dephi的
<ignore_js_op> 

<ignore_js_op> 
  我们先使用一下软件,详细了解
<ignore_js_op> 

<ignore_js_op> 
  很明显,未注册版本不能使用“单人挑战”、“网络挑战”等功能,那么破解就是为了可以使用这些功能。


  好,我们用OllyDbg载入软件
<ignore_js_op> 
  直接让软件运行,并点击“单人挑战”,随意选择等级,弹出“未注册”

  让软件暂停运行,点击  “查看”—“调用堆栈”  弹出堆栈窗口,如图
<ignore_js_op> 
  选择最后的一行,右击,选择显示调用,来到弹出窗口的CALL
<ignore_js_op> 
  分析一下,显然00569A7F是跳转的关键。那有朋友要说,不是把那行的“jnz”改为“je”就可以了吗?是的,这样确实可以,但因为未注册版本有很多功能无法使用,如果只改这里,那么其他的功能(如网络挑战)还得按照这样的方法修改。这不是很烦吗?所以我们要找到使这个跳转跳向未注册的关键点
<ignore_js_op> 
  我们在这段代码的开头下F2断点,重新运行软件,点击“单人挑战”,随意选择等级,程序马上暂停,Ollydbg提示有断点。然后一步步分析,发现00569A7C的代码似乎是判断是否注册的关键。单步运行到00569A7C,CPU下方小窗口显示ds[005731E4]=00,那很显然,只要ds[005731E4]=01,那么程序就是注册的了。我们右击这个提示,选“数据窗口中跟随地址”,如图
<ignore_js_op> 
  如图,将005731E4的数据改为01

 

 

  接下来就是要生成破解后的文件,在数据窗口右击,选“复制到可执行文件”,在弹出的窗口右击,选“保存文件”
<ignore_js_op> 

<ignore_js_op> 
  我们试用一下破解后的文件,可以了,已经没有限制
<ignore_js_op> 
  到这里,教程就结束了,大家下去后好好练习下。我修改了一下软件的界面,如图
<ignore_js_op> 

<ignore_js_op> 

  附上软件的地址http://u.115.com/file/f3af9dca33   开心知识问答.zip
  其中的kxqa.exe是原程序,脱壳.exe是脱壳后的文件,破解.exe是破解后的文件,开心知识问答.exe是我修改软件界面后的文件

原文地址:https://www.cnblogs.com/mafeng/p/5667937.html