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的开发者 ...
随机推荐
- 【homework week5】初步了解敏捷开发——自由与约束的哲学统一
“自由与束缚的哲学统一”或许不该放到标题上去,毕竟它只是我灵光一闪的感悟.但这个spark让我感到高中到大学的哲学应该也没有白学,这是让人非常兴奋的一件事. 所以我还是把它放到了标题上. 来谈敏捷软件 ...
- leetcode NO.171 Excel表列序号 (python实现)
来源 https://leetcode-cn.com/problems/excel-sheet-column-number/description/ 题目描述 给定一个Excel表格中的列名称,返回其 ...
- RUBY 模拟rtsp消息
require 'rtsp/client' require 'log_switch' require 'socket' RTSP::Client.log? # => false RTSP::Cl ...
- java连接mysql数据库 三 实现增删改查操作
同以前一样,先写一个数据库打开和关闭操作类 public class DBConnection { String driver = "com.mysql.jdbc.Driver"; ...
- 洛谷P3245 [HNOI2016]大数 【莫队】
题目 题解 除了\(5\)和\(2\) 后缀数字对\(P\)取模意义下,两个位置相减如果为\(0\),那么对应子串即为\(P\)的倍数 只用对区间种相同数个数\(x\)贡献\({x \choose 2 ...
- python和tensorflow安装
一.Python安装 python采用anaconda安装,简单方便,下载python3.6的anaconda linux64的sh安装文件. 1.bash Anaconda-2.1.0-Linux ...
- ext2 与 ext3
http://linux.vbird.org/linux_basic/1010appendix_B.php https://baike.baidu.com/item/Ext2/822106?fr=al ...
- iOS - 毛玻璃效果封装
#import <UIKit/UIKit.h> #import <Accelerate/Accelerate.h> @interface UIImage (TY_ImageEd ...
- foj 2111 Problem 2111 Min Number
Problem 2111 Min Number Accept: 1025 Submit: 2022Time Limit: 1000 mSec Memory Limit : 32768 KB ...
- SPOJ QTREE Query on a tree V
You are given a tree (an acyclic undirected connected graph) with N nodes. The tree nodes are number ...