自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

盾悟

奇怪的Dester

  • 博客(421)
  • 资源 (3)
  • 收藏
  • 关注

原创 渗透测试之 通俗易懂让你搞明白如何做渗透测试【渗透测试之流程(步骤)】 什么是白帽子? 什么是黑帽子?什么又是黑客 这篇文章让你搞明白

很重要 很重要 的网络知识 什么7层 4层网络协议,IP,子掩饰码,DNS,路由器,CDN,HTTP HTTPS的区别,IP段,三次握手四次挥手,DHCP,TCP/IP 等等一些网络知识想要搞好安全领域的相关工作,网络知识绝对是一个大头。,也就是拿工具来玩玩,当然这也是大多数人对于黑客或者渗透测试人员的一种看法,当然这种开发我不否认,但是我认为用工具扫描的方式可取的前提是你要知道你所使用的漏扫工具的原理。也对黑客这个职业或者说这个工种很好奇,那么黑客到底是干什么的,是如何进行黑客的一个工作流程的了?

2024-05-29 15:59:47 122833

原创 windows 加壳工具代码实现02 - 加壳界面实现MFC

GrkProDlg.cpp是加壳器程序的MFC界面文件,主要负责用户交互界面实现。该文件创建了包含"选择文件"和"文件加壳"两个按钮的图形界面,其中"选择文件"按钮通过CFileDialog类实现.exe文件选择功能,"文件加壳"按钮则调用Pack()函数执行加壳操作。作为整个加壳器程序的入口点,该文件还完成了MFC环境配置、界面绘制、库文件包含(包括Psapi.lib和自定义的Stub.lib)等工作,实现了用户与加壳器核心功

2026-07-13 18:30:00 6

原创 HTTP中的三次握手与中间人攻击之间的关联 以及原理

摘要: TCP三次握手是建立可靠连接的核心机制,通过同步初始序列号(ISN)、协商参数(如MSS)和验证双向通信来实现。流程分为三步:1)客户端发送SYN(Seq=X);2)服务器回复SYN-ACK(Seq=Y, Ack=X+1);3)客户端发送ACK(Ack=Y+1)。三次握手(而非两次)可防止历史连接导致的资源浪费,确保连接唯一性。关键细节包括ISN随机化(防预测攻击)、半连接队列(易受SYN洪水攻击)及全连接队列。渗透测试中,三次握手机制被用于端口扫描(如Nmap SYN扫描)、中间人攻击(需伪造AC

2026-07-13 07:30:00 337

原创 windows 加壳工具代码实现01 - 整体项目流程梳理

本文摘要: 该文档描述了一个EXE文件加壳工具的实现流程,主要分为三个阶段:1)加壳器初始化PE结构;2)加壳阶段通过Pack.cpp核心函数对原程序代码段加密,提取Stub.dll的壳代码模板并注入目标文件;3)运行阶段由Stub壳代码动态解密并跳转至原程序OEP。整个过程涉及三个关键组件:用户界面(12.GrkProDlg.cpp)作为操作入口,Stub.cpp作为核心保护逻辑,Stub.dll作为代码模板载体,三者通过Pack.cpp协调完成加壳过程。加壳器主要功能包括PE结构修改、代码加密、重定位修

2026-07-13 06:30:00 377

原创 免杀之EDR核心原理分析

本文提出了一套六层绕过EDR(端点检测与响应)的体系结构,从静态扫描到内存取证,每层针对不同的检测维度。EDR与传统杀毒软件的根本区别在于其基于行为检测而非文件签名,具有多个独立的检测通道(如静态扫描、IAT分析、ntdll Hook、ETW遥测、内核栈回溯和内存取证)。本文的六层绕过技术包括:多态变异和字符串混淆(绕过静态扫描)、API哈希(绕过导入表分析)、HellsHall间接系统调用(绕过ntdll Hook)、EtwEventWrite修补(绕过ETW遥测)、SilentMoonwalk调用栈伪造

2026-07-06 09:23:12 337

原创 洪水猛兽攻击之 XML Bomb

