Od软件破解

article/2025/10/2 1:38:46

【文章标题】:算法分析与注册机编写

【文章作者】:hahaya

【软件名称】:Free Internet Window Washer

【软件大小】:1177KB

【保护方式】:注册码

【软件介绍】:无

【下载地址】:http://download.csdn.net/detail/qiurisuixiang/4378781  

【加壳方式】:无壳

【编写工具】:Borland Delphi 6.0 - 7.0

【破解工具】:PEIDOD

【操作平台】:Win7

【作者声明】:只是感兴趣,没有其他目的

 

一 详细破解过程

安装

程序需要安装,一直下一步就OK

 

查壳

打开安装目录,将Clearpch.exe放入OD查壳,发现程序时无壳的

 

尝试注册

打开软件,会提示注册,随便输入授权人和注册码,会提示如下错误

注:对英文不熟悉的朋友,可以将软件语言改成中文,注册时直接点击Skip,然后点击Help栏目下的Language,选择其中的Chinese即可

 

爆破

(1)既然程序没有加壳,那么直接用OD载入,然后使用OD的插件查找,由于软件是用Delphi编写的,则搜索的时候选择ACSII方式查询

(2)在查询的时候遇到困难,并没有找到“Registration is not valid,please try agin。”这样的注册失败信息

(3)由于该程序支持多国语言,来到安装目录下发现一个名为WLan_English.ini的文件,打开得知这是英文显示语言包,尝试在该文件中搜索注册失败信息,结果如下图

 

(4)在WLan_English.ini中查找到“RES_Registration_Error = Registration is not valid, please try again.”这样一条信息,于是尝试在OD中查找RES_Registration_Error,果然找到了 一处,如下图所示

 

(5)双击RES_Registration_Error信息,来到反汇编窗口进行爆破

 

(6)为了简单,一般会在这个函数的头部下断点来进行调试,根据OD中函数头部的提示,函数头部在004D3464处,按F2下断点,然后进行动态调试

注:当类似mov edx,[local.4]这种看不懂的代码时,在反汇编窗口中点击鼠标右键,选择“分析”,最后选择“从模块中删除分析”就可以转换成熟知的代码了

 

(7)下好断点之后就可以运行程序进行动态调试了,按F9运行程序,程序运行后继续用假注册码进行注册,输入完成后,点击OK按钮,那么程序就会停止在我们下的断  点处,如下图所示,那么就可以进行动态调试了

 

(8)开始单步调试,按F8进行单步调试,每一次按F8后注意寄存器和缓冲区值的变化,尤其是要关注注册码信息是否出现,当执行到004D348E时,出现假注册码

 

(9)出现我们输入的假注册码,此时要特别留意,一般注册算法会在这个附近出现。根据经验来看,一般注册算法会出现在004D348E后的第一个call指令处,而关键跳则是  出现在004D348E后的跳向注册失败信息的的跳转。为了验证这个想法,修改004D3498  处的跳转使其实现,跳过注册失败的信息,修改如下图所示

 

(10)保存修改后的文件,然后打开注册,发现可以注册成功,则爆破成功

 

二 算法分析

在关键call上按F7单步步入开始跟踪注册算法

 

来到004D8300后进行F8单步调试,当程序运行到004D832B时出现了一个cmp指令进行比较,然后一个jne跳转,一般遇到这样的比较,后面接跳转的地方要特别注意,因为这很有可能是和注册算法有关的地方

 

在注释窗口或者寄存器窗口中可以看到eax中的值是十六进制的3,转成十进制也是3, 正好是我们输入假注册码的位数,通过下面的跳转发现这里判断输入的注册码是不是9位,如果是的话就继续注册,如果不是则跳转到下面,然后通过retn跳出子程序

 

ctrl + F2重新载入程序进行调试,这次输入9位数的注册码。当再次运行到004D832B时,由于eax的值是9则相等,ZF标志位为1jne跳转没有实现,则继续执行注册算法

 

算法注释如下,通过这段可以知道第一位和第四位之和要大于8,输入的假注册码“123456789”不满足要求,重新载入程序后输入满足要求的注册码继续分析

 

最后完整的注释如下图

 

通过对注册算法的反汇编代码的分析,可以得出以下结论:

(1)注册码为9

(2)注册码的第1位和第4之和要大于8

(3)注册码的第134之和的结果除以10的余数必须和注册码的第6位相等

(4)注册码的第2位必须大于5

(5)注册码的第5位必须小于3

