在介绍了PE的结构后,本文将通过OD(OllyDBG)对样本程序进行逆向分析,以绕过登录决策,达到破解登录的效果。本文以一个简单的程序为例,由浅入深逐步增加方法的难度,为下一步深入的逆向分析打下坚实的基础。
破解样本程序简介
这个程序是用C++写的。当你点击“确定”按钮时,你将被用户的用户名和密码所判断。不输入任何内容点击提交时,系统会显示“用户名和密码不能是空”当输入与判断数据te文佳社会百科st”不匹配的用户名和密码时,会提示输入文佳社会百科“用户名或密码错误”和“登录成功”,两者均为“测试”。详细代码如下图所示:
测试示例源代码
当我们运行crackMeText.exe程序时,效果如下:
开放效应
当我们输入错误时(用户名和密码不测试),系统会提示您输入“用户名或密码错误”。
登录错误
当我们输入正确的内容时(用户名和密码都经过测试),系统会提示您输入“登录成功”。
登录成功
以上是对测试实例的简单介绍。
2.2简介。OD程序逆向分析
我们可以打开本地OD程序,将示例系统拖到OD中,如下图所示:
OD主线模块
左上角是反汇编窗口,右上角是寄存器窗口,左下角是堆栈窗口,右下角是数据窗口。
反汇编窗口:用户显示反汇编代码,调试分析程序主要在该窗口执行。
注册窗口:用户显示每个寄存器的内容,包括通用寄存器、段寄存器、标志寄存器等。
堆栈窗口:用户显示堆栈的内容,即ESP寄存器指向的地址部分。
数据窗口:以多种方式显示内存的内容,如十六进制、文本、短、长、反汇编等。
因为内容比较多,所以我们可以通过搜索ASCII快速定位字符串,位于插件中文搜索引擎->;搜索ASCII,如下所示:
OD搜索ASCLL
搜索后会显示中文搜索引擎的内容。我们双击并选择“登录成功”,如下图所示:
双击登录成功。
双击后,快速导航到Login,成功反汇编代码段,如下图所示:
以上就是由优质生活领域创作者 嘉文社百科网小编 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.jwshe.com/685179.html,转载请说明来源于:嘉文社百科网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场。