XML Bomb攻击是一种通过构造恶意XML文件耗尽服务器资源的攻击方式,主要包括递归引用的Billion Laughs和压缩型的Zip Bomb两种形式。攻击可导致服务器崩溃、拒绝服务或数据泄露。防御策略包括:1. 禁用XML外部实体解析(XXE)和DTD;2. 限制XML文件大小和解析深度;3. 使用安全的XML解析库。文章提供了Java、Python、PHP的代码示例,以及Nginx和Apache的配置方案,指导如何增强XML解析的安全性。测试时可通过上传构造的恶意XML文件检测防御效果。

2026-07-04 05:45:00 325

原创 Clear Text HTTP (Credentials) 攻击手法 python脚本以及 相关工具

本文介绍了三种网络攻击工具的使用方法:1. Scapy - Python网络嗅探库,通过捕获HTTP流量提取未加密凭证;2. mitmproxy - 中间人代理工具,可拦截修改HTTP/HTTPS请求;3. Ettercap - 支持ARP欺骗的嗅探工具,能劫持网络流量。这些工具分别适用于不同场景的网络嗅探和中间人攻击,可帮助安全人员测试网络安全性,但需在合法授权范围内使用。

2026-07-04 04:15:00 306

原创 DNS 劫持(DNS Spoofing)攻击手法 python脚本编写手法

DNS 劫持(DNS Spoofing) 攻击通过伪造 DNS 响应或篡改 DNS 解析过程,能够将受害者的网络流量引导到恶意服务器。防止此类攻击的关键在于配置安全的 DNS 服务器、使用 DNSSEC 进行响应验证、以及采用加密的 DNS 协议(如 DoH 或 DoT)。

2026-07-03 08:00:00 985

原创 洪水猛兽攻击之另一种DDOS协议攻击 SSL 详解

SSL-Exhaustion攻击防护与服务器加固方案摘要 SSL-Exhaustion攻击通过消耗服务器SSL/TLS资源(如CPU、连接数)实施拒绝服务,主要手段包括重新协商攻击、SSL洪水攻击和握手阻塞攻击。防御需多层面结合: 配置优化:禁用TLS 1.0/1.1、启用强加密套件、OCSP Stapling和HSTS; 攻击防护:限制并发连接、禁用重新协商、启用SYN Cookie、部署WAF(如Cloudflare/ModSecurity); 监控与响应:实时检测异常连接(netstat/tcpdum

2026-07-03 07:30:00 435

原创 渗透测试之网络流量分析大全

本文系统阐述了Wireshark在网络安全领域的应用方法,聚焦8种关键协议(ICMP/Telnet/FTP/DNS/HTTP/USB/TLS/IEEE802.11)的流量分析技术。通过协议特性解析、异常流量判断标准、CTF实战案例和Web渗透利用路径四个维度,构建了完整的网络流量分析知识体系。特别针对加密流量(TLS/WiFi)提供解密方案,对USB等非网络协议开发专用分析方法。文章将基础工具操作与高级攻防技术相结合,既包含FollowStream、过滤语法等基础技巧,又涵盖ICMP隧道、DNS隐蔽通道等高

2026-07-02 11:18:08 423

原创 SSL/TLS攻击方法 低版本漏洞利用手法攻击

本文总结了10种常见的SSL/TLS协议攻击手法及其防御策略。主要攻击包括:中间人攻击、协议降级攻击、BEAST、POODLE、心脏出血漏洞、SSL剥离、弱密钥攻击、SNI欺骗、密钥重用和恶意证书攻击。防御措施建议禁用旧协议(如SSLv3)、强制使用TLS1.2+、部署强加密套件(如AES-GCM)、启用HSTS和证书验证、实施完美前向保密等。通过综合应用这些安全措施可有效提升SSL/TLS通信安全性,防范常见攻击手段。

2026-07-02 10:52:23 257

原创 洪水猛兽攻击之 Man-in-the-Middle (MITM) 攻击 - SMTP

MITM攻击-SMTP实战解析(150字摘要) MITM攻击通过拦截SMTP邮件流量(端口25/465),可窃取明文内容、篡改邮件或伪造发件人。攻击手段包括SSL剥离、DNS劫持、证书伪造,结合Scapy等工具可自动化修改邮件头/正文/附件。防御需强制SMTPS加密、部署SPF/DKIM/DMARC验证,并启用端到端加密(如PGP)。Python示例演示了利用Scapy监听并替换DATA字段的钓鱼邮件注入,但实际攻击需绕过TLS和邮件安全策略。高级攻击可能结合反向代理或利用弱SSL配置,而有效防护需多层加固

2026-07-02 10:51:43 364

原创 PE免杀 ---> PE加壳01

本文系统介绍了PE文件加壳技术的原理与实现。核心内容包括:1)壳的定义与功能,即通过附加自执行代码保护原始程序;2)加壳流程,涉及修改PE头、分配内存、解密数据、修复导入表等关键步骤;3)PE文件结构解析,以建筑类比阐释DOS头、NT头等组件;4)加壳类型区分(压缩/加密/保护壳)及反调试等扩展功能。通过流程图和模块化说明,完整呈现了从系统加载到跳转OEP的完整调用链,并结合UPX等实际案例,深入浅出地阐述了加壳技术在软件保护中的具体应用和逆向分析方法。

