OllyDbg中的寄存器。

处理器在执行程序时需要一个助手。当执行一条指令时,例如将两个内存单元中存放的内容相加,处理器需要先把其中一个的内容置入寄存器,然后再把另一个内容置入,这是使用寄存器的一个例子。

ESP指向堆栈最顶端的地址

EIP指向当前将要执行的指令

标志寄存器

这里的标志分为C,P,A,Z,S,T,D和O。它们只能是两个数字值,0和1。

1O标志(溢出标志)溢出标志在当操作改变了符号位,返回错误值时被设置。

2A标志(辅助进位标志)完成操作后,用其它的某种形式对其进行记录。

3P标志(奇偶标志)如果指令的结果用二进制表示,该二进制数中的1的总个数为偶数时,P标志被设置。例如:1010,1100,1111000.

4Z标志(零标志)这是在Cracking过程中最著名最有用的一个标志。当运算产生的结果为0时被设置。5S标志(符号标志)这个标志在运算结果为负时设置为1。

6C标志进位标志(无符号运算的结果)在超过最大数值时设置,可能是寄存器的值。

时间: 2024-10-05 19:28:48

OllyDbg中的寄存器。的相关文章

VIM中的寄存器简介

原来在vim粘贴从其他地方复制过来的文本的时候,一直用的shift + inert,那时就想,能不能够直接就像p那样粘贴,不必非得进入插入模式再来粘贴.后来看了<vim实用技巧>上关于vim寄存器的介绍,发现这里面大有文章,所以今天特意拿来和大家分享. 首先对vim中的寄存器来进行个大致浏览,它主要分为这么几个部分: 1.无名寄存器(" ) 2.复制专用寄存器 (0) 3.系统剪贴板(X11视窗系统下的主剪贴板)(*) 4.黑洞寄存器 (_) 5.命名寄存器 (a-z) 6.表达式寄

Vim中的寄存器

# Vim中的寄存器 ### 文件名寄存器---- 粘贴文件名 `"%p"` ### 查看vim中的寄存器---- 查看寄存器 `reg` 或 `dis` ### 详细介绍---- [VIM中的寄存器简介](https://www.cnblogs.com/bwangel23/p/4421957.html) 原文地址:https://www.cnblogs.com/jiftle/p/10303079.html

Ollydbg中F8的Bug

用Ollydbg调试以下代码,可以展示出其F8单步步过所存在的一个Bug: #include <windows.h> int main() { CONTEXT ctx; ctx.ContextFlags = CONTEXT_FULL | CONTEXT_DEBUG_REGISTERS; GetThreadContext(GetCurrentThread(), &ctx); ctx.Dr7 = 0x101; ctx.ContextFlags = CONTEXT_DEBUG_REGISTE

8086中的寄存器

AX,可存放一般数据,而且可作为累加器使用: BX,可存放一般数据,而且可用来存放数据的指针(偏移地址),常常和DS寄存器连用:CX,可存放一般数据,而且可用来做计数器,常常将循环次数用它来存放:DX,可存放一般数据,而且可用来存放乘法运算产生的部分积,或用来存放输入输出的端口地址(指针):SP,用于寻址一个称为堆栈的存储区,通过它来访问堆栈数据:BP,可存放一般数据,用来存放访问堆栈段的一个数据区,作为基地址:SI,可存放一般数据,还可用于串操作中,存放源地址,对一串数据访问:DI,可存放一般

大脸猫讲逆向之ARM汇编中PC寄存器详解

i春秋作家:v4ever 近日,在研究一些开源native层hook方案的实现方式,并据此对ARM汇编层中容易出问题的一些地方做了整理,以便后来人能有从中有所收获并应用于现实问题中.当然,文中许多介绍参考了许多零散的文章,本文重点工作在于对相关概念的整理收集,并按相对合理顺序引出后文中对hook技术中的一些难点的解读. Android平台大多采用了ARM架构的CPU,而ARM属RISC,与X86架构的处理器有不同的特征,本文讲介绍ARM中不容易理解的PC寄存器各种问题,包括ARM流水线.PC寄存

汇编中EBP寄存器和ESP寄存器的区别

炎炎夏日,在实验室里热成狗了,所以准备学习点汇编让心凉一下... 目前看的书是刘颖东编著的<揭秘数据解密的关键技术>. 闲话不表,言归正传. EBP和ESP都是汇编中关于指针的寄存器.但是定义不同: (1)ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶.(2)EBP:基址指针寄存器(extended base pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的底部. 也就是说ESP是栈顶

C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。

除法运算中注意: 如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2:而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000. 取余运算中注意: 该运算只适合用两个整数进行取余运算,如:10%3 = 1:而10.0%3则是错误的:运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1. -- 1.  用关键字auto定义的变量为自动变量,auto可以省略,auto不写则隐含定为"自动存储类别",属于动态存储方式

shellcode在栈溢出中的利用与优化

0x00 前言 在<Windows Shellcode学习笔记--shellcode的提取与测试>中介绍了如何对shellcode作初步优化,动态获取Windows API地址并调用,并通过程序实现自动提取机器码作为shellcode并保存到文件中. 弹框实例shellcode的bin文件已上传至github,地址如下: https://github.com/3gstudent/Shellcode-Generater/blob/master/shellcode.bin 注:shellcode.

什么是OllyDbg 经常做破解软件的请问您们知道OllDbg又是什么呢?

OllyDbg 是一种具有可视化界面的 32 位汇编-分析调试器.它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题. Version 1.10 是最终的发布版本. 这个工程已经停止,我不再继续支持这个软件了.但不用担心:全新打造的 OllyDbg 2.00 不久就会面世! 运行环境: OllyDbg 可以以在任何采用奔腾处理器的 Windows 95.98.ME.NT 或是 XP(未经完全测试)操作系统中工作,但我们强烈建议您采用300-MHz以上的奔腾处理器以达