简介我们首先来了解一软件断点,软件断点其实就是在目标地址上注入一个int 3指令,也就是0xCC操作码。那么当CPU执行到该地址时会引发异常。通常是EXCEPTION_BREAKPOINT。最后异常处...
自动化软件漏洞利用技术研究
Automatic Exploit Generation可以看作是一种算法,它集成了数据流分析和决策程序,目的是自动化构建漏洞利用。本文主要覆盖三种常见安全漏洞的自动化漏洞利用:基于堆...
Stratovirt 的 RISC-V 虚拟化支持(五):BootLoader 和设备树
Corrector: TinyCorrect v0.2-rc2 - [pangu]Author: Sunts [email protected]: 2024/09/12Rev...
IDA技巧(105)自定义基址的偏移量
我们之前已经讨论过简单偏移量,即操作数值或数据值与程序中的地址匹配,因此可以直接转换为偏移量。然而,程序也可能采用更复杂或间接的方式来引用位置。一种常见的方法是使用从某个预定义基址的小偏移量。从寄存器...
花指令
什么是花指令?花指令实质就是一串垃圾指令,主要用于干扰静态分析的难度防止反编译器进行反编译,并不影响程序的正常逻辑,在CTF中花指令的作用主要用于防止静态分析程序,花指令也可以被用在病毒或木马上,通过...
缓冲区溢出学习及漏洞复现
一、什么是缓冲区溢出漏洞 unsetunset1.缓冲区的定义unsetunset 缓冲区是程序中用于临时存储数据的一块内存区域。例如,当程序从文件、网络或用户输入中读取数据时,这些数据通常会被存储到...
UDE使用教程
1、UDE简介 PLS UDE是一款强大的软件调试工具,适用多种架构芯片,包括主流的英飞凌,恩智浦,瑞萨,ARM等,国内有紫光,云途等。实用起来感觉功能略逊于劳特巴赫,但是还是很强大。界...
G.O.S.S.I.P 技术笔记 2025-01-15 薛定谔的寄存器?
编者按:寒假到啦!今天送上一则来自G.O.S.S.I.P成员何同学(此何同学非彼何同学 没那么丁真)的技术笔记,顺便提醒大家,不能光顾着读论文和抓大放小,也要钻研技术细节,毕竟“The devil i...
x64 调用栈欺骗
x64 Call Stack Spoofing前言在我之前的博客中,我讨论了 x64 返回地址欺骗的实现。虽然这种技术可以欺骗返回地址,但它有一个重大缺陷:欺骗返回地址会破坏调用栈链,从而导致容易被检...
汇编程序调用c函数为什么需要设置栈?
之前看了很多关于uboot分析类的文章,其中提到为C语言的运行准备栈。而在uboot start.S汇编代码中,关于系统初始化,也看到栈指针初始化,即正确给栈指针sp赋值,却从来没看到有人解释,为何要...
C/C++堆栈指引
前言 我们经常会讨论这样的问题:什么时候数据存储在堆栈(Stack)中,什么时候数据存储在堆(Heap)中。我们知道,局部变量是存储在堆栈中的;debug时,查看堆栈可以知道函数的调用顺序;函数...
你想有多PWN
✦1、打pwn需要准备的武器库✦✦2、副武器✦◆file 程序名:可查看文件类型以及一些大致信息◆readelf -a 程序名:查看elf文件所有节、符号表等信息◆hexdump 程序名:把指令数据等...