2026-06-19 11:59:48 5762

原创 LoadPE &&& 代码实现部分(ASM汇编版本)>>04

这是一个PE加载器的实现,主要功能是将"PlantsVsZombies.exe"程序加载到内存并执行。其核心流程包括:获取自身ImageBase、映射目标PE文件、解析PE结构、修改内存权限、复制PE头和区段数据、修复IAT导入表,最后跳转到目标程序入口点执行。 关键实现点: 使用VirtualProtect修改内存属性为可读写执行 通过内存映射方式读取PE文件 完整复制PE头和所有区段到正确虚拟地址 动态加载依赖DLL并修复导入地址表(IAT) 最后通过JMP指令跳转到目标程序原始入口

2026-06-19 11:58:40 5103

原创 LoadPE &&& 手动解析(PE)知识点总结与应用汇总>> 05

本文解析了LoadPE工具的加载机制及其在免杀中的应用。LoadPE通过模拟Windows系统加载器的工作流程,在用户态完成PE文件的加载执行,使目标程序代码运行于当前进程空间(进程名仍显示为LoadPE)。其隐蔽性源于:1)接管系统加载流程;2)改变API调用模式;3)非标准内存加载特征;4)保持单一进程表象。虽然能绕过传统行为监测,但现代防护系统已能检测异常内存操作等组合行为。该工具本质是充当"启动壳"的Loader,为免杀提供基础平台,但需结合其他技术对抗高级防护。

2026-06-19 08:30:00 5126

原创 LoadPE &&& 被加载PE文件代码分析(ASM汇编版本)>>03

本文详细介绍了使用汇编语言实现LoadPE加载器的完整流程。核心内容分为五大阶段:1)打开目标文件;2)内存映射;3)PE结构解析(重点);4)导入表修复;5)跳转执行。其中PE解析阶段涉及DOS头定位、NT头解析、节表遍历、导入表处理等关键操作,完全通过寄存器偏移手动实现。实现特点包括:精确内存控制、地址固定技巧(ORG指令)、全程手动操作PE结构。这种底层实现方式虽然复杂,但提供了对加载流程的完全控制权,为高级免杀技术奠定了基础,体现了汇编语言在PE加载器开发中的独特优势。

2026-06-18 11:51:06 5186

原创 LoadPE &&& OEP问题分析以及实现流程分析(ASM汇编版本)>>02

本文介绍了LoadPE技术的核心原理与实现步骤。LoadPE是一个小型加载器程序,通过模拟Windows加载器工作流程,在不占用00400000地址的情况下将目标EXE加载到该地址并执行。关键步骤包括:1)解析PE结构获取必要信息;2)在目标地址分配可执行内存;3)拷贝文件头和节数据;4)手动解析导入表(绕过监控);5)跳转到程序入口点执行。该技术实现了PE文件的隐藏加载和反检测,核心难点是避免与目标EXE的地址冲突,需确保加载器自身不占用00400000地址。

2026-06-18 08:30:00 5317

原创 ​​​​PE结构 ---> 10.什么是导出表

