使用ollyodb破解AspriseOCR.dll

来源:互联网 发布:木村拓哉女儿知乎 编辑:程序博客网 时间:2024/06/13 13:57


本文的内容只是破解研究,不鼓励大家破解软件,还是去买正版吧,维护软件开发人员的利益

文章在本人博客地址http://actionstudio.sinaapp.com/blog/?p=79,大家多多支持。


最经在做网络投票软件,针对图片验证码的识别使用到OCR库(AspriseOCR.dll,下载地址http://asprise.com/product/ocr/selector.php),当动态库使用过期后,每次调用识别函数都会弹出对话框如图,当关闭对话框后,还是可以正常识别的。


破解的方法核心就是使用Ollyobg汇编工具对AspriseOCR.dll破解,不让弹出对话框就行了。


1. Ollyobg加载动态库,在反汇编窗口右击,选择“中文搜索引擎”-》“搜索ASCII” 。


2. 在新的窗口(文本字符串串口)右击点“查找”或者直接“Ctrl+F”,输入查找字符串,这里要查找的字符串是“All right....”(这是对话框的标题),一共查到了三处,实际上这三处都是在一起的。经分析,软件弹出的对话框是第3处(怎么分析的?通过弹出的字符串和关闭对话框跳转的网址),在第字符串上双击就回到了它所在的汇编代码处。


3. 这里我们可以看到实际上调用MessageBox弹出的对话框,分析这段代码的附近的流程,如图。


  • 先调用RegQueryValueEx(),获取到HKEY_LOCAL_MACHINE/Software/Lab Asprise!/OCR/4.0/Settings/option-do-not-modify的值。
  • 判断获取到的数值,不满足条件的话跳转到10006F8B弹出对话框,具体的判定条件没仔细分析,这个不重要。
  • 弹出对话框后,调用返回,弹出相应的堆栈,调用地址call Asprise0.100D6F40。
4. 只要修改JNZ跳转代码,使得在判定条件满足条件时不跳转到弹出对话框代码处。将10006F6A,10006F6F,10006F74处JNZ汇编代码修改为 nop空,使得代码不跳转到弹出对话框处。在汇编代码处双击,就可以弹出修改框,修改后的截图如图。



修改后右击-》“复制到可执行文件”-》“所有修改”-》“全部复制”。


在新的窗口下再次右击-》“保存文件”,这样将修改保存到文件。


整个破解过程就结束了,调用动态库中的API就不会再弹出对话框了。




1 1
原创粉丝点击