当前位置: 首页 > news >正文

OllyDbgqaqazazzAcxsaZ

本文通过吾爱破解论坛上提供的OllyDbg版本为例,讲解该软件的使用方法

F2对鼠标所处的位置打下断点,一般表现为鼠标所属地址位置背景变红
F3加载一个可执行程序,进行调试分析,表现为弹出打开文件框
F4执行程序到光标处
F5缩小还原当前窗口,表现为所有打开的窗口都进行缩小
F7单步步入,进入函数实现内,进步到CALL地址处
F8单步步过,越过函数实现
F9直接运行程序,遇到断点处暂停
Ctrl+F2重新运行程序到起始处,用于重新调试程序
Ctrl+F9执行到函数返回处
Alt+F9执行到用户代码处,用于快速跳出系统函数(不好用)
Ctrl+G输入十六进制地址,在反汇编或数据窗口中快速定位到该地址处

 修改数据

找到要修改数据的地址所对应的HEX数据,双击该数据,弹出对应的编辑数据对话框,去掉对"保持大小"的勾选,可向后修改数据。由于C\C++中字符串以00结尾,需要将字符串最末尾的数据修改为00。选择十六进制编码文本框,在最末尾处插入00。单击“确定”按钮。

 

 字串参考

顾名思义,就是在程序中搜索特定的字符串或者编码,对于定位操作有很大的作用

一般操作是:

鼠标右键->search for(查找)->all referenced text string(所有参考文本字串)出现以下界面

可以同过右键点击->查找查找字符串,也可以双击直接跳转到目标位置

为了看看是否还有其他的参考,可以通过右键选择查找参考(find reference to)->立即数: 

OllyDbg 显示程序的某些部分时是 不正确的,错误的将可执行代码解释为数据.这种情况,你可以在反汇编窗口中右击选择 Analysis(分析) -> Remove analysis from module(从模块中删除分析) 手动删除分析结果
高亮显示 jumps 和 calls ,你使用它可能会更为方便但我个人不 喜欢(这会有不 同的体验),右键点击,选择 选项->界面选项->代码高亮

 

L 图标或 View-> Log,显示日志窗口, 通过配置,可以显示 OllyDbg 启动时保存在日志窗口 的不同类型信息,也涉及条件断点的信息。如果需要将日志进行导出,则右键->记录到文件

 

 

E 按钮 View ->Executables 显示程序 运行使用的模块:exe,,dll,,ocx 和 其它。 

 

 

M 按钮或 View->Memory 显示我们的程 序映射到内存的信息,一个内存块可能 被分为几个部 分
右键点击可以搜索不同种类的字符串, 可以在访问上设置中断

 

T 按钮或 View->Threads 显示程序的线程窗口
W 按钮或 View-> Windows 显示程序窗口

 

H 按钮或 View-> Handles,句柄窗口 

C 按钮或 View->CPU,允许我们返回到 O llyDbg 的主窗口,CPU 窗口。
P按钮或 View->Patches,如果程序经过 了修改,这里显示修改的信息,现在我们的程序还没
有被修改过,所以为空白。

 

K 按钮或 View->Call stack 显示调用堆 栈的窗口信息,可以尝试反向跟踪函数的
调用顺序。
B 按钮或 View->Breakpoints 显示程序 普通断点的列表窗口,这里不显示硬件 断点和内存断点。

 

R 按钮或 View->Reference 参考窗口, 显示我们在 OllyDbg 中搜索的结果。

 

 “...”按钮或 View->Run trace 显示 RUN TRACE(RUN 跟踪)命令的结果。

 寄存器

显示有 EAX,ECX,,EDX,,EBX , ESP, EBP,,ESI,,EDI 和 EIP 等 它们都被称为 32 位寄存器。 在 OllyDbg 中,它们的内容以十六进制 显示。例如,EAX 的最小值为 00000000 ,最大值为 FFFFFFFF,用二进制表示将 是 11111111111111111111111111111111 。

 ESP 指向堆栈最顶端的地址我们看到寄存器显示了在我们的堆栈最上 方的值,打个比方,它就是一堆信件最上 方的那一 封。

EIP – 另一个非常重要的寄存器,它指 向当前将要执行的指令如果你按下 F7,那么将执行第一条指令,然后切到第二条将执行的指令。

 同样我们可以对寄存器的值进行修改,选中对应的寄存器->修改 即可

