1. 运行命令:
        F7 -- 单步执行,遇到Call跟进
        F8 -- 单步执行,遇到Call跳过,不进入
        F9 -- 运行起来,相当于Visual Studio的F5
        Ctrl+F9 -- 运行到本函数结束(Ret指令后)
        Alt+F9 -- 跳出系统调用,回到应用程序中
        
        Ctrl+F2 或者点击菜单中的 标记可以重新运行程序
        
        F12 -- 暂停程序,进入死循环后,可以按键 F12 停止运行
        
        F4 -- 执行到光标所在的行(其实相当于一次性断点)。

2. 断点设置:
        F2 -- 键可以设置一个断点,在断点上再次按F2键,取消断点。
                双击Hex dump栏 -- 也可以设置或取消一个断点

Ctrl+G -- 打开追踪表达式的窗口,输入API,点OK,即可跳转到指定API起始处。
        Ctrl+N -- 打开程序输入表,找到要下断点的API函数,Enter或双击即可跳转到代码处。
        
        硬断点:
                在指定的代码行上,右键-> Breakpoint/Hardware on execution(断点/硬件执行)命令,即可下硬断点
                        删除:Debug/Hardware breakpoints,打开硬断点窗口,点击删除,即可删除硬断点。
                使用用命令设置硬断点:
                        hr address 例如: hr 0012FFA4  设置硬断点,在访问 0x0012FFA4内存时断下来。
        内存断点:
                在数据窗口(内存窗口),选中要下断点的地址区域,单击鼠标右键,执行Break/Memory,on write
                        删除:选中断点处,右键即可看到删除断点的命令。
                内存访问一次性断点:Alt+M,即内存窗口。可以看到很多段,在一个段上右键,可以当看到:
                        Set break-on-access(在访问上设置断点),或按键 F2,对整段内存设置一个访问断点
        条件断点:
                Shift+F2 -- 设置条件断点,弹出条件窗口,输入条件表达式

节区断点:
                Alt+M,跳转到内存模板,选中一个节区,按F2设置断点,即对选中的整个节区设置断点
                节区被访问即可以断下来。

3. 查看内存:
        选中一个寄存器,右键-> Follw In Dump 在内存窗口查看内存内容
        
        Ctrl+G -- 输入表达式或地址值,可以查看相应地址的内容
        
        Alt+M -- 跳到内存窗口,查看模块在内存中的分布(节区的地址范围)。内存模板
        
4. 修改指令
        双击一行指令,或 选中一行,然后按Space键,打开Assemble窗口,几个将当前汇编指令修改。
        
        选中修改的指令,右键-> Copy to excecutable/Selection,将指令保存到PE中。

5. CmdBar 的使用:
        ? 表达式 计算表达式得知,? 34* 45-4
        D 表达式/内存地址 查看内存数据。
                DB,DW,DD等

BP 表达式 设置断点,bp GetDlgItemTextA
        Hw 表达式 设置硬件写断点

6. 常见的问题处理:
        如果汇编代码被识别成了数据,可以右键 Analysis/Analyse code 或 Ctrl+A 强制OllyDbg重新分析代码

双击 EIP 寄存器,可以回到当前按正执行的地方。

OllyDbg使用学习 笔记相关推荐

  1. WinDbg学习笔记(二)--字符串访问断点

    标 题: [原创]WinDbg学习笔记(二)--字符串访问断点 作 者: gaorqing 时 间: 2009-07-25,21:39:04 链 接: http://bbs.pediy.com/sho ...

  2. WinDbg学习笔记(一)--认识WinDbg

    标 题: [原创]WinDbg学习笔记(一)--认识WinDbg 作 者: gaorqing 时 间: 2009-07-27,20:45:27 链 接: http://bbs.pediy.com/sh ...

  3. 《软件调试分析技术》学习笔记

    <软件调试分析技术>学习笔记(一) 今天开始写写一些心得体验. <软件调试分析技术>是好友Monster的处女作品.作为一直以的好伙伴,他是我看着长大的,(*^__^*) 嘻嘻 ...

  4. PC微信hook学习笔记(一)—— 获取个人信息

    PC微信hook学习笔记(一)-- 获取微信个人信息 1 起步 2. 获取基址 2.1 用CE查看个人信息 2.1.1 获取昵称基址 2.1.2 dll模块基址 2.2 用OD查看个人信息 2.3 内 ...

  5. 《逆向工程核心原理》学习笔记 破解abex' crackme #1

    <逆向工程核心原理>学习笔记2 破解abex' crackme #1 这是一个作为初学者的我都觉得过于简单的crackme,所以简单地介绍一下解法. 首先先打开这个.exe,我们会发现这样 ...

  6. 汇编学习笔记:对抗反汇编实验2019092801

    汇编学习笔记:对抗反汇编实验2019092801 实验描述 实验环境 实验过程 实验结论 实验描述 使用相连的jz和jnz指令跳转到紧接着jnz指令的call指令的第二个字节.call指令实际上无效. ...

  7. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  8. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  9. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

最新文章

  1. 智能车技术创新与实践(01510422-90)课程简介
  2. 分享一个MD5加密的工具类
  3. 移植uboot第六步:支持NANDFlash
  4. 阿里短信服务的使用流程
  5. 嵌入式开发中C语言编程要点简述!
  6. SQL技巧(多行合并一列)
  7. AI读懂两千年前文字,登上Nature封面,惊艳历史学家
  8. 在两个ASP.NET页面之间传递值
  9. Go语言的map以及sort
  10. 【Java】0X002 Hello World
  11. Vue项目中使用eslint的笔录,编辑器采用sublime3
  12. 三菱PLC与触摸屏的连接不通解决方法
  13. linux 断开远程vnc,Linux停VNC远程控制的使用方法
  14. 百度php获取当前经纬度,百度地图获取经纬度的示例
  15. sqli-labs(54-65)终章
  16. 计算机故障含义,宕机是什么意思(电脑宕机的读法与含义)
  17. 【Golang】go中如何在浏览器上实时显示cmd控制台的输出(流式传输)
  18. oracle 大于当天时间_ORACLE日期时间函数大全
  19. easyui 合并列_Easyui 合并单元格_EasyUI 教程
  20. 简单的sql语句及例子

热门文章

  1. 项目管理之项目进度管理
  2. web存储三种方式:cookie、sessionStorage、localStorage
  3. 免费申请SSL证书(https认证)教程
  4. flash中遮罩+形状补间实现场景转换
  5. 转载 linux usb
  6. mysql要求cpu主频还是核数_CPU主频和核数哪个重要?买CPU是选多核还是高主频? (全文)...
  7. posix_qui-master 服务器端QuicAccept()函数
  8. Altium Designer 19 生成钢网文件
  9. Martin Fowler微服务论文翻译
  10. MATLAB 备忘清单_开发速查表分享