汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux 是一个用 C 语言开发的操作系统,这使得很多程序员开始忘记在 Linux 中还可以直接使用汇编这一底...
LINUX下GDB反汇编和调试
Linux下的汇编与Windows汇编最大的不同就是第一个操作数是原操作数,第二个是目的操作数。而Windows下却是相反。1、 基本操作指令简单的操作数类型说明。一般有三种。(1)马上数操作数,也就...
自动化软件漏洞利用技术研究
Automatic Exploit Generation可以看作是一种算法,它集成了数据流分析和决策程序,目的是自动化构建漏洞利用。本文主要覆盖三种常见安全漏洞的自动化漏洞利用:基于堆...
IDA技巧(105)自定义基址的偏移量
我们之前已经讨论过简单偏移量,即操作数值或数据值与程序中的地址匹配,因此可以直接转换为偏移量。然而,程序也可能采用更复杂或间接的方式来引用位置。一种常见的方法是使用从某个预定义基址的小偏移量。从寄存器...
c语言详解sizeof
原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作...
IDA技巧(90)可疑操作数限制
虽然在一般情况下,正确的反汇编问题是无法解决的,但在实践中可以非常接近。IDA使用各种启发式方法来改进反汇编并使其更易读,例如在“看起来合理”的情况下将数值转换为偏移量。然而,这并不总是可靠或成功的,...
IDA技巧(89)批量操作
上次我们使用操作数类型来提高函数的可读性,并更好地理解其行为。逐个转换操作数在需要时是可以的,但如果需要对一大段代码进行转换,这很快就会变得乏味。批量操作要一次性转换多条指令的操作数,请在触发操作之前...
IDA技巧(88)字符操作数类型和栈字符串
我们之前讨论过操作数表示,但今天我们将使用一种特定的表示法来找到隐藏在其中的彩蛋。更具体地说,是这张截图:函数surprise调用了printf,但传递给它的参数似乎都是数字。printf()不是通常...
ASM中的控制转移指令
0x01 无条件控制转移指令jmp 指令会立即改变程序的控制流,将指令指针(RIP 寄存器)设置为 jmp 指令的操作数所指定的目标地址。这意味着程序将从这个新地址开始继续执行,而不会执行 jmp 指...
恶意软件分析-汇编基础
欢迎加入我的知识星球,目前正在更新免杀相关的东西,129/永久,每100人加29,每周更新2-3篇上千字PDF文档。文档中会详细描述。加好友备注(星球)!!!计算机基础CPUCPU是计算机的大脑,负责...
Js逆向入门:AST技术解混淆(下篇)
在上篇中给师傅们介绍了AST技术以及AST技术中常用模块的使用和代码示例,那么今天我们就主要讲解AST技术在Js反混淆中的利用,也就是如何使用AST技术还原混淆代码,并给出了两种最常见的反混淆示例01...
IDA 技巧(47) IDA 中的提示 Hints
提示(也称为工具提示)是在你将鼠标光标悬停在IDA中的特定项上时弹出的文本窗口。很多情况下都会出现这些提示。 反汇编提示 在反汇编视图中,提示可能在以下情况下显示: 当悬停在名称或地址上时,将显示目标...