谷歌透露,其人工智能驱动的模糊测试工具 OSS-Fuzz 已被用于帮助识别各种开源代码存储库中的 26 个漏洞,包括 OpenSSL 加密库中的一个中危漏洞。“这些特定的漏洞代表了自动化漏洞挖掘的一个...
compiler explorer 轻松从汇编角度理解代码
介绍compiler explorer 是一个交互式编译探索网站。用C、c++、c#、f#、Rust、Go、D、Haskell、Swift、Pascal、ispc、Python、Java或其他30多种...
C/C++逆向:对象内存分布&__thiscall
在逆向工程中,类的逆向分析非常重要,尤其逆向分析的对象为面向对象的编程语言(如 C++)所编写的程序时类的分析就显得更加重要。这是因为类结构往往承载了程序的核心逻辑和设计模式。通过还原类的结构、继承关...
C++智能指针详解(最全)
最近几期总结都是抽取各大模块知识里面重要的进行详解,且都是C++程序员必须要掌握的知识点。在学习的时候,需要全神贯注哈,至少需要掌握百分之八十的内容。虽然可能对你们来说都是非常简单的基础知识,但是对于...
C/C++逆向:结构体逆向分析
在C/C++程序的逆向分析中,结构体的逆向分析是非常重要的。结构体是C/C++中管理和组织数据的一种主要方式。了解它们的布局可以帮助你理解程序是如何存储、处理和传递数据的,结构体常用于组织和管理复杂的...
Rust 中的阴影:制作高级 Windows 恶意软件
概括所提供的上下文讨论了在恶意软件开发中使用 Rust 而不是 C 和 C++ 的优势,强调了 Rust 的内存安全性、并发性、低级控制、跨平台功能、高级库、避免检测、易于开发以及针对 Windows...
C/C++逆向:二维数组分析
多维数组是指包含两个或两个以上维度的数组。常见的多维数组有二维数组、三维数组等。对于程序的逆向工程,多维数组的分析通常需要理解数组的内存布局、存储方式以及程序对数组的访问方式。多维数组的存储方式多维数...
IDA 技巧(62)创建自定义类型库
之前,我们讨论了使用IDA附带的类型库,但当处理不常见或自定义的API或SDK时,该怎么办呢?在这种情况下,可以使用我们为IDA Pro用户提供的下载中心中的tilib工具。创建类型库tilib是一个...
Waffles Crypt:C/C++ 中 Shellcode 加密和混淆的模块化方法
Waffles Crypt 是一款多功能的 C/C++ 工具,用于加密和混淆 shellcode。它支持 XOR、RC4 和 AES 加密,具有自定义的 MAC、IPv4 和 IPv6 反混淆功能,不...
深入剖析 C++11 超实用特性:nullptr 空指针字面值关键字全解
C++11超实用特性:全面解析nullptr空指针字面值关键字导读:现代C++提供了很多特性。现代编程语言的许多特性能够提高编码效率和可靠性,易于理解和使用,并且不易被误用。本文将从概念、用例等方面详...
C/C++逆向:数组逆向分析-识别数组
数组在逆向工程中是一个重要的分析对象,数组是存储数据的重要数据结构,尤其在程序中用于存储一系列相同类型的元素。通过逆向分析数组,可以理解程序是如何处理和组织这些数据的,从而揭示程序的内部逻辑。在软件安...
G.O.S.S.I.P 阅读推荐 2024-10-17 Modern C(免费版)
还记得我们在两个月前推荐的文章【G.O.S.S.I.P 阅读推荐 2024-08-28 学点C++(C++ Insights)】吗?光学C++肯定不够,现在人家都去学Rust了,我们这些学C语言的老古...
16