(6)除了上面的注册码位数,注册码的其他位没有限制

 

 

三 编写注册机

注册机可以用任何一种计算机语言编写,这里就以Microsoft Visual Studio 2005为例

打开Microsoft Visual Studio 2005,新建一个MFC应用程序

 

注册机界面如下图

 

注册机关键代码

 

[cpp]  view plain copy
  1.         //定义个变量用于保存注册码的每一位的值  
  2. int one, two, three, four, five, six, seven, eight, nine;  
  3.   
  4. //给注册码的第位去一个随机值  
  5. one = rand() % 10;  
  6. //竟然注册码的第位和第位之和大于,那么就取  
  7. four = 9 - one;  
  8.   
  9. //注册码的第位必须大于,可以就取值为  
  10. two = 6;  
  11. //注册码的第位必须小于  
  12. five = rand() % 3;  
  13.   
  14. //注册码的第、、之和的结果除以的余数必须和注册码的第位相等  
  15. //先给第位取一个随机  
  16. three = rand() % 10;  
  17. six = (one + three + four) % 10;  
  18.   
  19. //注册码其余位的取值没有限制,取随机值  
  20.  seven = rand() % 10;  
  21.  eight = rand() % 10;  
  22.  nine = rand() % 10;  
  23.   
  24.   
  25. CString result;  
  26. //格式化字符串  
  27. result.Format(_T("%d%d%d%d%d%d%d%d%d"), one, two, three, four, five, six, seven, eight, nine);  
  28.   
  29. //将注册码设置到文本框中显示  
  30.  m_code.SetWindowTextW(result);  

http://chatgpt.dhexx.cn/article/PQjRWsNm.shtml

相关文章

简单详细的OD破解教程

2007-08-04 15:46作者:CCDebuger注:昨天在网上见到了这篇文章,但缺少插图,从另外一篇文章中也看到了类似的的教程文章,里面的插图质量实在不敢恭维。在一个论坛中正好下载了文章中所介绍的破解软件CRACKME3&#xff0c…

通过一个例子来介绍OD的简单使用

OllyDbg是一个32位的动态调试器,在平常做逆向的题中用的比较多,下面用bugku一个简单的例子Eazy-Re来介绍一下OllyDbg的使用。 首先打开程序,看一下是干什么的,他提示你输入flag,这里我随便输入几个字母,提…

OD基本介绍及快捷键讲解

OD简介 Ollydbg(简称OD)是Windows平台下Ring3级的程序调试利器。程序调试有静态调试和动态调试两种。静态调试是指将程序源代码编译成可执行程序之前,用手工或编译程序等方法对程序源代码进行测试,来查找和修正程序中的语法错误和…

OD修改软件

一、打开软件,查看正常运行的程序 二、打开OD,拖入要调试的程序 三、分析汇编代码 title是"Hello world",内存地址是0x00403000 四、数据窗口跳转到该地址,快捷键ctrlG 五、修改数据 点击要修改的地方,按…

简单详细的OD破解教程(转)

简单详细的OD破解教程 2007-08-04 15:46作者:CCDebuger注:昨天在网上见到了这篇文章,但缺少插图,从另外一篇文章中也看到了类似的的教程文章,里面的插图质量实在不敢恭维。在一个论坛中正好下载了文章中所介绍的破解软…

OD教程(汇编基础)

一、call有以下几种方式&#xff1a; call 404000h ;直接跳到函数或过程的地址 call eax ;函数或过程地址存放在eax call dword ptr [eax] call dword prt[eax ] call dword ptr [eax5] call dword prt[eax5] calldword ptr [<&API>] ;执行一个系统API 二、关于…

小甲鱼解密系列调试篇——OD使用教程笔记(持续更新中)

目录 一点铺垫&#xff1a;基础知识 1.汇编语言 2.NAG窗口 3.SEH 4.断点类型 一、MessageBox.exe修改程序标题内容——修改函数传入值 二、TraceMe.exe暴力破解程序登陆界面——搜索函数、寻找附近调用取值的地方 三、reverseMe.exe暴力破解/打补丁实现注册——分析文件…

第52篇:OD使用教程2-设置API函数断点去除软件对话框及过期校验

Part1 前言 大家好&#xff0c;我是ABC_123。之前分享过一篇Ollydbg逆向分析入门教程《第50篇&#xff1a;使用OD逆向破解流光Fluxay扫描器各种限制》&#xff0c;这篇文章主要讲解了在使用OD逆向分析时&#xff0c;如何按照编程人员的思维去解除软件的各种限制。方法有点麻烦…

