Ollydbg使用教程学习总结(二)

解密系列之OD使用教程4

程序1:RegisterMe.exe
把程序跑一遍之后我们发现程序有两个NAG,一个是在程序界面启动前出现,另一个是在程序关闭后出现的。
在这里插入图片描述
去掉第一个Nag方法如下:

①jmp跳过

②全部nop掉

③令hOwner参数为1,push 1,使其父句柄无意义

④更改入口地址为401024

双击这一行
在这里插入图片描述
将下面一行中AddressOfEntryPoint的值改为1024,如下图
在这里插入图片描述
具体在数据窗口中定位到4000E8,按下空格键进行修改
在这里插入图片描述
同理,可去掉第二个NAG窗口。

解密系列之OD使用教程5

程序2:RegisterMe.Ops.exe
用OD加载,提示
在这里插入图片描述
在这里插入图片描述
打开内存页,看到PE头的大小为0x5000,双击进行查看;找到以下几个地方,发现数值大得离谱,修改正确即可
在这里插入图片描述

解密系列之OD使用教程6

安装程序:pixtopianbook107.exe
安装后,打开软件,标题栏显示UNREGISTERED VERSION,About对话框显示Unregistered version v1.07
在这里插入图片描述
发现只能建立3个组,每个组只能添加4个联系人。

点击Add后,弹出对话框,返回OD按下暂停,按Alt+F9执行到用户代码,此时左上角提示“返回到用户”,回到软件按下确定,程序断下。
在这里插入图片描述
直接jmp掉,保存文件,即可突破联系人数只能为4的限制。
同理,跳过增加组的限制,如下
在这里插入图片描述
在内存窗口,按下Ctrl+B查找字符串,在Unicode字符查找框中输入UNREGISTERED VERSION点击查找,即可在4D4830地址处找到该字符串,进行修改;继续搜索,在4D570E、4E4BE8处找到,修改并保存;在ASCII字符查找框中输入this is an…,在48F974处找到,修改成This is an registered version,然后按同样的方法保存文件。

数据窗口中转到48F974,在第一个字节右键=>查看参考,找到引用所在,双击来到反汇编窗口
在这里插入图片描述
使得该处直接跳转,并保存,至此破解结束。

解密系列之OD使用教程7

程序:VisualSit. Design...exe
调试寄存器:Dr0~Dr3四个寄存器用来存放中断地址,Dr4、Dr5保留不使用,Dr6、Dr7用来记录Dr0~Dr3的属性。
运行程序,发现有NAG窗口,且有次数限制,退出时有广告窗口。
在这里插入图片描述

去NAG窗口

调试技巧:一路按F8,遇到产生NAG的call时,在该call下断点;重新载入,运行,然后在刚才断点断下,F7进去,删除断点;继续F8找下一个使NAG出现的call,依次操作,直到找到最终call出NAG 地方,需要注意的是,如果call在动态链接库即系统领空时,只能下硬件断点,方法是:右键=>断点=>硬件执行。最终找到如下地方
在这里插入图片描述
将该call直接反汇编为mov eax,1即可去掉NAG窗口。

去广告窗口。

广告窗口弹出后,在OD中按下暂停,然后点击K(堆栈)窗口,如下
在这里插入图片描述
在图示的480C24处是唯一该软件所在领空,双击回到反汇编窗口,下断点重新运行并关闭软件,断下
在这里插入图片描述
按下F8,弹出广告,说明nop掉该call即可。

破解万能钥匙

根据代码试用期和到期后走向不同,找到关键所在。在关键跳转出标出Y或者N,然后用完使用次数,重新找出是哪个跳转有所变化,把变化了的跳转进行如下修改即可

test eax,eax
jle 00489998 => mov eax,1

解密系列之OD使用教程8

程序:pcsurg*on.exe

方法一

运行程序,同样有NAG窗口,关闭后进入主窗口,显示为未注册版本且5 days remaining,关于窗口中也显示未注册版本,且要求输入注册码等。

用OD载入,以标题栏的<unregistered为切入点,右键=>查找=>所有参考文本字串,来到文本子串窗口(R窗口),拉到最上面右键=>查找文本,输入<unregistered,结果如下
在这里插入图片描述
双击上面高亮行,来到反汇编窗口
在这里插入图片描述
在该行上面的跳转处和子程序的开头处下断点,重新载入程序并运行,发现断在该跳转处,跳转未实现,修改ZF标志位使跳转实现,按F9发现NAG窗口不再弹出且标题栏未注册的信息消失,但是关于窗口仍有未注册信息,尚未完全破解。根据About窗口
在这里插入图片描述
继续找这个字符串<Unregistered Version>,发现并不能找到,重新查找<Unregister,找到如下位置
在这里插入图片描述
在这个跳转处和程序入口点下断,F9运行程序,继续在5CC83C处修改ZF标志位使得跳过,然后按下Help=>About触发刚才下的断点,单步走到下图处
在这里插入图片描述
同理修改ZF标志位使得跳转实现,按F9运行起来
在这里插入图片描述
弹出关于对话框为已注册版本,且注册按钮消失了!根据以上调试结果,接下来把两处的jnz跳转改为jmp,并保存到文件,运行验证可知已完成破解。

