大赵传奇

GIS解决方案,webgis , 桌面、数据、服务--QQ276605216

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

OllyDbg动态爆破软件演示

下面以《加密与解密》的“TraceMe.exe”程序为例。
程序下载地址:https://github.com/eastmountyxz/Reverse-Analysis-Case

在这里插入图片描述

当咱们输入错误的用户名和序列号,点击“Check”按钮会显示输入错误。

在这里插入图片描述

接下来咱们须要用OD爆破,该程序的基本流程以下图所示,只有输入正确的用户名和序列号才能显示正确对话框。

在这里插入图片描述

接着经过OD打开该程序,它会自动定位到模块入口点0x004013A0位置。做者github资源提供了各类OD版本供读者使用。

在这里插入图片描述

 

第一步,首先按下F9程序就会运行起来,而且弹出对话框

在这里插入图片描述

 

第二步,咱们须要知道输入对话框输入值的函数都有哪些
点击 “API断点设置工具” -> “经常使用断点设置”。

在这里插入图片描述

勾选获取对话框的输入值的两个函数“GetWindowTextA”和“GetDlgItemTextA”,这意味着给这两个函数下断点,当程序运行到某个函数即会中止。若是读者不肯定对应的函数,能够勾选全部的函数。

在这里插入图片描述

 

第三步,输入用户名和序列号并点击“Check”按钮
此时程序进入0x75CA4390位置,而且显示调用GetDlgItemTextA函数。

在这里插入图片描述

咱们先按下F2将断点去掉,再按下F9执行代码,能够看到“序列号错误,再来一次!”的弹框。从而证实咱们刚才的断点是有效果的。

GetDlgItemTextA的四个参数:对话框句柄,控件标识(ID号),缓冲区指针,缓冲区最大字符数,参考Win32.API手册。

在这里插入图片描述

接着咱们再勾选“GetDlgItemTextA”函数,再点击“Check”按钮,它会继续定位到0x75CA4390位置,以下图所示。

在这里插入图片描述

在这里插入图片描述

 

第四步,接着按下Ctrl+F9执行到返回位置。
此时显示地址0x75CA43C1。

在这里插入图片描述

 

第五步,再按下F8键执行返回
此时咱们看到了GetDlgItemTexeA函数执行的位置,它会返回调用函数的下一行代码,注意是下一行。咱们程序是有两个对话框值,因此会有两个GetDlgItemTexeA函数的调用。

在这里插入图片描述

接着咱们继续按F8往下走,这两个值获取完成,接下来应该会是计算序列的过程,再进行判断是否正确。

在这里插入图片描述

继续往下走,来到0x004011E4位置,咱们能够看到右上角EDX和EAX的值就是咱们输入的“eastmount”和“123456”。同时,右下角显示两个值都已经压到栈里面了。

  • EAX:123456
  • EDX:eastmount

在这里插入图片描述

 

第六步,访问TraceMe.00401340函数
咱们能够猜想调用的“call TraceMe.00401340”函数是作判断,并添加以下注释。但也可能不是,咱们在进行软件逆向分析或爆破时,一般须要依靠逻辑能力和编程能力来推测。

在这里插入图片描述

按下F7进入该程序,位置0x00401340。

在这里插入图片描述

再按F8执行,能够发现这里存在一个循环,判断输入的值是否与它原始的值一致。

在这里插入图片描述

循环完以后,继续执行能够看到一些序列号“123456”的判断信息。

在这里插入图片描述

最终它会返回一个值放到EAX中,该值等于0,而后继续执行返回该值。

在这里插入图片描述

返回值就是0,而后继续执行。

在这里插入图片描述

 

第七步,跳转函数分析
若是这个函数就是判断函数的话,那么下面这个跳转极可能就是关键跳转。就是咱们须要修改的跳转,利用其来进行爆破。位置:0x004011F5

在这里插入图片描述

增长断点,接着按F8继续运行。

在这里插入图片描述

发现其直接跳转至0x0040122E,而后提示“序列号错误,再来一次!”。

在这里插入图片描述

再按下F9运行,后面果真弹出错误对话框,从而肯定上面为关键跳转。

在这里插入图片描述

 

第八步,按下Ctrl+F2从新运行程序
接着按F9执行程序,在弹出的对话框中输入内容,点击“check”。

在这里插入图片描述

继续按下F9运行程序跳转到咱们刚刚下断点的“关键跳转”位置。

在这里插入图片描述

关键步骤:修改汇编代码,JE是实现跳转,修改成JNZ不跳转。

在这里插入图片描述

继续按F8执行,或者直接按下F9,能够提示“恭喜你,成功”的对话框。这就是爆破的基本流程。

在这里插入图片描述

 

第九步,保存爆破软件
选择修改的几行内容,而后右键鼠标,点击“复制到可执行文件”。

在这里插入图片描述

选择“TraceMe.exe”文件右键保存文件,如“TraceMe_PO2.exe”。

在这里插入图片描述

保存成功后,随便输入用户名和序列号,都提示成功!

在这里插入图片描述

同时,该程序输入长度还有一个判断,咱们也能够尝试进行爆破。

在这里插入图片描述

 

posted on 2024-10-19 05:35  赵长青  阅读(15)  评论(0编辑  收藏  举报