首页 > 其他分享 >Ollydbg的入门使用

Ollydbg的入门使用

时间:2024-11-23 22:02:29浏览次数:8  
标签:窗口 入门 F9 跳转 window 使用 断点 子程序 Ollydbg

修改完一个文件之后,点击保存到可执行文件就可以保存。

 1.各窗口简单介绍

B: 即Breakpoints window,断点窗口,用来管理和查看用户的断点。

L:log window,日志窗口,用来显示程序的输入输出和一些断点之类的日志信息

E:Executable modules window,也就是可执行模块窗口,列出当前进程的所有可执行模块及其信息。

M窗口,Memory window,也就是内存窗口。可以查看内存信息,查看其中存储的数据之类。

R窗口,Registers window,寄存器窗口,显示有关寄存器的一些信息。

C窗口是最重要的窗口,记录的有汇编代码之类,可以在这里进行单步调试。ctrl+g会跳转到指定地址。双击C窗口会来到观赏性比较强的窗口

目前暂且记录这么多窗口,等待以后继续补充。

2.快捷键介绍

F2:设置断点

F4:运行到选定位置。作用就是直接运行到光标所在位置处暂停。

F7:单步步入。功能同单步步过(F8)类似,区别是遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上

F8:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令,遇到 CALL 等子程序不进入其代码。

F9:运行。按下这个键如果没有设置相应断点的话,被调试的程序将直接开始运行。

CTRL+F9:执行到返回。此命令在执行到一个 ret (返回指令)指令时暂停。好处就是当你不想具体看这个子程序的每一句代码执行的情况了,你就可以按键盘上的CTRL+F9直接运行到子程序的结尾的位置停下来

ALT+F9:当程序暂停在系统领空的时候,你按一下ALT+F9,程序就一下子就执行完当前系统领空的代码回到了程序领空。系统领空也就是代码属于系统方面的函数,比如弹窗什么的,特点是一般地址都很大。

3.实战

查壳发现是UPX,所以直接使用脱壳机脱壳。

这里发现已经没有壳了。因为只学习了od,这里采取OD进行逆向分析。

下一步,打开OD。 

点击F9让程序运行起来,随便输入一个数字看看错误提示是什么。

进入OD,搜再试一次看看。

 我认为关键代码在这里了。je的意思是相等则跳转,如果它跳转走了,那不可能执行破解成功这个函数。我们需要不让他跳转,除了jmp强制跳转的思路,我们还可以改为jne,让判断的条件反着来就行了。保存后执行,见下图,破解成功。

标签:窗口,入门,F9,跳转,window,使用,断点,子程序,Ollydbg
From: https://blog.csdn.net/wlmt666/article/details/143925090

相关文章

  • 拥抱AI未来:Hugging Face平台使用指南与实战技巧
    目录......
  • jvm入门
    jvm入门一:jvm的介绍定义jvm的全称是Javavirtualmachine(java虚拟机)-java的运行环境(java二进制字节码的运行环境)作用:1:wirteonce,runanywhere。一次编译可以在任意平台运行2:自动内存管理:垃圾回收机制3:数组下标越界检查(对比c)4:多太jvm,jre,jdk的关系:jdk包......
  • 使用 iterm2 打造美观高效的 mac 终端
    前言最近换了一台新电脑,开发环境和软件都需要重新安装和配置,正好借着这个机会,介绍一下macOS终端神器iTerm2的安装配置,并推荐一些插件和好用的工具。iTerm2iTerm2是默认终端的替代品,也是目前macOS下最好用的终端工具,集颜值和效率于一身。安装直接前往 iTerm2官网 下......
  • 【数据库入门】关系型数据库入门及SQL语句的编写
    1.数据库的类型:数据库分为网状数据库,层次数据库,关系型数据库和非关系型数据库四种。目前市场上比较主流的是:关系型数据库和非关系型数据库。关系型数据库使用结构化查询语句(SQL)对关系型数据库进行操作。2.关系型数据库数据以二维表的形式进行存储,表和表之间可以建立关......
  • MySQL入门学习(五)
      在本篇文章中,我们会将MySQL剩余的基础知识讲解完毕,这也就是我们MySQL专栏里的收官之作辣~~~事务  在MySQL当中,什么叫做事务呢?一个事务其实就是一个完整的业务逻辑,可以举个生活中常见的例子:  假设A要向B转账1000元,那么我们需要在数据库中做以下几个步骤:①将A账户......
  • 使用命令行创建 Maven 项目
    本指南将引导您通过命令行创建一个简单的Maven项目。本教程假设您已经在您的机器上安装了Maven和JDK21。第一步:验证Maven和Java安装在开始之前,我们需要验证Maven和Java是否已正确安装在您的系统上。验证Maven安装打开命令行终端并输入以下命令:mvn-v......
  • 二.国产化系统—银河麒麟系统网络无法访问/无法使用/网络受限
    1.概述  电脑出现网络无法使用的问题,提示大致包含网络无法访问、网络受限、网络未连接等等。此类问题均可参考以下步骤进行处理。2.解决方法1.尝试更换网线  将网线接入到其它网络接口;然后再将另一端网线头接入到你的主机上,再看看网络是否正常。【可能是网线损坏、......
  • 使用JDBC控制事务:确保数据一致性
    使用JDBC控制事务:确保数据一致性在Java中,JDBC(JavaDatabaseConnectivity)是用于连接和操作数据库的标准API。事务管理是JDBC中的一个重要功能,确保数据库操作的一致性和完整性。本文将详细介绍如何使用JDBC控制事务,并通过一个实际案例演示如何处理事务中的异常情况,确保数据的一致......
  • 使用ENSP实现DHCP+动态路由
    一、项目拓扑   二、项目实现 (1)路由器AR1配置进入系统试图sys将路由器命名为R1sysnameR1关闭信息中心undoinfo-centerenable进入g0/0/0接口intg0/0/0将g0/0/0接口IP地址配置为12.12.12.1/30ipaddress12.12.12.130退出此视图quit创建valn......
  • 使用ENSP实现浮动静态路由
    一、项目拓扑  二、项目实现1.路由器AR1配置进入系统试图sys将路由器命名为R1sysnameR1关闭信息中心undoinfo-centerenable进入g0/0/0接口intg0/0/0将g0/0/0接口IP地址配置为1.1.1.1/24ipaddress1.1.1.124进入g0/0/1接口intg0/0/1将g0/0/1......