使用OllyDbg动态分析程序

首先,用OllyDbg打开Traceme文件,如下图显示:

先运行一下该程序,弹出提示框,提示输入用户名和序列号
在这里插入图片描述
在此随便填入用户名为123456,序列号为234567,按下check,弹出提示框
在这里插入图片描述
所以这个程序的大概流程应该就是输入对应的用户名和序列号,然后程序将获得的用户名和序列号做一系列运算之后与正确的用户名和序列号进行计较。猜想大概流程之后重新运行一下程序,这次要给程序下断点,否则还是会出现和上次一样的结果。因为这个程序需要通过文本框来获得数据,又有程序通常读取文本框内容的字符串用的是以下两个函数:
-GetDlgItemTextA(GetDlgItemTextW)
-GetWindowTextA(GetWindowTextW)
所以可以运用插件里的api断点设置工具将这几个函数勾上,若有出现这些函数,则会在此下断点,然后跑一下程序。程序停在了断点处:
在这里插入图片描述
可知,本程序使用的是GetDlgItemTextA这个函数来读取字符串的,我们并不关心它的读取过程,根据刚刚的猜想下一步就是对读取的字符串进行判断,所以可以直接按Ctrl+F9跳到RETN处,按F8进行下一步
在这里插入图片描述
因为差不多接近判断的函数所以现在一步步按F8,再看寄存器的显示框肯定会有我们刚刚输入的数据,可以看到程序将数据压入寄存器中,旁边的寄存器窗口则正是我们刚刚输入的,接着程序对数据进行判断(call 函数Traceme.00401340),我们接着按F8看看会发生什么在这里插入图片描述
可以看到判断函数完后寄存器里的数据为0了,接着进行了跳转,继续按下F8,再次跳出“序列号错误,再来一次”的提示框,说明刚刚的跳转是一个关键跳转,找到关键后再重新按之前的做法跑一下程序,停在跳转前,改一下代码,将JE改成JNE让它不进行跳转接着运行程序看看会发生什么:

在这里插入图片描述
弹出了“恭喜你!成功!”提示框。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ollydbg是一款常用的反汇编工具,它可以用于逆向工程和调试程序使用Ollydbg可以帮助我们分析程序的执行过程,查看程序的内存和寄存器状态,修改程序的指令和数据等等。以下是一些使用Ollydbg的基本步骤: 1. 下载和安装Ollydbg:你可以在官方网站或其他可信的软件下载平台上找到Ollydbg的安装程序并进行下载和安装。 2. 打开待调试的程序:打开Ollydbg后,通过点击"File"菜单中的"Open"选项或者直接拖拽待调试的程序文件到Ollydbg的界面中,来打开需要调试的程序。 3. 设置断点:在需要分析的代码位置设置断点,以便在程序执行到断点处时暂停执行。可以通过在代码窗口中右键点击选择"Toggle Breakpoint"来设置断点,也可以在指定的内存地址上设置断点。 4. 调试程序:点击Ollydbg的"Debug"菜单中的"Run"选项,或者按下F9键,开始调试程序程序会执行到第一个断点处停止。 5. 分析程序状态:在程序暂停执行时,你可以观察程序的内存和寄存器状态。可以使用代码窗口、寄存器窗口、内存窗口等工具来查看和修改程序的指令和数据。 6. 单步执行:在程序暂停执行时,你可以逐步执行程序代码。可以使用F8键来单步执行,或者使用"Step Into"选项来进入函数调用。 7. 查找字符串:如果你想在程序中查找某个字符串,例如"Hello World!",可以使用Ctrl+G快捷键跳转到指定的内存位置。然后,使用鼠标选中该字符串,按Ctrl+E快捷键打开编辑窗口。 这些是Ollydbg的基本使用方法。通过熟练掌握这些方法,你可以更好地理解程序的执行过程,并分析程序的逻辑和漏洞。请注意,为了避免冲突,建议在调试过程中暂时屏蔽掉可能会干扰调试的安全软件,如360安全卫士。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [[小白教程]动态调试工具Ollydbg的简单使用](https://blog.csdn.net/mozibai666/article/details/120231435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [OllyDbg的基本使用](https://blog.csdn.net/whl0071/article/details/123036323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值