- 博客(175)
- 收藏
- 关注

原创 C/C++ 安全 开发 全栈 学习目录
导航栏博客首页 ->链接点击跳转博客主页 文章分类 编程基础 -C/C++ 编程基础 - Python 编程基础 - Java 数据结构 -C/C++ 核心编程 - WIN32 图形界面 - DLG - MFC - QT 网络编程 - SOCKET 项目开发 - C/C++ 汇编语言 - x86 - x64 软件逆向 - C/C++ 文件格式 - PE 调试异常 - Debug - Exception
2024-01-29 19:22:19
1378
原创 Windows逆向工程入门之 ADDRESS(virtual logical effective linear physical)
段选择器:段内偏移。
2025-03-08 17:38:28
1467
原创 Windows逆向工程入门之MASM x64架构与调用约定实战指南
【代码】Windows逆向工程入门之MASM x64架构与调用约定实战指南。
2025-03-05 21:28:34
1121
原创 Windows逆向工程入门之MASM ALIGN、TYPE、LENGTHOF、SIZEOF与LABEL
【代码】Windows逆向工程入门之MASM ALIGN、TYPE、LENGTHOF、SIZEOF与LABEL。
2025-03-03 20:53:26
934
原创 Windows逆向工程入门之MASM 指针操作
目录一、数据定义与内存布局:逆向工程的第一视角1. 多维度数据存储模型2. 指针的静态化存储二、指令级逆向分析:操作语义与机器码映射1. MOV 指令的多重面孔2. 部分寄存器操作的隐蔽性三、逆向工程高阶:内存访问模式与漏洞模式1. 数组越界访问的二进制特征2. 类型混淆漏洞的汇编级表现四、拓展:PE 文件结构与逆向工具的协同作战1. PE 节区与内存映射五、安全机制对抗:逆向工程的攻防视角1. ASLR 绕过技术
2025-03-02 19:08:48
1123
原创 Windows逆向工程入门之MASM OFFSET 伪指令
在 Windows 逆向工程与底层开发中,理解内存寻址机制是核心技能之一。MASM(Microsoft Macro Assembler)的。伪指令作为静态地址计算工具,直接影响代码生成与内存操作模式。表明 DWORD 类型)和索引逻辑。逆向时需推断元素类型(
2025-03-02 18:58:35
1146
原创 Windows逆向工程入门之MASM数据结构使用
标准定义语法原始字节定义带符号最大值十六进制表示法八进制表示法存储特征对比矩阵:类型位宽值域范围机器码示例内存布局模式SBYTE8-128~12788 FF补码存储WORD160~65535B8 00 01小端序SDWORD32扩展符号位REAL864±1.7E±308 (精确到15位小数)IEEE-754标准;二维数组定义技巧3行5列零矩阵访问matrix[row][col]内存布局验证:15个DWORD零值。
2025-02-27 19:51:41
1865
原创 Windows逆向工程入门之MASM编程深度解析
数据类型伪指令对照表:伪指令位宽等价类型BYTE8WORD16shortDWORD32longQWORD64__int64REAL432float内存分配高级技巧:.data200字节未初始化数组自定义结构体x DWORD?y DWORD?ends结构体实例化。
2025-02-27 19:42:09
1574
原创 Windows逆向工程入门之LOOP与REP指令的深度解析
是一个前缀指令,用于确保后续指令在多处理器环境中以原子方式执行。它通过锁定总线来保证对共享资源的独占访问。指令是 x86 汇编中的一个循环控制指令,用于实现基于计数的循环操作。指令使用较少,因为手动控制寄存器的方式被高级语言的循环结构(如。是一个前缀指令,通常与字符串操作指令(如。)结合使用,用于重复执行这些指令。的性能可能不如显式的跳转指令(这些变种通常用于字符串比较(如。寄存器的值来控制循环次数。
2025-02-26 18:14:26
1325
原创 Windows逆向工程入门之比较运算指令及其在逆向工程中的应用
CMP用于比较数值,TEST用于位测试,JCC实现条件跳转。无符号比较依赖CF,有符号比较依赖OF+SF。逆向中需通过跳转指令反推数据类型和业务逻辑。
2025-02-25 18:41:36
2082
原创 Windows逆向工程入门之数据运算指令解析与应用
数据运算指令是处理器执行算术操作的基本指令,广泛应用于变量值的更新、数学算法实现和循环控制。Windows 二进制程序中,大量的算术逻辑都是通过这些指令在底层实现的,因此逆向分析的一个重要步骤就是识别这些基础操作。
2025-02-24 18:21:57
1733
原创 Windows逆向工程入门之数据传输指令解析与拓展
在汇编语言中,数据传输指令用于将数据从一个位置复制到另一个位置,是指令集的核心组成部分。在 Windows 逆向工程和底层编程中,深入了解数据传输指令对于理解程序行为、数据结构操作和逆向分析至关重要。数据传输指令是操作指令集中最基本、最常用的指令。但是当涉及复杂的指针逻辑或数据扩展时,MOV 指令可以和其他指令配合使用,如。指令是最常见的指令之一,用于对变量进行初始化、赋值操作。在程序中进行有符号和无符号扩展操作时,逆向工程可以通过。在实际程序中,可以根据它们的使用频率判断目标变量的类型。
2025-02-23 20:04:25
1418
原创 Windows逆向工程入门之串流操作指令解析与拓展
串流操作指令是一类通过处理器支持的大量数据操作指令,用于快速实现字符串处理、内存块复制、比较、查找等操作。等操作中使用频繁,在逆向工程中解析字符串处理逻辑时,它们是重要的分析目标。(查找字符串子串)的内部实现可以基于。
2025-02-23 19:58:22
1270
原创 Windows逆向工程入门之数据位移指令解析与拓展
位移指令是汇编语言中对二进制位进行操作的基础指令,也是逆向工程中分析加密、加密解密逻辑和位运算的重要工具。通过位移操作,可以快速完成乘法、除法、加解密、位交换等操作。位移运算是对称加密的一种常用操作。一组数据通过连续的左移和右移进行加密,只需反向操作即可解密。,提取特定位的数据。数据位移指令是对目标操作数的位进行移动操作,包括。
2025-02-22 21:27:59
1375
原创 Windows逆向工程入门之指针类型
在逆向工程中,指针的操作是分析程序行为的重要线索,同时也是漏洞攻击的关键点。以下是指针的常见操作及其在逆向工程中的表现。在逆向工程中,指针的使用是分析程序逻辑和定位漏洞的关键。指针可以作为函数参数,用于传递数据地址。函数指针用于存储函数的地址。多级指针是指向指针的指针。指针数组是存储指针的数组。数组指针是指向数组的指针。
2025-02-21 18:59:49
1491
原创 Windows逆向工程入门之数组类型
编译器为Arr分配一块连续的内存,数组中的每个元素以固定大小()依次存储。以Arr[3]为例:对于int类型(Arr[3]在实际操作中,通过乘法(IMUL)、移位(SHL)、偏移加法(MOV)来计算数组访问地址。通过调试器或反汇编工具(如IDA Pro),我们可以在代码中定位基础类型数组的的初始化和操作。对于一个Arr[m][n],若数组起始地址为BaseAddr,元素Arr[i][j]其中表示二维数组的列数。在汇编中,二维数组的初始化可以观察到连续的地址赋值操作。
2025-02-21 18:50:41
1271
原创 Windows逆向工程入门之字符串类型解析与拓展
Windows程序对字符串的操作包括ASCII和Unicode格式的处理,C与C++程序中主要使用以下几种字符串类型。
2025-02-20 19:24:41
1907
原创 Windows逆向工程入门之字符类型与编码
字符编码是一种将字符映射到数字上的方式,是计算机能存储和处理文本的基础。例如,字母"A"在ASCII编码中映射为数字65,而在Unicode中是U+0041。在逆向工程中,ASCII编码主要出现在老旧系统或简单程序中,但局限性使得它逐渐被Unicode取代。Unicode是一种全球化的字符编码系统,目标是为所有语言字符提供统一、不重复的编码方案。逆向工程中,识别目标程序使用的代码页是解析字符数据的重要步骤。上面的代码存储在内存中会分别呈现一个字节和两个字节的存储格式。
2025-02-20 19:17:28
1237
原创 Windows逆向工程入门之调用约定
调用约定(Calling Convention):确定了函数调用时参数传递、返回值处理以及寄存器使用的规则。前两个参数通过ECX和EDX寄存器传递,剩余参数从右到左入栈。堆栈(Stack):用于存储函数的参数、返回地址和局部变量。this指针通过ECX寄存器传递。参数从右到左压入堆栈。参数从右到左压入堆栈。被调用者负责清理堆栈。被调用者负责清理堆栈。常用于C++成员函数。其余参数从右到左入栈。调用者负责清理堆栈。
2025-02-18 20:54:02
1176
原创 Windows逆向工程入门之函数本质
通过堆栈传递:参数通过堆栈传递时,必须确保堆栈在调用前已正确对齐。通过寄存器传递:某些调用约定允许使用寄存器传递参数,以提高性能。
2025-02-18 20:50:53
1391
原创 Windows逆向工程入门之堆栈逃逸
堆栈逃逸(Stack Escape)是一种程序漏洞利用技术,通过突破程序正常的堆栈边界限制,实现对其他内存区域的非法访问。这种技术常用于软件安全测试和漏洞分析中。
2025-02-17 20:59:44
1031
原创 Windows逆向工程入门之堆栈结构与信息获取
TEB 是一个结构体,包含线程的堆栈信息、异常处理信息等。TEB 是 Windows 线程的核心数据结构,每个线程都有一个对应的 TEB,存储在线程的用户模式内存空间中。调试工具(如 WinDbg、x64dbg)可以用来分析程序的堆栈信息,帮助理解程序的执行流程和查找问题。是 Windows 操作系统的一个核心动态链接库,提供底层的系统服务函数。是一个常用的 API,用于获取线程的详细信息,逆向工程时通常用于分析线程堆栈、异常处理等。函数的地址,该函数用于查询线程的详细信息。
2025-02-16 21:30:52
1388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人