DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 474 下一页

2023年4月20日

摘要: 简介 Sanitizers是谷歌发起的开源工具集,包括了AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer,Sanitizers项目本是LLVM项目的一部分,但GNU也将该系列工具加入到了自家的GCC编译器中。GCC从4 阅读全文
posted @ 2023-04-20 14:43 DoubleLi 阅读(1335) 评论(0) 推荐(0)

摘要: 目录 即看即用 详细 简介 Valgrind工具详解 安装 使用 检测内存泄漏 其他内存问题 memcheck 工具的常用选型 其他选项 附录 其他类似工具 实例分析: 03. 使用未初始化的内存 04. 使用野指针 05. 动态内存越界访问 06. 分配空间后没有释放 07. 不匹配使用delet 阅读全文
posted @ 2023-04-20 14:28 DoubleLi 阅读(793) 评论(0) 推荐(0)

摘要: 一 代码 #include<iostream> #include<stdlib.h> using namespace std; void func(){ int *x=(int *)malloc( 10 * sizeof ( int ) ) ; x[10]=0; } int main(){ func 阅读全文
posted @ 2023-04-20 14:14 DoubleLi 阅读(68) 评论(0) 推荐(0)

摘要: 1、程序编译,链接后生成二进制可执行程序。二进制可执行文件以elf格式实现排列。可以通过readelf -S xxxx查看具体section的划分,粗略划分如下图所示。 在这些section中,代码段是只读的,自然也就不存在代码(指令)被改写的情况。数据段,堆,栈区具有读写的属性,但是数据段和堆一般 阅读全文
posted @ 2023-04-20 09:51 DoubleLi 阅读(395) 评论(0) 推荐(0)

2023年4月19日

摘要: 操作系统提供了许多安全机制来尝试降低或阻止缓冲区溢出攻击带来的安全风险,包括DEP、ASLR等。在编写漏洞利用代码的时候,需要特别注意目标进程是否开启了DEP(Linux下对应NX)、ASLR(Linux下对应PIE)等机制,例如存在DEP(NX)的话就不能直接执行栈上的数据,存在ASLR的话各个系 阅读全文
posted @ 2023-04-19 18:35 DoubleLi 阅读(202) 评论(0) 推荐(0)

摘要: 在写 C/C++ 代码的时候,经常需要为程序分配动态内存,难免就会发生内存泄漏的情况,本文就来说一下如何防止 C/C++ 内存泄漏! 在说防止内存泄漏前,先说一下什么是内存泄漏。 一、什么是内存泄漏? 通俗一点说就是,程序中动态分配的内存并没有正确的释放。 内存泄漏(Memory leak)是在计算 阅读全文
posted @ 2023-04-19 18:28 DoubleLi 阅读(762) 评论(0) 推荐(0)

摘要: ASAN全称:Address Sanitizer,google发明的一种内存地址错误检查器。目前已经被集成到各大编译器中。 本文分享自华为云社区《内存定位利器-ASAN使用小结》,作者:云存储开发者支持团队。 1.什么是ASAN ASAN全称:Address Sanitizer,google发明的一 阅读全文
posted @ 2023-04-19 18:22 DoubleLi 阅读(551) 评论(0) 推荐(0)

摘要: 前言 对于 C 语言来说,内存被踩是比较常见的问题,轻则普通变量被改写程序逻辑出错,重则指针变量被改写引发指针解引用出现未定义行为风险; 定位内存被踩一直是棘手的难题,如果出现程序跑死,一般可以通过堆栈信息来定位:1)查看跑死的调用链,确定跑死代码的位置;2)根据pc指针找到具体代码;3)走查代码分 阅读全文
posted @ 2023-04-19 18:00 DoubleLi 阅读(2077) 评论(0) 推荐(0)

摘要: 目录 一、内存泄漏 一、介绍 二、几种内存泄露的场景 三、预防与排查 1、valgrind 二、内存越界 一、介绍 二、几种内存越界的情况 三、预防与排查 一、内存泄漏 一、介绍 内存泄漏,是指在程序代码中动态申请的、堆上的内存 由于某种原因、在使用后没有被释放,进而造成内存的浪费。 少部分的内存泄 阅读全文
posted @ 2023-04-19 14:12 DoubleLi 阅读(3679) 评论(0) 推荐(1)

2023年4月18日

摘要: 当程序因某种异常停止运行时,我们要做的就是找到程序停止的具体位置,分析导致程序停止的原因。对于 C、C++ 程序而言,异常往往出现在某个函数体内,例如 main() 主函数、调用的系统库函数或者自定义的函数等。要知道,程序中每个被调用的函数在执行时,都会生成一些必要的信息,包括: 函数调用发生在程序 阅读全文
posted @ 2023-04-18 19:19 DoubleLi 阅读(1727) 评论(0) 推荐(0)

上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 474 下一页