反汇编需要汇编语言的基础,感觉可以同时学,

ollydbg快捷键:

F2――下断点,也就是指定断点的地址;

F3――加载一个可执行程序,进行调试分析;

F4――程序执行到光标处;

F5――缩小还原当前窗口;

F7――单步步入;

F8――单步步过;(Ctrl+F8可以自动步过并设置断点)

F9――直接运行程序,遇到断点处,程序暂停;

Ctrl+F2――重新运行程序到起始处,一般用于重新调试程序;

Ctrl+F9――执行到函数返回处,用于跳出函数实现;

Alt+F9――执行到用户代码处,用于快速跳出系统函数;

Ctrl+G――输入十六进制地址,快速定位到该地址处;

下面将要通过反汇编,改变程序的输出,举个例子:

先贴这次用的exe程序的C语言源码(非常简单的初学代码):

#include

#include

int main()

{

}

很显然,当我们输入a不为0时,就会输出YES,输入a=0时,就会输出NO,如下图:

用ollydbg打开这个exe程序,

Ctrl+F8走到我们要调试的地方,并设置断点,手动设置的话,需要一步步按F8,走到需要调试的地方按F2设置断点:

红色说明已经设置了断点,然后我们再按Ctrl+F2重新载入一下,F9走到刚才设置的断点处:

按F7单步步入,进入

这里我们已经看到了程序输出的YES和NO,就不再试了,有几个跳转语句,可以一直按F8了解这个程序的运行过程和原理,发现需要先输入一个值,程序会运行到进行判断的地方

说一下跳转的汇编命令,JMP是无条件的跳转,JZ是有条件的跳转,这里可以看到JZ跳到的地方,如果把JZ改成JMP,那么无论输入什么,这个运行到这里都会跳转到输出NO的位置,

如果想要让程序无论输入什么值,都输出yes,就把这里的跳转NOP掉,程序就会顺着走到输出YES的地方

要是想要修改程序的输出内容比如YES改为hah,就要Ctrl+G跟踪地址如下图

右键→编辑→二进制编辑,将YES改为hah

然后,就会发现,当输入2时,本应该输出YES的,却输出了hah

其余的跳转等语句就不演示了,由于反汇编好麻烦,看来以后的内容需要更加简洁地表达了,想要学习反汇编,有汇编基础是很有必要的,以后还是尽量多记录几篇汇编语言的学习过程吧。

c语言反汇编教程,ollydbg使用――反汇编入门相关推荐

  1. R语言ggplot2教程 十张图带你入门ggplot2

    本文介绍ggplot2中常见的几种类型图的绘画,包括散点图.折线图.直方图.柱状图.时间序列图,由于ggplot2所用的数据格式是数据框类型的(Excel表格正常导入就是),非数据框格式的数据需先进行 ...

  2. 反汇编教程及汇编命令详解(一)

    原文地址:http://www.cnblogs.com/xqzhao/archive/2008/04/15/1154607.html 原作者:济公 计算机寄存器分类简介:32位CPU所含有的寄存器有: ...

  3. IDA PRO 静态反汇编与OllyDbg动态调试实战技巧汇总

    IDA PRO 静态反汇编与OllyDbg动态调试实战技巧汇总 ********************************** 案例一: 使用IDA PRO+OllyDbg+PEview 追踪w ...

  4. 最新易语言调用大漠插件制作脚本入门教程

    最新易语言调用大漠插件制作脚本入门教程 这是田野学院的一套零基础视频.学习做辅助脚本入门还是不错的. https://pan.baidu.com/s/1BWd2_kIjL6OLE7q-VcDVlw 提 ...

  5. c语言编程:vc++6.0入门教程及习题_百度文库,C语言编程:vc++6.0入门教程及习题.doc...

    C语言编程:vc++6.0入门教程及习题.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址 ...

  6. net语言学习教程 net语言从入门到精通视频教程

    net语言学习教程_0基础学net语言也可以,空闲时间学习,不耽误上班.2019年net语言新课程已经上线,多种课程任您选,随到随学,互动性强,效果好! NET语言学习介绍 NET学习课程说明 NET ...

  7. grpc入门到精通_gRPC[go语言]大师教程,构建现代化Api和微服务

    gRPC [Golang] Master Class Build Modern API & Microservices gRPC[go语言]大师教程,构建现代化Api和微服务 比REST AP ...

  8. IDA-逆向分析-工具教程-IDA简介-反汇编工具-功能窗口

    文章目录 1.IDA简介 2.逆向与反汇编工具 2.1.文件识别工具 2.2.PE Tools 2.3.PEiD 3.IDA 窗口 3.1.二进制加载器 3.2.创建数据库 3.3.反汇编窗口 3.4 ...

  9. Smarty中文手册,Smarty教程,Smarty模板的入门教材

    Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...

最新文章

  1. [BZOJ 1588][HNOI 2002] 营业额统计
  2. 标准成本、目标成本、实际成本
  3. 二叉树学习笔记--先序遍历
  4. python3 zip命令_zip错误:无效的命令参数(无法将zip文件写入终端)
  5. jenkins配置ant
  6. 设计模式 -(1)简单工厂模式(创建型)
  7. [Android] Compile a CWM recovery from JellyBean
  8. php中阿里云快递物流查询接口使用
  9. 服务器系统安装蓝牙驱动,win10蓝牙驱动怎么安装?-win10蓝牙驱动的安装教程 - 河东软件园...
  10. UTD2202C示波器如何显示峰峰值
  11. 日志文件夹不存在或被删除
  12. Word怎么转PDF?看完这篇你就知道了
  13. 百度大脑活体检测+合成图鉴别面前,人脸“照片活化”黑产攻击一秒被擒
  14. 一文搞懂机器学习中的缺失值处理(超详细)
  15. “大数据应用场景”之隔壁老王(连载一)
  16. 用python写一个躲避球十分简单的小游戏
  17. html+css 动画制作简单的渐变效果(图片视频)
  18. 【webGoat】Broken Access Control
  19. 【JavaSE】String类总结,StringBuilder、StringBuffer、String的区别讲解
  20. 典型环节(或系统)的频率特性测量

热门文章

  1. java编写一个教师类Teacher_(1)编写一个Teacher类,包含授课方法;编写JavaTeacher和MathTeacher类继承自Teacher类,并重写授课方法;...
  2. 经典红白机游戏音乐。
  3. 智能手机逐渐走到穷途末路,苹果也将没有肆意的机会
  4. SLAM系统性能评估:绝对轨迹误差(ATE)和相对位姿误差(RPE)
  5. Eclipse中Java开发中版权声明及编码风格的注释
  6. Python 字典(dict) clear() 方法
  7. fedora20卸载maxthon
  8. 大白话5分钟带你走进人工智能-第十三节多项式回归之维度爆炸和过拟合
  9. VMware workstation搭建华为FusionCompute实验环境(五)保姆级安装教程,可运行虚拟机
  10. teamviewer显示设备数量上限解决方法