此系列文章旨在探讨在VS2019环境下,代码还原中遇到x86的异常和x64的异常时如何准确还原try-catch的嵌套关系,如何定位核心的catch代码块,准确还原try的包含范围,以及获取thorw...
IDA技巧(117)重置指针类型
目前(截至8.1版本),Hex-Rays反编译器并不尝试进行完整的类型恢复,但会根据对变量的操作或使用来自类型库的API调用的类型信息来推导一些类型。反编译器执行的一种简单类型推导是当变量被解引用时创...
Exploiting a Use-After-Free for code execution in every version of Python 3[译文]
不久前,我在浏览Python的bug追踪系统时,偶然发现了一个bug,具体描述为“memoryview to freed memory can cause segfault”。这个bug提交于2012...
从漏洞到Shell:堆溢出漏洞利用实战指南
关于无问社区 无问社区-官网:http://www.wwlib.cn 本文来自社区成员,章鱼哥投稿欢迎大家投稿。投稿可获得无问社区AI大模型的使用红包哦! 我们无问社区通过使用全球大量行业技术语料进行...
08x结构体64-71
关注公众号,后台回复 找书+ C++Primer 获取C++相关电子书。C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型...
DEC/RPC协议与Windows服务创建浅析(银狐原始进程隐匿方式之一)
该方法是在一个银狐家族的样本中发现的,通过构造RPC数据包并发送请求至对应的RPC服务,能够绕过多个终端安全软件对CreatServices、NrdClientCall3等3环函数的Hook,从而规避...
C 语言中 setjmp 和 longjmp
在 C 语言中,我们不能使用 goto 语句来跳转到另一个函数中的某个 label 处;但提供了两个函数——setjmp 和 longjmp来完成这种类型的分支跳转。后面我们会看到这两个函数在处理异常...
EarlyBirdNTDLL项目解析以绕过Defender
欢迎加入我的知识星球,目前正在更新免杀相关的东西,129/永久,每100人加29,每周更新2-3篇上千字PDF文档。文档中会详细描述。目前已更新99+ PDF文档,《2025年了,人生中最好的投资就是...
C语言中结构体struct的用法
定义结构体变量 下面举一个例子来说明怎样定义结构体变量。 struct string { char name[8]; int age; char sex[2]; ...
四大C语言知识总结
1、#define宏定义以#号开头的都是编译预处理指令,它们不是C语言的成分,但是C程序离不开它们,#define用来定义一个宏,程序在预处理阶段将用define定义的来内容进行了替换。因此在程序运行...
反调试技术
反调试技术公众号前言继续学习《逆向工程核心原理》,本篇笔记是第七部分:反调试技术,包括一些静态反调试技术和动态反调试技术值得注意的是,这本书距今有将近10年了,故这里这些都是比较老的东西了一、反调试技...
IDA技巧(97)cross-reference-depth
交叉引用深度我们之前介绍过交叉引用的基本用法,但在某些情况下,它们可能不会如您所期望的那样表现。访问大型数据项如果有一个大型结构体或数组,代码在其中深层次地读取或写入数据,您可能不会在结构体定义中看到...