本文深入解析Windows DLL导出表的结构与工作机制。导出表通过IMAGE_EXPORT_DIRECTORY结构实现动态链接,包含三张核心表:函数地址表(AddressOfFunctions)、名称表(AddressOfNames)和序号表(AddressOfNameOrdinals)。关键点包括:1)Base基序号机制处理非连续序号;2)函数地址与名称的一对多关系;3)通过序号或名称查表获取函数RVA的完整流程。文章还详细阐述了导出表与导入表的协作关系、函数转发机制,以及如何通过解析PE文件头定位导出

2026-06-17 15:27:09 5594

原创 ​​PE结构 ---> 9.什么是 导入表

导入表 作用与总体布局导入表是一个 IMAGE_IMPORT_DESCRIPTOR 数组(以全零项终止),每个元素对应一个被导入的 DLL。每个 descriptor 的关键字段包括 OriginalFirstThunk、Name、FirstThunk 等;加载器通过这些信息去加载 DLL,并把实际函数地址写入到 FirstThunk 指向的位置(IAT,Import Address Table)。简单说:磁盘上的“名字与签名” → 加载器在内存里把函数地址填到 IAT → 程序通过 IAT

2026-06-17 15:26:26 5280

原创 LoadPE &&& 原理以及作用 (ASM汇编版本)>>01

文章摘要: 本文深入探讨了Windows系统中PE文件(如.exe、.dll、.sys)的加载机制——LoadPE过程,重点分析了手动映射PE的核心原理及其在绕过安全监控中的应用。通过模拟操作系统加载流程,手动解析PE结构、处理重定位和导入表,避免调用敏感API(如LoadLibrary/GetProcAddress),从而规避行为检测。文章对比了C语言与汇编在实现Loader时的优劣,提出混合架构设计建议,并列举四种高级免杀方案,包括静动结合、进程伪装、APC注入和反射DLL技术。手动PE加载虽能有效规避

2026-05-26 11:22:31 5917

原创 Shell免杀专栏后续计划控结构玩法

随着安全防御技术迭代,传统加壳混淆手段已完全失效。现代AV/EDR形成包含静态特征扫描、行为监控、内存分析和威胁情报联动的立体防御体系。本文深度剖析PE文件从结构头到内存加载的全链路武器化方案,涵盖汇编层编码、系统调用绕过、内核机制利用等核心技术。重点解析如何通过PEB操控、TLS回调劫持、动态SSN提取等底层技术构建免杀框架,强调体系化知识结构的重要性。内容包含Windows内核加载机制、异常处理流程、syscall直调等实战技术,并预告将扩展Linux平

2026-05-25 10:36:19 5147

原创 汇编 16位32位64位通用寄存器(逆向分析)

《x86架构寄存器演变史》摘要 本文系统梳理了x86架构寄存器体系的发展历程:16位模式(8086)采用8个通用寄存器(AX/BX/CX/DX等)、4个段寄存器(CS/DS/SS/ES)和16位FLAGS标志寄存器;32位模式(80386+)扩展出EAX/EBX等32位寄存器,新增FS/GS段寄存器,标志位升级为32位EFLAGS;64位模式(AMD64)引入RAX-R15共16个64位通用寄存器,采用平坦内存模型,保留FS/GS用于线程存储,标志寄存器扩展为64位RFLAGS。各代架构在保持向后兼容的同时

2026-05-22 08:48:22 5970

原创 汇编常用的(JCC 串 判断)指令 通用寄存器 标志寄存器 段寄存器(逆向分析)

本文系统介绍了x86/x64架构的核心组件,包括寄存器体系、标志位系统和指令集。主要内容涵盖:1)32/64位通用寄存器的功能划分(如EAX累加器、EBX基址寄存器等)及其子寄存器访问方式;2)段寄存器在实模式和保护模式下的不同作用;3)EFLAGS/RFLAGS标志寄存器各状态位的含义及其对条件跳转的影响;4)六类核心指令(数据传送、算术运算、逻辑运算等)的操作特性;5)九种寻址方式及其应用场景;6)条件跳转指令的分类判断逻辑;7)字符串指令与重复前缀的高效组合使用。通过寄存器结构示意图和典型指令示例,展

