分享

新手破解——调用堆栈法

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

查壳.jpg
  我已经脱好了壳,再查一下壳,是Dephi的
查壳2.jpg


查壳3.jpg

  我们先使用一下软件,详细了解
破解1.jpg

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

  好,我们用Ollydbg载入软件,这是程序入口
载入.jpg


让软件运行,并点击“单人挑战”,随意选择等级,弹出“未注册”

破解2.jpg

  让软件暂停运行,点击  “查看”—“调用堆栈”  弹出堆栈窗口,如图

破解3.jpg

  选择最后的一行,右击,选择显示调用,来到弹出窗口的CALL

破解4.jpg

  分析一下,显然00569A7F是跳转的关键。那有朋友要说,不是把那行的“jnz”改为“je”就可以了吗?是的,这样确实可以,但因为未注册版本有很多功能无法使用,如果只改这里,那么其他的功能(如网络挑战)还得按照这样的方法修改。这不是很烦吗?所以我们要找到使这个跳转跳向未注册的关键点

破解5.jpg
  我们在这段代码的开头下F2断点,重新运行软件,点击“单人挑战”,随意选择等级,程序马上暂停,Ollydbg提示有断点。然后一步步分析,发现00569A7C的代码似乎是判断是否注册的关键。单步运行到00569A7C,CPU下方小窗口显示ds[005731E4]=00,那很显然,只要ds[005731E4]=01,那么程序就是注册的了。我们右击这个提示,选“数据窗口中跟随地址”,如图
破解6.jpg
  如图,将005731E4的数据改为01
破解7.jpg

破解8.jpg

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

破解9.jpg

破解10.jpg

  我们试用一下破解后的文件,可以了,已经没有限制

完成.jpg

  到这里,教程就结束了,大家下去后好好练习下。我修改了一下软件的界面,如图

修改1.jpg

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


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多