OD调试2----破解序列号验证程序

摘要:
本文使用的实验效果图如下。输入用户名和序列号,然后单击检查:首先,让我们分析这个程序的应用过程。我们的目标是让它跳过错误的对话框,跳出正确的对话框。然后我们需要找到调用该函数的位置。首先,按F3加载程序。进入界面后,按F8运行程序并输入用户名和序列号。如下图所示:点击check,程序会跳转到算法匹配,即验证用户名和序列号的地方。我们可以看到调用对话框的函数GetDlgItemTe

本文所用实验效果图如下,输入用户名和序列号,点击check:

OD调试2----破解序列号验证程序第1张OD调试2----破解序列号验证程序第2张

首先我们来分析一下这个程序的运用流程,

OD调试2----破解序列号验证程序第3张

我们的目的就是让其跳过错误的对话框,跳出正确对话框。那我们就要找到何处调用的这个函数。

第一步,按F3加载程序。

OD调试2----破解序列号验证程序第4张

进入界面后,按F8运行程序,输入用户名和序列号。如下图:

OD调试2----破解序列号验证程序第5张

然后点击check,程序会跳转到算法匹配,也就是验证用户名和序列号的地方。我们可以看到这个这个调用对话框的函数,GetDlgItemTextA().

OD调试2----破解序列号验证程序第6张

按F8往下走,看着运行信息,会发现有用的东西。

OD调试2----破解序列号验证程序第7张OD调试2----破解序列号验证程序第8张OD调试2----破解序列号验证程序第9张

 dword ptr [esp+4c]是存放用户名的地址,下面那个同理,ASCI  ''11111111111111''就是用户名,push就是将其压入栈中。第一张图片的含义显示用户名的地址,然后赋给edx(扩展数据寄存器),再将寄存器中的内容压入栈中。序列号也是同理。

好的我们接着往下走。碰见一个跳转,

OD调试2----破解序列号验证程序第10张

再接着走,结果出现:

OD调试2----破解序列号验证程序第11张

所以,这个就是我们要找的地方,可是为什么呢?原因就在刚才那个je上面的test eax,eax,eax比较后,标志位寄存器z为1,所以发生了跳转。

说到这里,修改就很简单了。可以把je修改为nop.

OD调试2----破解序列号验证程序第12张

接着保存文件,就好了。

OD调试2----破解序列号验证程序第13张

 这里呢,有一些调试小技巧可以与大家分享。

OD调试2----破解序列号验证程序第14张OD调试2----破解序列号验证程序第15张

OD调试2----破解序列号验证程序第16张

 实验源程序下载www.fishc.com

免责声明:文章转载自《OD调试2----破解序列号验证程序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux中的16个Echo命令示例VS2008试用版到期解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

4.再来看看逆向——OD的简介

目录 1.前言 2.一些设置和配置 3.开始了解OD   代码窗口   数据窗口    小端序问题 前言 前3节主要写了恶意代码用到的手段,接下来先写一下关于逆向调试的一些内容。毕竟逆向比较难理解一点。 一些配置和设置 编译器的配置 这里逆向分析用之前防双开的程序。在逆向时,不同的编译器不同的配置编译出来的汇编代码会有所不同,我这里用的是VS2015,编译...

(转)Java程序员应该知道的10个调试技巧

(转自 酷勤网 – 程序员的那点事!http://www.kuqin.com/) 试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面。 在开始之前,推荐大家去看看Eclipse shortcuts这篇...

[Tool] PLSQL使用技巧

1.PL/SQL Developer保存自定义界面布局 Tools->Preferences->User Interface->Options->Autosave desktop 工具-首选项-用户界面-选项-自动保存桌面。 2.保存登录plsql developer 的用户名和密码 保存用户名: tools -> Prefe...

VS调试技巧

下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0; i < 10; i++){if (i == 5)j = 5;},什么都写在一行,你怎么在j=5前面插入断点 在一个1000次的循环体内部设置断点,你希望当循环进行到900次后中断,怎么才能做到呢? 你有一个表达式在上面循环的某一次发生了变化,你想知道是哪一次...

IDEA+PHP+XDebug调试配置

XDebug调试配置 临时需要调试服务器上的PHP web程序,因此安装xdebug,下面简单记录 安装xdebug 下载最新并解压 wget https://xdebug.org/files/xdebug-2.5.4.tgz tar zxvf xdebug-2.5.4.tgz cd xdebug-2.5.4/ 编译 按照README里的步骤安装 ./...

修改Win10系统User文件夹下的用户名(即CMD窗口下用户名)

原本用户名是两年前找修电脑的装系统留的很长一串,用这个方法改成功了,该方法简单易操作,亲测可行,如果账户信息和我一样可用以下方法修改(图为我PC上登陆的账户信息)。 注:修改注册表有一定风险,可能造成的无法找到账户、重装系统等后果自行承担!!!1、修改注册表修改自己用户名对应的ProfileImagePath值,改为你要改的新名字. 具体操作:Win+R...