2026-05-22 08:47:19 6391

原创 汇编 内联汇编与混合编程 (逆向分析)

摘要:本文探讨了内联汇编与混合汇编的实现原理及x86/x64架构差异。内联汇编通过_asm块在C++中直接嵌入汇编指令操作硬件资源;混合汇编则通过独立.asm文件与C++交互,需处理调用约定和符号链接。x64架构相对x86的主要改进包括:64位寄存器扩展、寄存器优先的参数传递机制及16字节栈对齐。文中提供了x86内联汇编实现变量操作的示例,以及x64混合编程中C++调用汇编函数的典型模式,揭示了不同架构下底层代码交互的技术细节。(149字)

2026-05-21 09:11:19 6538

原创 汇编 结构体与宏

本文比较了C++和汇编语言中结构体与宏的实现方式。在C++中,结构体(struct)用于组合不同类型数据,通过.或->访问成员;宏(#define)则进行预处理替换。汇编语言(MASM)中,结构体使用struct...ends定义,成员按声明顺序分配内存;宏通过MACRO...endm定义,支持参数化代码复用。两者都通过结构体组织数据、通过宏提高代码复用率,但在语法、内存管理和调试方式上存在差异。汇编语言更注重内存布局和偏移量计算,而C++提供了更高层次的抽象。

2026-05-21 09:08:29 5877

原创 汇编 数组与串指令(逆向分析)

本文详细讲解了汇编语言中数组的定义、存储和访问方法。数组通过伪指令(dd/dw/db)在.data段定义,使用dup操作符初始化,元素在内存中连续存储。重点介绍了数组寻址公式"基址+索引×元素大小"的实现方式,包括比例因子(Scale Factor)的使用技巧。通过具体示例演示了数组的循环填充和遍历操作,强调基址寄存器与索引寄存器的配合使用。文章还指出了数组操作中的常见注意事项,如初始化要求、边界控制等,并总结了汇编数组高效处理批量数据的技术优势。掌握这些核心概念是从指令编写过渡到程序开

2026-05-21 09:07:35 5987

原创 汇编中的段与段寄存器(大小)段序 (逆向分析)

摘要 字节序(Endianness)指多字节数据在内存中的存储顺序,分为大端序(高位字节在前)和小端序(低位字节在前)。x86/x64架构强制使用小端序,硬件计算更高效;网络协议则统一采用大端序。实际应用中,逆向工程、文件解析需注意字节序差异:内存数据(小端序)与网络数据(大端序)需通过htonl()等函数转换。掌握字节序对逆向分析、协议还原及跨平台开发至关重要,是底层编程的基础知识。

2026-05-20 08:00:42 5979

原创 汇编中的JCC指令 (逆向分析)

摘要:JCC指令必须配合TEST/CMP使用,因为JCC本身不进行计算,仅依据EFLAGS寄存器的标志位判断跳转条件。TEST通过位与运算设置标志位,常用于位测试;CMP通过减法运算设置标志位,用于数值比较。二者为JCC提供决策依据,确保跳转逻辑正确。JCC指令家族包含JE、JB等,根据标志位状态实现条件跳转,是程序控制流的核心机制。现代CPU通过分支预测优化JCC执行效率。正确使用TEST/CMP+JCC组合是实现条件分支的关键。

2026-05-20 07:55:28 6222

原创 汇编 标志位寄存器 (逆向分析 )

EFLAGS寄存器是x86架构中的32位标志寄存器,用于存储处理器状态和控制信息。它包含三类标志:状态标志(如CF、ZF、SF)反映算术运算结果;控制标志(如DF、IF)控制处理器行为;系统标志用于特权级管理。状态标志由ALU自动更新,控制标志通过指令设置。EFLAGS支持条件跳转指令,是if判断的底层实现基础。64位系统中扩展为RFLAGS,但低32位功能不变。操作指令包括PUSHF、POPF等,用于保存和恢复寄存器状态。EFLAGS通过硬件电路实现状态跟踪和控制功能,是软硬件交互的关键桥梁。

2026-05-20 07:54:19 659

原创 汇编 call与ret 函数与堆栈 (逆向分析)

摘要:x86汇编中的函数调用机制由call和ret指令实现。call将返回地址压栈并跳转至目标函数,等价于push eip + jmp;ret从栈顶弹出返回地址至eip,完成返回。栈帧管理通过esp(动态栈顶指针)和ebp(栈帧基址)协作:函数序言(push ebp; mov ebp, esp)建立栈帧,尾声(mov esp, ebp; pop ebp)恢复。参数访问通过[ebp+偏移]实现,调用约定(如_cdecl、_stdcall)决定参数压栈顺序及平栈责任。栈平衡维护是避免崩溃的关键,需严格遵循调用约

2026-05-19 07:26:24 6628

原创 汇编 汇编寻址 (逆向分析)

本文系统讲解了汇编语言中的寻址方式,包括立即数寻址、寄存器寻址、基址寻址等8种核心模式。通过典型指令示例,详细分析了每种寻址方式的实现原理和应用场景,如立即数寻址适合常量初始化,寄存器寻址速度最快,比例因子寻址则针对数组访问进行了优化。文章特别强调了基址+变址寻址在栈帧管理和数据结构处理中的关键作用,并指出不同寻址方式在指令灵活性、执行效率和内存访问方面的差异。这些底层寻址机制为理解高级语言特性(如指针、函数调用)提供了基础支撑。

2026-05-19 07:25:38 6009

原创 汇编 位运算 (逆向分析)

本文系统介绍了计算机位运算的核心原理与应用。首先概述了位运算的基本概念,包括与、或、异或、取反、移位等操作及其二进制规则。然后详细阐述了这些运算的汇编实现过程,并提供了记忆口诀帮助理解。文章重点讲解了如何利用位运算实现加减乘除等基本算术运算,包括加法通过异或与进位迭代、减法转换为补码加法、乘法通过移位累加、除法模拟长除法等方法。最后给出了完整的C语言实现代码,并分析了位运算在硬件支持、优化特性和应用场景等方面的优势,特别适用于嵌入式系统、加密算法和图形处理等高性能计算领域。

2026-05-18 12:56:46 5988

原创 汇编 高低八位寄存器数据存储方式(逆向分析)

本文介绍了32位x86架构中支持高低8位独立访问的寄存器(EAX、EBX、ECX、EDX),详细解析了低8位(AL/BL/CL/DL)和高8位(AH/BH/CH/DH)在寄存器中的位置关系。通过具体案例展示了如何单独修改低8位或高8位而不影响其他位,并说明了这种特性在64位寄存器中的延续。文章强调这种字节级访问在字符处理、标志位操作等场景中的实用价值,为理解寄存器操作提供了清晰的二进制视角。

2026-05-18 12:56:03 6017

原创 堆栈 mov esp ebp 详解 (逆向分析)

文章摘要:mov ebp,esp的核心作用是为函数建立独立的栈帧环境,将当前栈顶位置作为新函数的栈帧基址(EBP),从而建立稳定的局部变量和参数访问坐标系。通过具体代码示例演示了函数调用前后栈帧的变化,说明该指令通过冻结栈顶位置来隔离新函数的栈帧,确保参数和局部变量的可靠访问。关键点在于该操作不是清理栈数据,而是重新定义工作坐标系,保留调用者栈帧和参数区,使被调用函数能正确访问参数并通过EBP偏移量定位局部变量。若省略此操作将导致参数访问错乱和栈崩溃。

2026-05-16 11:02:46 5939

原创 堆栈 x64调用模式下的 push rdi 与 pop rdi的作用

x64汇编中push rdi指令在Win64 ABI中具有双重作用:1)保存非易失寄存器rdi的值,确保函数调用前后一致;2)调整栈指针实现16字节对齐。由于call指令会压入8字节返回地址导致栈不对齐,push rdi通过再压入8字节使栈重新对齐,满足Windows API调用要求。相比单纯使用sub rsp,8指令,push/pop非易失寄存器的做法更规范,调试兼容性更好,同时兼顾了寄存器保存和栈对齐两个功能。

