OllyDbg 使用笔记 (一)
OllyDbg 使用笔记 (一)
參考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
ollydbg下载地址:http://tools.pediy.com/debuggers.htm
hello.exe下载地址:http://pan.baidu.com/s/1c0iYQOC
一、OllyDbg基本界面
图片1
假设按窗体切换button出现以下的情况,乱了,仅仅须要双击一个窗体让它全屏即可了。
图片2
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlsbHZzbWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
二、部分快捷键介绍
F3 : 打开目标文件
F2 : 设置断点
F7:单步步进,遇到CALL跟进
F8:单步步过。遇到CALL路过,不跟进
F9:执行调试程序。直到执行到断点处
F4:执行调试程序,直到执行到光标处
Ctrl+F7/F8 相当于一直按F7/F8
Ctrl+F9 高速跳出函数
Alt+F9 高速跳出系统函数
Ctrl+F2 又一次加载程序
在反汇编面板中
。键:写注解
空格键:改变当前的指令
数据面板中
Ctrl+G:打开地址窗体
空格:编辑数据
三、改动hello.exe 中MessageBox的内容
此程序下载地址见 blog开头。
更改以下这个程序的标题和内容
图片3
在OllyDbg中按F3打开hello.exe
按住F8 直到弹出hello窗体
单步执行到004010E9时会停下来,弹出一个MessageBox窗体。
图片4
在这里下一个断点。
再按Ctrl+F2又一次加载。再按F9执行到断点处。
在F7步进,进入函数中。
我们能够看到
图片5
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlsbHZzbWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
能够看到4个PUSH和一个CALL
四个PUSH就相当于參数。
能够看到右边的注解(OllDbg会依据dll自己主动注解),这事实上是MessageBox的4个參数。因为VC++默认函数是__stdcall 所以參数进栈的顺序是从右往左的。
我们能够看到MessageBox显示的窗体和内容的字符串的地址。
同过改动对应地址的内容就能够改变窗体的内容。
在数据面板 按下Ctrl+G s 输入 00406030
鼠标选中要改的地方,按下空格键输入要修改字符。
图片6
因为是调用MessageBoxA(A代表ASCII),所以在ASCII中输入想要字符,记得要以00结尾。
比如输入 “哈哈!。”
图片7
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlsbHZzbWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
再F8 执行程序,执行到call messagebox处。就能够看到MessageBox中的hello被改成了“哈哈!!
”
这样改动在又一次加载后就会失效。
假设想保存到应用程序
选中改过的部分,右键选择拷贝到可运行程序
图片8
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlsbHZzbWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在弹出的窗体中右键选择 备份-->保存数据到文件就可以
图片9
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlsbHZzbWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
OllyDbg 使用笔记 (一)的更多相关文章
- OllyDbg 使用笔记 (二)
OllyDbg 使用笔记 (二) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 TraceMe.exe下载地址:http://pan.baidu.com/s/1c0s2twO T ...
- OllyDbg 使用笔记 (十二)
OllyDbg 使用笔记 (十二) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载地址:http://pan.baidu.com/s/1eQiV6aI 安装好程序 ...
- OllyDbg 使用笔记 (七)
OllyDbg 使用笔记 (七) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载:http://pan.baidu.com/s/1gvwlS 暴力破解 观察这个程 ...
- OllyDbg使用笔记
[TOC] OD步过后,返回到之前某位置,重新单步执行 找到你想返回的行, 右键选择New origin here,快捷键Ctrl+Gray *, 然后程序会返回到这一行,再次按F7或者F8等执行即可
- OllyDbg 使用注意事项 (十)
OllyDbg 用笔记 (十) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载地址:http://pan.baidu.com/s/1kT1ce83 这个程序能够从 ...
- exploit writing tutorial 阅读笔记总结
近日阅读Corelan Team编写的exploit writing tutorial系列,大致了解了一下原理,记了一些笔记.此系列文章有中文翻译版,在看雪论坛上发表. 英文版地址:https://w ...
- OD调试学习笔记7—去除未注册版软件的使用次数限制
OD调试学习笔记7—去除未注册版软件的使用次数限制 本节使用的软件链接 (想自己试验下的可以下载) 一:破解的思路 仔细观察一个程序,我们会发现,无论在怎么加密,无论加密哪里,这个程序加密的目的就是需 ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- 查看sqlserver表空间
exec sp_msforeachtable "exec sp_spaceused '?'"
- [python][oldboy][函数篇][1]名称空间
名称空间:存储名字的空间,分为三种,内置空间,全局空间,局部空间 名称可以是:变量名,函数名,类名等 当遇到一个名字时,首先在自己空间找,再到自己外的空间找 比如 test.py print f # ...
- 单元测试-mock基础
本文较短,只是备份一下mock的几个常用基础例子方便复习 目录 介绍mock的使用例子 maven资源 <dependency> <groupId>org.mockito< ...
- Mysql架构之主从复制
author:JevonWei 版权声明:原创作品 主从复制架构 架构角色 mysql-master:192.168.198.139 mysql-slave:192.168.198.128 主数据库和 ...
- BZOJ 1096: [ZJOI2007]仓库建设(DP+斜率优化)
[ZJOI2007]仓库建设 Description L公司有N个工厂,由高到底分布在一座山上.如图所示,工厂1在山顶,工厂N在山脚.由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在 ...
- 普通平衡树(指针splay)
最早的板子,学自Ez大佬: #include<cstdio> #include<cstdlib> using namespace std; class Splay{ publi ...
- Codeforces Round #364 (Div. 2) A 水
A. Cards time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...
- MAC电脑安装Mysql服务器和Navicat for mysql客户端
1.下载链接 Navicat for mysql客户端 链接: https://pan.baidu.com/s/1dGbzgbR 密码: i43g Mysql服务器 链接: https://pan.b ...
- kernel thread vs user thread
The most important difference is they use different memory, the kernel mode thread can access any ke ...
- ThreadPool基础之RegisterWaitForSingleObject
原文发布时间为:2010-10-27 -- 来源于本人的百度文章 [由搬家工具导入] 首先我们看一下它的原型: Codepublic static RegisteredWaitHandle Regis ...