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. python-os模块及md5加密

    常用内置方法 __doc__打印注释 __package__打印所在包 __cached__打印字节码 __name__当前为主模块是__name__ == __main__ __file__打印文件 ...

  2. Spring boot 上传文件大小限制

    1.spring boot 1.x 版本 application.properties 文件中 位置在(resources下) spring.http.multipart.maxFileSize = ...

  3. [oldboy-django][4python面试]cookie和session比较

    session定义(知乎网上) Session的数据不是储存在客户端上的,而是储存在服务器上的:而客户端使用Cookie储存一个服务器分配的客户端会话序号(Session ID),当客户端请求服务器时 ...

  4. c++11特性使用

    #include <list> #include <iostream> int main(){ list<int> lst; for(list<int> ...

  5. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  6. mysql错误之2014

    error:2014 Commands out of sync; you can't run this command now 这个错误号我也真是醉了. 一直纠结于为什么存储过程执行完,commit操 ...

  7. CentOS7重新生成 /boot/grub2/grub.cfg

    CentOS7重新生成 /boot/grub2/grub.cfg CentOS7 is using grub2 and the generated /boot/grub2/grub.cfg rathe ...

  8. 【tmux】常用命令

    https://www.cnblogs.com/lizhang4/p/7325086.html 复制 prefix [ + vim风格选择复制 新建session tmux new -s name 为 ...

  9. [bzoj 3048] [Usaco2013 Jan]Cow Lineup

    [bzoj 3048] [Usaco2013 Jan]Cow Lineup Description 给你一个长度为n(1<=n<=100,000)的自然数数列,其中每一个数都小于等于10亿 ...

  10. 【HDOJ5532】Almost Sorted Array(签到)

    题意:给定一个n个数的数列,问删掉一个数之后剩余部分是否可以单调不增或单调不减 n<=1e5,a[i]<=1e5 思路:预处理一下前后缀是否合法 #include<cstdio> ...