一、概述为了实现C++的多态,C++使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。二、类的虚表每个包含了虚函数的类都包含一个虚表。我们知道,...
UEFI安全漏洞的挖掘、防御与检测之道(下篇)
在这篇文章中,我们继续为读者分享与SMM漏洞相关的知识、工具和方法。(接上文UEFI安全漏洞的挖掘、防御与检测之道(上篇))TOCTOU攻击类型说明有时,即使在嵌套指针上调用SmmIsBufferOu...
V8 沙箱绕过
0x00 背景 这是 DiceCTF2022 的一道题 memory hole。 题目给了我们修改任意 array 的 length 的能力,按过往的经验,接下来很简单,就是构造任意地址读写原语,构造...
Category-465: 指针问题
Category-465: 指针问题 ID: 465 Status: Draft Summary Weaknesses in this category are related to improper...
two指针
概念双指针,顾名思义,就是利用两个指针去遍历数组,一般来说,遍历数组采用的是单指针(index)去遍历,两个指针一般是在有序数组中使用,一个放首,一个放尾,同时向中间遍历,直到两个指针相交,完成遍历,...
Use After Free
原理简单的说,Use After Free 就是其字面所表达的意思,当一个内存块被释放之后再次被使用。但是其实这里有以下几种情况 内存块被释放后,其对应的指针被设置为 NULL , 然后再次使用,自然...
二进制破解科普系列之ReverseMe
零、前言本系列为二进制破解科普系列教程。教程面向新手爱好者,欢迎大家探讨、建议,大牛轻喷。壹、准备工作在学习之前,我们需要了解以下的内容:1.寄存器:寄存器就好比是CPU身上的口袋,方便CPU随时从里...
强网杯 ezCloud题解
在比赛中代表星盟安全团队参赛的北极星队拿到了这道pwn题的一血EzCloudnotepad功能中存在一个数组溢出,可以将第17个位置的指针覆盖掉即可以覆盖LoginMsg指针,进而通过控制好堆布局,能...
汇编指令大全第二篇{学习笔记}
作者:虫二(二进制逆向星球学员)## 汇编指令 ### 寄存器类#### 0x01 通用寄存器累加器(E)AX = accumulator基址寄存器(E)BX = base计数器(E)CX ...
因为你安全了,所以你危险了——空指针引用
因为你安全了,所以你危险了——空指针引用 ``` 1.本文章属于系列文章《因为你安全了,所以你危险了》中的第一篇 2.本篇文章的作者是Gcow安全团队复眼小组的晏子霜,未经允许禁止转载 3.本篇文章需...
【恶意代码分析技巧】14-修改内存指针实现进程注入
上一篇文章中介绍的注入技术都是传统的注入技术,通用性好,但是也很容易被安全软件发现。随着研究的深入,攻击者们发现了新的注入技术,这类注入技术只攻击内存中特定的对象,修改内存指针,使得指针指向paylo...
2小时彻底搞懂指针!
有人说,指针是C/C++的灵魂,指针的灵活性和它带来的性能优势,有着让人欲罢不能的魅力。但对初学者来说,在领悟这样的魅力之前,你首先得历经一番折磨:指针的使用规则很多、很复杂,什么时候用指针常量、指向...
7