`

XXXXX Barcode Reader 和谐手记

阅读更多

XXXX Barcode Reader 和谐手记

 

最近项目中用到一个条码读取组件,从ZxingIncodeLib试了一堆,没有一个比较满意的,识别率总是达不到客户的要求:(!

今天在网上找到ImagesInfoBarcode Reader组件,经测试,识别率感觉不错,但总是跳出一个对话框,“吧啦吧啦”一堆废话。兴之所至,想把对话框去掉。

想得容易,做起来难,虽然对java软件反向有点心得,对Native的软件还真没搞成功过,主要的短板是不懂汇编。不过既然想做,就试试看吧。

工具,是现成的,以前林林总总收集了一些,当然也有本次将用到的 OllyDBG(中文版,对于不懂汇编又不懂英文的人最合适)。

第一步,就是要确定对话框在哪个位置弹出。这个应该比较简单,只要找到对话框上的文字,找对话框弹出点也就容易多了。凭经验猜测对话框是在一个名为BarcodeR.dll中弹出的。

1、  启动OllyDBG,打开ImagesInfo测试程序ReadBarcode.exe

 

 

 

2、  待所依赖DLL都装载完成,然后按“Alt+E”打开“执行模块”窗口,找到BarcodeR.dll,然后该行上右键,弹出菜单,选择“跟随入口”,进入到BarcodeR.dll入口;



 

 

3、  然后在左上角反编译窗口右键,选择“查找à所有参考文本字串”,打开BarcodeR.dll中所有字符串引用的地址,在这里找到弹出对话框中独有字符串,右键并选择“反汇编窗口中跟随”,来到该字符串在代码中的位置。



 

 

 

4、  在字符串被引用的下方,应该可以看到类似:

10002061    FF15 78310110   call    dword ptr [<&USER32.MessageBoxA>]       ; user32.MessageBoxA

的代码,这是调用对话框函数。


 

5、  找到了对话框弹出点,剩下的工作就是如何让对话框乖乖地呆着不弹出了。

第二步,屏蔽对话框。

从原理上说,只需要让程序不执行

Call dword ptr [<&USER32.MessageBoxA>]

这行代码就行了,但怎样让程序不执行这行,不懂汇编的我是毫无头绪。只好要对话框弹出点附近乱改一气,但总是导致内存违例。

在网上找到一篇文章(http://www.oocities.org/r_etarded/ollypatch/ollypatch.html),给出了解决问题的方法:

1、  在调用MessageBoxA之前,必须先把调用参数入栈;

2、  MessageBoxAC语言声明格式如下:

int MessageBox(

HWND hWnd, // handle of owner window

LPCTSTR lpText, // address of text in message box

LPCTSTR lpCaption, // address of title of message box

UINT uType // style of message box

);

参数入栈的顺序是从右往左的,MessageBoxAr的四个参数分别是:参数1是对话框样式,参数2是对话框标题,参数3是对话框内容,参数四是调用的窗口句柄;



 

3、  要跳过对话框,只需在第一个参数入栈位置改成无条件跳转到调用对话框后面一行指令即可。


 
 

4、  在地址[ 10002051]行双击,弹出修改窗口,把“push 30”修改为“JMP 10002067”,按“汇编”确认修改;



 

 

 

5、  按“F9”运行,在BarcodeReader.exe中打开带条码的图像并执行识别,不再弹出试用版提示对话框。

6、  UltraEdit以二进制(十六进制)打开BarcodeR.dll,找到“83 C4 14 6A 30”并改为“83 C4 14 EB 14”然后保存,任务完成。

 

  • 大小: 46.5 KB
  • 大小: 28.9 KB
  • 大小: 61.8 KB
  • 大小: 56.7 KB
  • 大小: 112.9 KB
  • 大小: 66.3 KB
  • 大小: 107.9 KB
  • 大小: 63.8 KB
  • 大小: 64.2 KB
  • 大小: 57 KB
  • 大小: 46.5 KB
  • 大小: 61.8 KB
  • 大小: 112.9 KB
  • 大小: 107.9 KB
  • 大小: 64.2 KB
  • 大小: 53.2 KB
  • 大小: 58.3 KB
  • 大小: 64.5 KB
  • 大小: 70.1 KB
  • 大小: 71.3 KB
  • 大小: 72.8 KB
  • 大小: 63.5 KB
  • 大小: 68.8 KB
分享到:
评论

相关推荐

    DTK Barcode Reader SDK 4.1可用破解版

    DTK Barcode Reader SDK 4.1可用破解版,内含可用的Delphi实例

    OnBarcode .NET Barcode Reader 破解版

    OnBarcode .NET Barcode Reader is a C#.NET component (dll) which reads and scans barcode images in Visual C# .NET applications. .NET Barcode Reader is 100% built on C# 2005, for reading & scanning ...

    .NET Barcode Reader

    Our Barcode Reader for .NET is the best .NET / C# barcode image recognition component in the market. It can be used to read more than 20 linear and 2d barcode images for .NET applications.

    Vintasoft.Barcode reader 7.0

    Vintasoft Barcode Reader 7.0 是一款专业级别的条形码识别软件,适用于各种行业的条形码管理和数据采集需求。这款工具集成了强大的条形码生成和读取功能,旨在提升工作效率,确保数据准确无误。在IT领域,条形码...

    ImagesInfo Barcode Reader 1.7

    《ImagesInfo Barcode Reader 1.7:高效精准的条码识别技术详解》 在信息化高度发展的今天,条形码作为数据传输与管理的重要工具,广泛应用于零售、物流、仓储等各个领域。而“ImagesInfo Barcode Reader 1.7”正是...

    Barcode Reader Toolkit for Windows8.11

    "Barcode Reader Toolkit for Windows8.11" 是一个专门针对Windows 8.1系统的软件开发工具包,旨在帮助开发者构建能够读取和识别条形码的应用程序。这个工具包提供了必要的库和API,使得开发人员可以轻松地集成条形...

    2D Barcode reader.vi

    Labviewe二维码读取,里面可以调整Brightness、Contrast、Gamma和抽色。

    Ean13Barcode2005_barcodereader_

    标题"Ean13Barcode2005_barcodereader_"和描述"Permite la lectura de código de barras"表明我们关注的是一个与条形码阅读器相关的软件或库,特别是针对EAN-13条形码的版本,可能是在2005年发布。EAN-13是国际上...

    BarCodeReader

    《BarCodeReader与Softek Barcode Reader:深入解析与应用》 在信息技术高速发展的今天,条形码(Barcode)作为一种高效的数据输入和跟踪工具,在零售、物流、医疗等多个领域广泛应用。本文将围绕“BarCodeReader”...

    BarcodeReader测试版

    BarcodeReader for windows 当前支持条形码的种类有: Codabar Code39 Code93 Code128 GS1_128 Ean13 Ean8 UpcA UpcE Code39TriOptic Industrial2of5 Interleaved2of5 使用说明:运行test.exe 配置说明: 若条码的...

    windows-webcam-barcode-reader-master.zip_QRCODE_barcode reader_w

    标题中的“windows-webcam-barcode-reader-master.zip”表明这是一个用于Windows平台的二维码(QRCODE)条形码阅读器的源代码项目。这个项目可能是基于Webcam进行实时扫描的,因此它涉及到计算机视觉、图像处理以及...

    IOS应用源码之【类库与框架】ZBar-Barcode Reader(条码识别).rar

    ZBar-Barcode Reader是一个专门用于条码识别的类库,它允许用户在iOS设备上扫描并解析多种类型的条码,如EAN-13、UPC-A、Code128等。本项目将深入探讨ZBar-Barcode Reader的实现原理和使用方法。 首先,ZBar-...

    USB Barcode reader driver-开源

    标题中的“USB Barcode reader driver-开源”表明这是一个针对USB条码读取器的开源驱动程序。这意味着该软件的源代码是公开的,允许用户查看、修改和分发,符合开源软件的原则,通常遵循如GPL、MIT或Apache等开源...

    ZXing.Net.0.12.0.0

    IBarcodeReader reader = new BarcodeReader(); // load a bitmap var barcodeBitmap = (Bitmap)Bitmap.LoadFrom("C:\\sample-barcode-image.png"); // detect and decode the barcode inside the bitmap var result...

    IOS应用源码——ZBar Barcode Reader iPhone App_Src.rar

    "IOS应用源码——ZBar Barcode Reader iPhone App_Src.rar" 这个标题揭示了我们要讨论的内容是iOS平台上一个名为ZBar Barcode Reader的应用程序的源代码。ZBar是一个开源的条形码读取库,专门用于识别和解码多种类型...

    Barcode Reader试用版:一款简单易用的条码识别控件,支持WEB和桌面应用程序

    Barcode Reader For IOS 试用版 试用版 试用版 Barcode Reader For Linux 试用版 Barcode Reader For Windows 试用版 试用版 开发语言: .NET/ActiveX 可用平台: Visual Studio /Delphi/PHP/JavaScript 当前版本...

    Barcode-Reader:使用Google视觉库的Android条码读取器

    条形码阅读器-Google Mobile Vision ... // barcode reader implementation ' info.androidhive:barcode-reader:1.1.5 ' } 将条形码阅读器片段添加到您的活动中 &lt; fragment android : id =

    vue-barcode-reader:一组用于扫描条形码和二维码的 Vue.js 组件

    使用 Vue Barcode Reader 的最简单方法是从npm或yarn安装它。 npm install vue-barcode-reader --save 或者 yarn add vue-barcode-reader 用法 Vue Barcode Reader 只需包含它即可开箱即用。 使用摄像机 加载来自...

    ASI-DS9208-SR_Zebra_barcodereader_

    【标题】"ASI-DS9208-SR_Zebra_barcodereader_" 指的是 Zebra 公司的 DS9208-SR 条形码阅读器产品,这款设备专为扫描多种类型的条码而设计,包括 PDF417 二维条码。在条形码技术中,PDF417 是一种多行、连续的条码...

    【类库与框架】★★★★★-ZBar-Barcode Reader(条码识别).zipIOS应用例子源码下载

    【类库与框架】★★★★★-ZBar-Barcode Reader(条码识别).zipIOS应用例子源码下载【类库与框架】★★★★★-ZBar-Barcode Reader(条码识别).zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考...

Global site tag (gtag.js) - Google Analytics