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 使用笔记 (一)的更多相关文章

  1. OllyDbg 使用笔记 (二)

    OllyDbg 使用笔记 (二) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 TraceMe.exe下载地址:http://pan.baidu.com/s/1c0s2twO T ...

  2. OllyDbg 使用笔记 (十二)

    OllyDbg 使用笔记 (十二) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载地址:http://pan.baidu.com/s/1eQiV6aI 安装好程序 ...

  3. OllyDbg 使用笔记 (七)

    OllyDbg 使用笔记 (七) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载:http://pan.baidu.com/s/1gvwlS 暴力破解 观察这个程 ...

  4. OllyDbg使用笔记

    [TOC] OD步过后,返回到之前某位置,重新单步执行 找到你想返回的行, 右键选择New origin here,快捷键Ctrl+Gray *, 然后程序会返回到这一行,再次按F7或者F8等执行即可

  5. OllyDbg 使用注意事项 (十)

    OllyDbg 用笔记 (十) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载地址:http://pan.baidu.com/s/1kT1ce83 这个程序能够从 ...

  6. exploit writing tutorial 阅读笔记总结

    近日阅读Corelan Team编写的exploit writing tutorial系列,大致了解了一下原理,记了一些笔记.此系列文章有中文翻译版,在看雪论坛上发表. 英文版地址:https://w ...

  7. OD调试学习笔记7—去除未注册版软件的使用次数限制

    OD调试学习笔记7—去除未注册版软件的使用次数限制 本节使用的软件链接 (想自己试验下的可以下载) 一:破解的思路 仔细观察一个程序,我们会发现,无论在怎么加密,无论加密哪里,这个程序加密的目的就是需 ...

  8. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  9. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

随机推荐

  1. Jmeter-深入理解cookie,session,token

    1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应,  尤其是我不用记住是谁 ...

  2. Selenium - WebDriver: Page Objects

    This chapter is a tutorial introduction to page objects design pattern. A page object represents an ...

  3. easyui在datagrid只想选择一条

    <table class="" id="jgrid" data-options="fitColumns:true,rownumbers: tru ...

  4. 管理nuget程序包中搜索不到任何程序包

    之前一直使用vs2012开发,管理nuget程序包没有出现过什么问题.因为开发需要,需要使用vs2015,安装vs2015后再使用vs2012时,发现管理nuget程序包中搜索不到任何资源,晕死. 想 ...

  5. 【bzoj1803】Spoj1487 Query on a tree III DFS序+主席树

    题目描述 You are given a node-labeled rooted tree with n nodes. Define the query (x, k): Find the node w ...

  6. P4302 [SCOI2003]字符串折叠

    题目描述 折叠的定义如下: 一个字符串可以看成它自身的折叠.记作S = S X(S)是X(X>1)个S连接在一起的串的折叠.记作X(S) = SSSS…S(X个S). 如果A = A’, B = ...

  7. Moscow Pre-Finals Workshop 2016. Japanese School OI Team Selection. 套题详细解题报告

    写在前面 谨以此篇题解致敬出题人! 真的期盼国内也能多出现一些这样质量的比赛啊.9道题中,没有一道凑数的题目,更没有码农题,任何一题拿出来都是为数不多的好题.可以说是这一年打过的题目质量最棒的五场比赛 ...

  8. 前端构建工具gulpjs的使用介绍及技巧(转)

    http://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学 ...

  9. 实例对比 Julia, R, Python,谁是狼语言?

    对于一个平台来说,使用者对技术本身是不敏感的,所以我们需要增加一些限制来减少集群的一些不可控情况,例如不断的写入新表/新数据却不记得删除,大量不按规范创建的表名等情况.与此同时应尽量让技术对用户透明, ...

  10. SPOJ - SUBLEX 【后缀自动机】

    题目 求第K小子串 题解 建好SAM后,拓扑排序,反向传递后面所形成的串的数量 最后从根开始,按照儿子形成串的数量与k比较走就好了 #include<iostream> #include& ...