2026-05-16 11:01:40 5975

原创 堆栈中为什么要进行压栈 抬栈 平栈 (逆向分析)

栈操作概述 栈是LIFO数据结构,用于函数调用时存储临时数据。x86/x64架构通过ESP/RSP(栈指针)和EBP/RBP(基指针)管理栈操作,栈从高地址向低地址增长。核心操作包括: 压栈(Push):数据存入栈顶,栈指针减小(如push eax)。 抬栈(Pop):移除栈顶数据,栈指针增大(如pop ebp)。 平栈:调整栈指针以清理参数或对齐(如add esp,4)。 栈帧生命周期 压栈构建栈帧(保存EBP、分配局部变量)。 抬栈恢复上下文(弹出EBP、返回地址)。 平栈平衡栈指针(调用者或被调用者负

2026-05-06 08:53:53 10910

原创 架构FaseCall调用页顶 x64汇编框架 (逆向分析)

X64汇编框架是基于64位x86架构的扩展,相比32位X86架构,它提供了更大的地址空间、更丰富的寄存器集和优化的调用约定。X64使用64位寄存器和地址总线,支持高达2^64字节的虚拟地址空间,并通过RIP相对寻址实现位置无关代码。核心特性包括16个64位通用寄存器(如RAX、RBX等)、统一的fastcall调用约定(前四个参数通过RCX、RDX、R8、R9寄存器传递)、16字节栈对齐以及支持RIP相对寻址的指令集。X64汇编通过寄存器高速访问和优化参数传递机制显著提升了程序性能,同时简化了内存管理模型。

2026-05-06 08:52:40 11193

原创 内存条中[堆栈]是什么(逆向分析)

《程序内存管理:堆与栈的深度解析》摘要 本文系统分析了计算机程序中的两种核心内存结构——堆(Heap)和栈(Stack)。栈作为自动管理的LIFO结构,负责函数调用、局部变量存储等任务,具有高效但容量有限的特点;堆则提供动态内存分配能力,支持手动管理的大容量存储,但存在碎片化风险。文章从内存布局、管理机制、生命周期等维度对比二者的差异,详细阐述了C语言和汇编层面如何操作堆栈内存,包括栈帧构建、指针管理、malloc/free实现等关键技术要点。通过揭示堆栈在地址空间中的分布规律和增长方向,帮助开发者深入理解

2026-05-05 18:54:08 11550

原创 堆栈对齐 (逆向分析)

堆栈对齐是指程序执行过程中确保栈指针(如x64架构的rsp寄存器)按特定边界(通常16字节)对齐的技术要求。现代处理器指令集(如SSE/AVX)要求数据地址对齐以提高性能或避免异常。x64架构调用约定规定函数调用时rsp必须满足16字节对齐(rsp%16==0),call指令压入返回地址后会破坏对齐(rsp%16==8),因此被调用函数需通过调整栈指针恢复对齐。典型实现包含:调用者预留32字节影子空间,被调用函数按N%16==8规则分配局部变量空间。对齐失败可能导致性能下降或程序崩溃,编译器通常会自动处理对

2026-05-05 09:34:54 8654

原创 堆栈 为啥X86架构不需要平栈而32位架构需要平栈(栈管理)(逆向分析)

本文对比了x86和x64架构的栈管理机制差异。x86架构由于参数传递完全依赖栈空间,且栈对齐要求宽松(4字节),函数必须通过"平栈"(sub esp)主动分配栈空间,再通过"抬栈"(add esp)释放。而x64架构采用寄存器传递前4个参数,并引入32字节影子空间,由调用者负责栈对齐(16字节),被调用函数通常无需额外平栈操作。x86如同老式旅馆需要频繁整理空间,x64则像现代化酒店通过寄存器和预留空间优化管理,只在复杂场景才需平栈。这种差异体现了64位架构在栈管理上

2026-05-05 09:33:23 8576

OSI 7层模型 与 OSI 5层模型 各层功能详解

OSI 7层模型 与 OSI 5层模型 各层功能详解

2025-02-11

LoadRunner

很实在。很实用。全方面的LoadRunner资料

2012-10-30

计算机网络基础PPT

不错的计算机基础知识 。主要讲解的是ISO的相关知识总结

2012-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除