方法二

继续深入思考,载入原程序,观察原来的断点处
在这里插入图片描述

[60EB8C]=610C4A
[60F1DC]=610C5E

为什么需要2个判断?可能是是否注册信息和试用天数。对可疑地址60EB8C进行跟踪,右键=>查找参考=>地址常量,找到如下
在这里插入图片描述
可能对改地址值初始化的地方就是设置注册信息的地方,如上图对每个指令设置断点,重新运行程序,断下
在这里插入图片描述
观察这段代码,发现这是在程序开始运行不久就将al的值赋值给[60EB8C],然后和0进行比较,如果不为0则跳转实现,猜测al中可能存放的是程序是否注册的标志,因此直接将1赋值给它,查看是否能够直接破解,如图
在这里插入图片描述
保存到可执行文件,运行查看,完美破解。另一种方法是作如下修改
在这里插入图片描述
显然方法二更加高效,但是需要仔细分析程序代码的逻辑关系,难度较大,值得深入思考学习该种方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347074.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python基于Django的电影推荐系统和论坛项目完整源码

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发送&#xff1a;电影论坛 获…

Ollydbg使用教程学习总结(三)

解密系列之OD使用教程9 程序&#xff1a;MrBills.exe 点击注册&#xff0c;输入邮箱和序列号后提示如下 突破口&#xff1a;该提示窗口中的字符串&#xff0c;查找如下 双击来到反汇编窗口&#xff0c;有个关键跳转&#xff0c;往上查看影响跳转的语句是test al,al&#xf…

Python用matplotlib绘制曲线实验

一、题目 计算出每组数据的均值和标注差&#xff0c;用matplotlib画出如下风格。横轴是每组的序号&#xff0c;即1&#xff0c;2&#xff0c;… 10&#xff0c;曲线的圆点对应均值&#xff0c;颜色范围为标注差&#xff0c;显示垂直和水平网格线。 二、题目分析 首先分析这…

Ollydbg使用教程学习总结(五)

解密系列之OD使用教程17——inline patch 程序&#xff1a;ReverseMe. NAGs.exe 新内容&#xff1a;硬件断点 用PEID打开&#xff0c;看到程序是用VC6.0写的&#xff0c;用OD载入&#xff0c;按F9运行后&#xff0c;出现NAG窗口&#xff0c;在OD中按下暂停&#xff0c;再打开堆…

Python的Wine数据集分类scikit-learn和K近邻实验

一、题目 请使用scikit-learn库和K近邻分类器完成Wine数据集的分类&#xff0c;训练比例自定。(数据下载: https://archive.ics.uci.edu/ml/datasets/Wine) 二、题目分析 这道题目就是获取数据然后分类的过程。首先在网站上下载好数据。然后回到Pycharm导入实验所需要的skle…

[MEGA DEAL]完整的Java捆绑包(96%折扣)

深入了解编程奥德赛&#xff08;58小时&#xff01;&#xff09;&#xff0c;进入最常用的编程语言 嘿&#xff0c;怪胎&#xff0c; 本周&#xff0c;在我们的JCG Deals商店中 &#xff0c;我们提供了另一个超值优惠 。 我们为The Complete Java Bundle提供96&#xff05;的…

基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计

微信公众号&#xff1a;创享日记 发送&#xff1a;plc交通灯 获取完整论文报告&#xff08;内含梯形图程序、无水印流程图等&#xff09; 按照城市交通控制的需要&#xff0c;本文讨论了用PLC实现正常时序、急车强通2种控制方式&#xff0c;通过传感器与PLC完成对交通异常状况&…

Ollydbg使用教程学习总结(四)

解密系列之OD使用教程13——迷途 程序&#xff1a;XoftSpy41._96.exe 用PEID查看&#xff0c;是VC6编写的程序&#xff0c;用OD载入 获取文本框输入内容API&#xff1a;GetWindowTextA API下断方法&#xff1a; a.右键>查找>所有模块间的调用&#xff0c;直接输入API&am…

基于PLC高层楼房供水系统课程设计毕业设计

设计目的 &#xff08;1&#xff09;能够检测到水箱的水位并用指示灯显示。 &#xff08;2&#xff09;由检测到水箱的水位&#xff0c;实现3台电机的供水要求。 &#xff08;3&#xff09;设计plc程序。 设计要求 &#xff08;1&#xff09;确定输入/输出设备。 &#xff08;…

基于PLC四层电梯模型控制系统课程设计