如果你要用到 EAX 寄存器的一部分,AX 是 EAX 的一部分,是 16 位寄存器,我们在 CommandBar 中 进行输入也可以看到。 ? AX(问号也可用于查询寄存器的值)
OllyDbg 可以更改寄存 器的值。我们在 EAX 上进行的一切操作同样适用于 其它寄存器:检查寄存器, 看哪一个是你想要更改的,然后右键点击 它选择 Modify。但 EIP 是唯一一个例外 的,它指向下一条将要执行的指令。 要改变头的值,需要如下操作。 EIP 指向将要执行的指令,只需简单的在 反汇编窗口中选择新的指令起始点一旦选择,例如 40101A,在其上点击鼠标右键,选择 New origin here(汉化版翻译为:处为新的 EIP),EIP 就会改变为 40101A,这样,程序就将会从这条指令执行。
在 OllyDbg 寄存器信息的下方显示的就是标志寄存器我们看到,这里的标志分为 C,P,A,Z
,S,T,D 和 O。 我们还看到,它们只能是两个数字值,0 和 1。某一具体指
令的执行可以改变它们的含义。 我们一起来看看这些标志:
1) O 标志(溢出标志)溢出标志在当操作改变了符号位,返回错误值时被设置 
该标志的目的:当 指令的结果超出了它可能存取的最大值 ,将被设置
2) A 标志(辅助进位标志) 完成操作后,用其它的某种形式对其进行记录。
3) P 标志(奇偶标志) 如果指令的结果用二进制表示,该二进 制数中的的 1 的总个数为偶数时,P 标志被设置
4) Z 标志(零标志) 这是在 Cracking 过程中最著名最有用的 一个标志。当运算产生的结果为 0 时被设置。
5) S 标志(符号标志)这个标志在运算结果为负时设置为 1。
6) C 标志进位标志(无符号运算的结果)在超过最大数值时 设置,可能是寄存器的值
未完待续

相关文章:

OllyDbgqaqazazzAcxsaZ

本文通过吾爱破解论坛上提供的OllyDbg版本为例,讲解该软件的使用方法 F2对鼠标所处的位置打下断点,一般表现为鼠标所属地址位置背景变红F3加载一个可执行程序,进行调试分析,表现为弹出打开文件框F4执行程序到光标处F5缩小还原当前…...

Elasticsearch7.8.0版本进阶——自定义分析器

目录一、自定义分析器的概述二、自定义的分析器的测试示例一、自定义分析器的概述 Elasticsearch 带有一些现成的分析器,然而在分析器上 Elasticsearch 真正的强大之 处在于,你可以通过在一个适合你的特定数据的设置之中组合字符过滤器、分词器、词汇单 …...

spring事务-创建代理对象

用来开启事务的注解EnableTransactionManagement上通过Import导入了TransactionManagementConfigurationSelector组件,TransactionManagementConfigurationSelector类的父类AdviceModeImportSelector实现了ImportSelector接口,因此会调用public final St…...

Linux 配置NFS与autofs自动挂载

目录 配置NFS服务器 安装nfs软件包 配置共享目录 防火墙放行相关服务 配置NFS客户端 autofs自动挂载 配置autofs 配置NFS服务器 nfs主配置文件参数(/etc/exports) 共享目录 允许地址1访问(选项1,选项2) 循序地…...

【编程入门】应用市场(Python版)

背景 前面已输出多个系列: 《十余种编程语言做个计算器》 《十余种编程语言写2048小游戏》 《17种编程语言10种排序算法》 《十余种编程语言写博客系统》 《十余种编程语言写云笔记》 《N种编程语言做个记事本》 目标 为编程初学者打造入门学习项目,使…...

异常信息记录入库

方案介绍 将异常信息放在日志里面,如果磁盘定期清理,会导致很久之前的日志丢失,因此考虑将日志中的异常信息存在表里,方便后期查看定位问题。 由于项目是基于SpringBoot构架的,所以采用AdviceControllerExceptionHand…...

Spring Batch 高级篇-分区步骤

目录 引言 概念 分区器 分区处理器 案例 转视频版 引言 接着上篇:Spring Batch 高级篇-并行步骤了解Spring Batch并行步骤后,接下来一起学习一下Spring Batch 高级功能-分区步骤 概念 分区:有划分,区分意思,在…...

ES数据迁移_snapshot(不需要安装其他软件)

