逆向
文章平均质量分 68
斯文小提莫
品味当下,观自在
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【逆向】Windows 系统调用流程 + SSDT/ShadowSSDT/ETW/VT Hook + 内核 / 用户层区别
本文详细解析了Windows系统调用执行流程及四种Hook实现原理。系统调用通过用户态API触发,经sysenter/syscall进入内核态,通过SSDT表查找内核函数完成调用。四种Hook方式包括:SSDT Hook修改系统调用表、ShadowSSDT Hook处理GUI调用、ETW Hook无侵入监控、VT Hook利用虚拟化底层拦截。内核态Hook具有全局性但风险高,用户态Hook仅限单进程但更安全。不同场景下需权衡权限范围与稳定性,内核Hook受PatchGuard等保护机制限制。原创 2026-05-11 23:45:00 · 300 阅读 · 0 评论 -
【调试】Dump 文件分析的完整流程
本文介绍了Dump分析的完整7步流程:准备符号文件、加载Dump、定位异常信息、回溯调用栈、确定崩溃模块、分析上下文和根因归类。重点讲解了如何通过异常码(如0xC0000005)、调用链(k命令)和模块(lm命令)定位问题,并区分业务逻辑崩溃(EXE内)、内存越界(非法地址访问)和第三方库问题(DLL内)三种主要根因。总结指出Dump分析的关键是异常码识别、调用栈回溯和模块定位,以快速判断问题是出在业务代码、内存访问还是第三方调用。原创 2026-05-10 23:45:00 · 302 阅读 · 0 评论 -
【逆向】x86 vs x64 汇编核心差异
摘要:32位x86和64位x64架构在调用约定、栈布局和寄存器使用上有显著差异。x86通过栈传递参数(从右往左压栈),使用EAX存储返回值;x64则前4个参数通过RCX、RDX、R8、R9寄存器传递,并预留32字节栈空间。x86栈为4字节对齐,常用EBP寻址;x64需16字节对齐,多使用RSP。寄存器方面,x86仅有8个通用寄存器,x64扩展至16个。逆向时可通过寄存器前缀(R/EAX)和传参方式(push/寄存器)快速区分架构。原创 2026-05-08 14:07:43 · 747 阅读 · 0 评论 -
【逆向】PEB、LDR、IAT、EAT在逆向分析中的作用
本文总结了Windows逆向工程中的四个关键数据结构:PEB(进程环境块)存储进程全局信息,用于反调试和模块遍历;LDR(模块加载管理器)维护加载模块链表,用于枚举和隐藏模块;IAT(导入地址表)记录外部函数调用,用于分析函数调用和Hook;EAT(导出地址表)列出DLL导出函数,用于手动获取函数地址和分析DLL功能。这些结构在逆向分析、反调试和Hook技术中具有核心作用。原创 2026-05-09 23:45:00 · 514 阅读 · 0 评论 -
【逆向】PE 文件加载核心流程
摘要:PE文件加载流程包括创建进程/线程对象、校验PE头、映射内存区段、基址重定位、加载依赖DLL(填充IAT)、执行DllMain和TLS回调,最终从入口点启动。关键结构包括PEB(进程信息)、LDR(模块管理)、IAT(函数调用)、重定位表和TLS(反调试常用)。整个过程可简述为:校验头部→内存映射→地址修正→导入函数→初始化→执行入口代码。(150字)原创 2026-05-09 23:45:00 · 524 阅读 · 0 评论 -
【逆向】Windows 三大注入:远程线程 、APC 、 钩子注入
本文总结了Windows系统的三种DLL注入技术:远程线程注入通过CreateRemoteThread在目标进程执行LoadLibrary,实现简单但易被检测;APC注入利用QueueUserAPC异步执行,隐蔽性更高但依赖线程状态;钩子注入通过SetWindowsHookEx自动映射DLL到GUI进程,适合桌面软件但局限较大。三种方法各具特点:远程线程通用稳定但易检测,APC隐蔽但不可靠,钩子全局有效但仅限GUI进程。对抗手段包括监控API调用、过滤回调函数和强化进程保护等。原创 2026-05-08 23:45:00 · 464 阅读 · 0 评论 -
【逆向】AT Hook 与 Inline Hook 对比
摘要: IAT Hook通过修改导入表地址重定向函数调用,稳定兼容且安全;Inline Hook直接修改原函数指令劫持执行流,适用于无导出函数但稳定性差。IAT Hook适用于外部函数拦截,Inline Hook用于强制干预场景。Windows新版(Win10/11)强化代码保护,Inline Hook风险显著增加。检测方面,IAT Hook检查地址合法性,Inline Hook需识别跳转指令。优先选择IAT Hook,仅在必要时使用Inline Hook并处理兼容性问题。(149字)原创 2026-05-08 23:45:00 · 255 阅读 · 0 评论 -
【逆向】dnSpy——修改IL代码,如何添加局部变量
本文详细介绍了在dnSpy中修改IL代码并添加局部变量的方法。核心步骤包括:打开目标方法的IL编辑模式,在局部变量表中声明新变量(需配置类型和索引),通过stloc/ldloc等指令操作变量。文章提供了实操示例,演示如何添加int类型变量并修改IL指令,同时强调了关键注意事项,如.maxstack调整、索引冲突避免和类型匹配等。最后列出了常见问题排查方法,帮助用户完成IL代码的自定义修改。整个过程需严格遵循IL语法规则,确保变量索引和指令操作正确匹配。原创 2025-11-28 18:00:08 · 1877 阅读 · 0 评论
分享