![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
静态分析
文章平均质量分 70
What’smean
这个作者很懒,什么都没留下…
展开
-
Unlink
¶ZCTF 2016 的一道题目,考点是 safe unlink 的利用。¶题目是一个 notepad,提供了创建、删除、编辑、查看笔记的功能1.New note5.Quit保护如下所示NX : YesPIE : No¶程序 New 功能用来新建笔记,笔记的大小可以自定只要小于 1024 字节。int new()所有的笔记 malloc 出来的指针存放在 bss 上全局数组 bss_ptr 中,这个数组最多可以存放 8 个 heap_ptr。转载 2023-05-10 16:47:51 · 284 阅读 · 0 评论 -
Detecting Kernel Memory Leaks in Specialized Modules with Ownership Reasoning
原本分配在栈上的内存,由于函数的return和其他函数对该内存的使用,造成栈上变量被分配到堆空间上,而堆上的内存需要自行释放,但没有进行释放,造成内存泄漏。由于 slab 是预分配和预初始化的,因此可以通过简单地从其对应的 slab 返回一个预分配的对象来快速完成内存分配。消费者函数是获取内存对象所有权的当前函数的被调用者。 例如,如果一个函数接受一个指向对象的指针,然后将该指针保存在该函数的范围之外,那么当对象被释放时就会出现问题,并且该指针变成一个悬空指针——一个引用一个对象的指针 不再存在的对象。原创 2023-05-06 10:31:17 · 287 阅读 · 0 评论 -
静态分析vs动态分析
静态分析有助于在部署软件之前识别潜在的漏洞,但它不提供有关软件在与环境交互时的行为方式的信息。它涉及分析应用程序的运行时行为,包括其输入、输出以及与其他系统的交互。静态分析是一种在不执行或运行的情况下分析应用程序或程序的方法。静态分析测试可以自动化,并提供在软件开发生命周期的早期识别潜在缺陷的机会。静态分析和动态分析是分析软件代码以查找错误、漏洞或其他问题的两种常用方法。总的来说,这两种方法各有优缺点,可能需要结合静态和动态分析才能全面了解软件的弱点并改善其整体安全态势。原创 2023-04-26 11:13:42 · 2662 阅读 · 0 评论 -
软件分析笔记02---Intermediate Representation
AST IR 3AC SSA BB CFG原创 2023-02-28 17:06:35 · 350 阅读 · 0 评论