参考文章: 三种常用的 Elasticsearch 数据迁移方案ES基于Snapshot(快照)的数据备份和还原CDH修改ElasticSearch配置文件不生效问题 目录1、更改老ES和新ES的config/elasticsearch.yml2、重启老ES,在老ES执行Postman中创建备份目录…...

【Vue3 第二十章】异步组件 代码分包 Suspense内置组件 顶层 await

异步组件 & 代码分包 & Suspense内置组件 & 顶层 await 一、概述 在大型项目中,我们可能需要拆分应用为更小的块,以减少主包的体积,并仅在需要时再从服务器加载相关组件。这时候就可以使用异步组件。 Vue 提供了 defineAsyncC…...

「媒体邀约」四川有哪些媒体,成都活动媒体邀约

传媒如春雨,润物细无声,四川省位于中国西南地区,是中国的一个省份。成都市是四川省的省会,成都市是中国西部地区的政治、经济、文化和交通中心,也是著名的旅游胜地。每年的文化交流活动很多,也有许多的大企…...

@Autowired和@Resource的区别

文章目录1. Autowired和Resource的区别2. 一个接口多个实现类的处理2.1 注入时候报错情况2.2 使用Primary注解处理2.3 使用Qualifer注解处理2.4 根据业务情况动态的决定注入哪个serviceImpl1. Autowired和Resource的区别 Aurowired是根据type来匹配;Resource可以根…...

Linux系列:glibc程序设计规范与内存管理思想

文章目录前言命名规范说明版式风格内存管理与智能指针关于UML前言 这是一个基于lightdm、glibc、gobject、gtk、qt、glibc、x11、wayland等多个高质量开源项目总结而来的规范。 glibc处于内核态与用户态的边界,承上启下,对用户的体验影响非常大。其在系…...

Redis 集群

文章目录一、集群简介二、Redis集群结构设计🍉2.1 数据存储设计🍉2.2 内部通信设计三、cluster 集群结构搭建🍓3-1 cluster配置 .conf🍓3-2 cluster 节点操作命令🍓3-3 redis-trib 命令🍓3-4 搭建 3主3从结…...

EF 框架的简介、发展历史;ORM框架概念

一、EF 框架简介EF 全称是 EntityFramework 。Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。ORM框架(Object Relational Mapping) 翻译过来就是对象关系映射。如果不用ORM框架,我们一般这样…...

注解原理剖析与实战

一、注解及其原理 1.注解的基本概念 注解,可以看作是对 一个类/方法的一个扩展的模版,每个类/方法按照注解类中的规则,来为类/方法注解不同的参数,在用到的地方可以得到不同的类/方法中注解的各种参数与值。 从JDK5开始&#xff…...

《STL源码剖析》理解之将类成员函数和for_each等算法结合

类成员函数可以通过函数适配器(function adapters)包装成一个仿函数(重载了operator()的类)&#xff0c;将其搭配于STL算法一起使用。#include <algorithm> #include <functional> #include <vector> #include <iostream>using namespace std;class In…...

如何构建应用标准化体系

标准化的过程实际上就是对运维对象的识别和建模过程。形成统一的对象模型后&#xff0c;各方在统一的认识下展开有效协作&#xff0c;然后针对不同的运维对象&#xff0c;再抽取出它们所对应的运维场景&#xff0c;接下来才是运维场景的自动化实现。 在标准化的过程中&#xf…...

【RabbitMQ笔记03】消息队列RabbitMQ七种模式之WorkQueues工作队列模式

这篇文章&#xff0c;主要介绍消息队列RabbitMQ七种模式之WorkQueues工作队列模式。 目录 一、工作队列模式 1.1、什么是Work Queues模式 1.2、工作队列模式的使用 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;编写生产者 &#xff08;3&#xff09;编写…...

认识html

1.html的特点先看一段简单的html代码<html><head></head><body>hello world</body> </html>如果将这段带有这段代码的.html文件拉进浏览器中,就会出现一个页面,内容就是hello world,如下图:由上面的代码,我们可以了解到一些html代码的特点…...

在外包公司熬了 3 年终于进了字节,竭尽全力....

其实两年前校招的时候就往字节投了一次简历&#xff0c;结果很明显凉了&#xff0c;随后这个理想就被暂时放下了&#xff0c;但是这个种子一直埋在心里这两年除了工作以外&#xff0c;也会坚持写博客&#xff0c;也因此结识了很多优秀的小伙伴&#xff0c;从他们身上学到了特别…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...