总设计要求 1.1 电梯上行设计要求 ①当电梯停于1F或2F、3F时&#xff0c;4F呼叫&#xff0c;则上行到4F&#xff0c; 碰行程开关后停止。 ②当电梯停于1F或2F时&#xff0c;3F呼叫&#xff0c;则_上行到3F&#xff0c;碰行程开关后停止。 ③当电梯停于1F时&#xff0c;2F 呼叫…

基于西门子PLC s7-200 的自动立体车库设计自动化设计(控制器步进电机直流电机)

本组的设计题目是《基于 PLC 的立体车库设计》&#xff0c;本组设计包括机械设计&#xff0c;电路设计以及程序设计。在设计中遇到了很多困难&#xff0c;参考了相关资料&#xff0c;与老师进行多次沟通&#xff0c;一边学习一边制作&#xff0c;以厂家资料为标准进行修改&…

基于51单片机的8八路抢答器设计

基于51单片机的8路抢答器 具体功能&#xff1a; &#xff08;1&#xff09;主持人进行复位&#xff0c;依次显示8位选手的分数&#xff0c;8位选手分数显示结束后主持人方可按下开始按键&#xff1b; &#xff08;2&#xff09;主持人按下抢答开始按键&#xff0c;抢答者才可以…

基于51单片机的简易抢答器设计

基于51单片机的简易抢答器 具体功能&#xff1a; 1、主持人按下抢答开始按键&#xff0c;抢答者才可以开始抢答&#xff0c;数码管抢答倒计时20S。 2、抢答者按下按键&#xff0c;数码管显示抢答者的编号。 3、可以通过按键修改倒计时时间。 部分程序代码&#xff1a; #incl…

Word2019中Visio对象图片插入题注时自动删除标签与编号前的空格,编号后添加空格

问题引入 撰写论文时为了修改方便&#xff0c;通常以插入题注和交叉引用的方式来给图片标号&#xff0c;这样修改图片和图号后可以方便、自动地更新。 然而&#xff0c;Word在插入题注上从03到13一直没有针对中国用户优化。 插入题注的标签与编号间有一个空格&#xff0c;当…

【32位win7一键扫雷】32位win7系统自带扫雷游戏逆向分析之一键扫雷(附VS代码工程文件、可执行文件和OD分析缓存文件)

实现效果 视频地址:https://www.zhihu.com/zvideo/1373742900744974336 附一张扫雷自定义中难度最大时进行一键扫雷的截图,如下,24*30,共668颗雷。 前言 一直对逆向感兴趣,就拿最简单的扫雷开始,对于XP系统中的扫雷,雷的数目以及雷区的地址都是固定的,可以直接通过…

基于51单片机的智能电子秤设计课程设计毕业设计

微信公众号&#xff1a;创享日记 对话框发送&#xff1a;单片机电子秤 获取仿原理图、真源文件、源程序代码和论文报告等 由STC89C51单片机最小系统LCD1602液晶显示模块HX711AD模块LED模块蜂鸣器按键模块10kg压力传感器构成。 具体功能&#xff1a; 1、数码管显示当前的重量&a…

【黑客帝国数字雨屏保】基于Win32的黑客帝国数字雨屏幕保护程序(附VS工程代码文件和可执行文件)

运行效果 代码结构 //黑客帝国数字雨 花心胡萝卜 #包含 <windows.h> #包含 <stdlib.h>#define 时钟编号 1 #define 最大长度 25 //一个显示列的最大长度 #define 最小长度 8 //一个显示列的最小长度 // 类型定义 结构类型 _字符序列 {//整个当作屏幕的一个显示列…

【模式识别】Fisher线性判别实验报告之MATLAB仿真

一、 参数 1.题设三个类,每个类均有10个样本,分别为w1,w2,w3,因此采用两两互相分类,最后得出结果; 2.三类样本的均值向量依次为m1,m2,m3; 3.三类样本的类内离散度矩阵依次为S1,S2,S3; 4.对于w1和w2,总类内离散度矩阵为Sw12,类间离散度矩阵为Sb12,通过矩阵特…

不知所措:您是否真的需要为您的API提供客户端库?

RESTful Web服务和API的优点在于&#xff0c;任何使用HTTP协议的使用者都可以理解和使用它。 但是&#xff0c;同样的难题一遍又一遍地弹出&#xff1a;您是否应该将Web APis与客户端库一起使用&#xff1f; 如果是&#xff0c;您应该支持哪些语言或/和框架&#xff1f; 通常这…

【自适应盲均衡3】多模算法(MMA)——复数改进常模算法(MCMA)的理论推导与MATLAB仿真

关注公号【逆向通信猿】更精彩!!! 接上篇【自适应均衡2】多径衰落信道的复数常模算法(CMA)的理论推导与MATLAB仿真 理论推导 MMA或者MCMA其实是在CMA基础上改进而得到的,有学者称其为实虚部分开的常模算法。该算法使均衡器输出信号的实部与虚部分别收敛于各自的模值,改…