od的简单使用--(1)

od的简单使用——&#xff08;1&#xff09; 一&#xff0c;本教程需要的工具OllyDBG 下载&#xff1a; OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能&#xff0c;更详细的内容可以参考 TT 小组翻译的中文帮助&#xff1a;反汇编窗口&#xff1a;显示被调试程…

PyCharm 社区版(Community)能不能商用?

其实官方博客已经给出了答案&#xff0c;截图如下&#xff1a; PyCharm社区版是专业版的阉割版&#xff0c;PYcharm专业版增加了Web开发、Python We框架、Python分析器、远程开发、支持数据库与SQL等更多高级功能。两者区分如下&#xff1a; 所以&#xff0c;大胆放心的用PyC…

Pycharm社区版下载及安装教程

下载&#xff1a; 下载地址&#xff1a;https://www.jetbrains.com/pycharm/download/#sectionwindows 安装&#xff1a; 打开你下载的路径&#xff0c;双击.exe文件&#xff0c;点击运行 默认点击next之后&#xff0c;选择路径&#xff0c;尽量不要选择在C盘&#xff0c;然后…

Pycharm社区版安装教程(永久免费,随时升级)

首先进入JetBrain的官网(国内正常访问): https://www.jetbrains.com/ 第一眼看到的界面如下图所示: 然后找到我们的Pycharm专题页: 进入Pycharm的专题页面之后,点击下载按钮(这里有两个按钮,点任何一个都行): 然后进入到真正的下载页面你会发现有两个版本的Pycharm,一个…

pycharm安装-社区版

下载地址 Download PyCharm: Python IDE for Professional Developers by JetBrains https://www.jetbrains.com/pycharm/download/#sectionwindows 下载社区版 安装过程 双击安装包 开始安装 安装过程 首次启动 双击桌面图标 选风格 深色保护视力 新建项目 新建文件

如何用Pycharm社区版连接数据库

用Pycharm社区版连接数据库 Pycharm 社区版安装过程 Pycharm 社区版 Pycharm社区版是比专业少了一些功能&#xff0c;直接并没有连接数据库的工具&#xff0c;所以需要自行下载安装。 安装过程 1.file->settings 2.在Plugins中搜索database 3.点击搜素 4.选中要下载的…

pycharm社区版安装及使用教程(win10系统)

1.下载 下载地址&#xff1a;https://www.jetbrains.com/pycharm/download/#sectionwindows 2.双击安装程序&#xff0c;直接next 3.选择安装路径&#xff08;安装路径最好不要带中文和空格&#xff09; 4.勾选配置&#xff0c;然后next 没有框起来的那一项不用勾选&#xf…

Pycharm的安装并且连接已有的Python环境实现自由编译(附中文配置)|并通过Pycharm实现增加网站访问

&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d; &#x1f947;博主昵称&#xff1a;Jovy. &#x1f35f;博客主页…

使用Pycharm连接服务器,实现代码同步

Table of Contents 一.目标 二.本地环境 三.步骤 四.同步代码 五. 配置远程Python解释器 六. 使用远程解释器运行本地Python程序 一.目标 Pycharm软件连接服务器&#xff0c;同步本地代码到服务器 二.本地环境 Pycharm专业版&#xff08;社区版没有该功能&#xff09;…

linux下pycharm专业版和社区版的安装

一.社区版的安装 1.在官网下载pycharm的源码安装包(https://www.jetbrains.com/pycharm/&#xff09; 进入官网&#xff0c;选择toolsx下的pycharm&#xff0c;再点击右上角的download&#xff0c;进去后选择想要的版本即可。 当然安装包也可以通过别人的分享获得&#xff0…

Pycharm社区版下载安装教程+图文教程

Pycharm下载网址&#xff1a;Download PyCharm: Python IDE for Professional Developers by JetBrains 下载后双击运行安装&#xff1a; 选择安装路径&#xff1a; 然后选择install安装即可 选择同意。 打开pycharm后新建项目&#xff0c;选择项目的路径&#xff0c;选择Pytho…

手把手教学安装pycharm(社区版)

1.首先我们要进入pycharm社区版的下载地址 下载&#xff1a;https://www.jetbrains.com/pycharm/ 官网中下载windows社区版&#xff08;免费&#xff09; 2.点击右边的社区版“COMMUNTY”下面的"DOWNLOAD"进行下载 3.下载完成后双击安装包进行安装 4.下一步&#…