图解Ollydbg简单逆向操作案例
1 Ollydbg调试helloworld程序
调试用VC++编写的helloworld程序,在反汇编代码中查找main函数,MessageBox函数;
#include "windows.h"
#include "tchar.h"int _tmain(int argc, TCHAR * argv[])
{MessageBox(NULL,"Hello World!","bcbobo21cn",MB_OK);return 0;
}
在调试工具条上右击,选择 组建;
在弹出的 组建 对话框中,选择 Win32 Release;
把HelloWorld编译为release版本。
启动Ollydbg汉化版;启动失败;
改用英文原版;打开前面的helloworld程序;
停留在00401020处;
调试器停止的地点是EP代码,EP即入口点;再往下找找;
再往下,看到了调用GetVersion函数,GetCommandLineA函数;获取命令行参数之后,应该就到main函数了;
看到上面CALL 00401000;
查看00401000;
看到了VC程序中给出的参数;00401000处先PUSH了4个参数入栈,然后调用了USER32中的MessageBoxA;
2 捕获Windows计算器显示输入数字的动作
计算器的基地址是01000000;
该工具会给出详细PE信息;
在工具条上按 I 键,才能看到PE导入表;
看到了User32中的SetWindowText;VA是进程虚拟内存的绝对地址,RVA是从某个基准位置开始的相对地址;
下面开始捕获计算器显示输入数字的动作;
打开calc.exe,停留在003D2D6C;
右击,选择如下菜单;
在所有SetWindowText处设置断点;
执行计算器,看下面代码,TranslateMessage、DispatchMessage、GetMessage;此处是计算器窗口的消息循环部分;
在计算器中输入数字,程序中断在了00BC3678处的SetWindowText;
看右下角的栈窗口,发现了输入的数字;8957;输入了4次数字;在此中断了4次;
3 捕获记事本保存文件的动作和保存的文本
打开Windows自带记事本,
不能打开;Ollydbg不支持64位程序;本机为64位;
看下本机的notepad.exe,它确实是64位的;
网上重新下一个notepad.exe;打开看看,是32位的;下面调试此程序;
根据资料;notepad.exe保存文件是调用了WriteFile,位于Kernel32中;
执行记事本,排序以后,在所有WriteFile处设置断点;
程序停留处是0100739D;
运行,记事本窗口出现;输入“AAAA”;然后保存;点击 保存 按钮后,程序中断在01004C2A处的WriteFile;
看右下角的栈窗口,发现了输入的文本“AAAA”;
图解Ollydbg简单逆向操作案例相关推荐
- mysql数据表案例_mysql中库和表的简单操作案例
mysql中库和表的简单操作案例 发布时间:2020-12-05 09:54:06 来源:亿速云 阅读:71 作者:小新 这篇文章主要介绍mysql中库和表的简单操作案例,文中介绍的非常详细,具有一定 ...
- php加数据库开发案例,PHP简单数据库操作类实例【支持增删改查及链式操作】
本文实例讲述了PHP简单数据库操作类.分享给大家供大家参考,具体如下: 在进行项目开发时,数据库是必不可少的东西了.但是很多时候却又对数据库SQL语句的繁杂而感到头疼.提供一个我自己使用的数据库操作类 ...
- 《图解CSS3:核心技术与案例实战》——1.1节什么是CSS3
本节书摘来自华章社区<图解CSS3:核心技术与案例实战>一书中的第1章,第1.1节什么是CSS3,作者 大漠,更多章节内容可以访问云栖社区"华章社区"公众号查看 1.1 ...
- Android逆向分析案例——某点评APP登陆请求数据解密
今天,七夕,单身23载的程序汪,默默地写着博客~ 上一次的逆向分析案例中讲了如何去分析某酒店的APP登陆请求,为了进一步学习如何逆向分析以及学习其他公司的网络传输加解密,本次案例将继续就登陆请求的数据 ...
- Struts2框架完成登录操作案例
一个简单的登录案例思路分析 在这个案例中,我们要使用struts2框架怎样解决 重点: struts2框架如何完成原来由servlet完成的工作. Struts2框架如何完成请求参数的封装处理 Str ...
- linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例
转自:truemylife.linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例 基本概念: 磁盘.分区.物理卷[物理部分] 卷组[中间部分] 逻辑卷.文件系统[虚拟化后可控制部分] 磁 ...
- 《图解CSS3:核心技术与案例实战》——1.3节渐进增强
本节书摘来自华章社区<图解CSS3:核心技术与案例实战>一书中的第1章,第1.3节渐进增强,作者 大漠,更多章节内容可以访问云栖社区"华章社区"公众号查看 1.3 渐进 ...
- 《图解CSS3:核心技术与案例实战》
<图解CSS3:核心技术与案例实战> 基本信息 作者: 大漠 丛书名: Web开发技术丛书 出版社:机械工业出版社 ISBN:9787111469209 上架时间:2014-7-2 出版日 ...
- 4、python简单线性回归代码案例(完整)_python 实现一个简单的线性回归案例
#!/usr/bin/env python # -*- coding: utf-8 -*- # @File : 自实现一个线性回归.py # @Author: 赵路仓 # @Date : 2020/4 ...
最新文章
- 2022年你应该知道的机器学习算法
- pinv--求矩阵的伪逆矩阵
- 一个具有20位地址和32位字长的存储器_存储器层次结构(三):高速缓存
- Scala-2.13.0 安装及配置
- java class文件 代码_java_基础——用代码编译.java文件+加载class文件
- python线程的学习
- [译转]深入理解LayoutInflater.inflate()
- 编写第一个 Hibernate 例子
- 罗技无线鼠标导致windows 8.1不正常唤醒的问题
- 数论——卢卡斯(Lucas)定理(板子)
- 专访傲游CEO陈明杰:为何微软对IE8“又爱又恨”
- 人才数据报告不会写?指标不明晰?这套人力资源方案帮你统统解决
- 重用地图的单目视觉惯导SLAM系统
- 210学习日记(18)_ARM基础知识
- STM32F103C8T6板子介绍
- discord怎么创建账号_如何邀请人们加入Discord服务器(以及创建邀请链接)
- 我国改革开放和现代化建设中一些实际问题的思考
- 中央子午线的计算方法(转)
- cva《财务建模》第五讲笔记
- linux命令复制指定文件到指定文件夹
热门文章
- python数据采集框架_20190715《Python网络数据采集》第 1 章
- 业余学python数据挖掘怎么赚钱_0基础转行学Python,学到什么地步能拿到月薪15k+?...
- 00-elasticsearch的pom文件
- Understand Skills-Based Routing
- JavaScript 技术篇-js语句创建dom节点,并给节点设置属性
- Spring Boot自动配置原理
- CTFshow 信息收集 web5
- [YTU]_2489( C++结构体之统计最高最低分)
- Python基础04 运算
- SVD理论以及Python实现