数据库设计与建模
数据库设计涵盖概念设计(ER建模)与逻辑设计(关系模式转换及范式规约),通过多级范式优化结构,消除数据冗余与操作异常。
系统分析与设计:结构化与面向对象
系统分析与设计包含结构化方法(如数据流图、实体关系图)和面向对象方法(如UML建模),前者强调功能分解与模块化,后者聚焦对象封装、继承和多态,适应不同系统复杂度需求。
ClusterFuzz 源码分析(二)
ClusterFuzz启动server时初始化本地模拟器(GCS/PubSub/Datastore)及数据库,通过Gunicorn加载路由服务;bot启动后循环执行任务,依赖监控器和fuzzer引擎处理任务更新与命令调度。
ClusterFuzz 源码分析(一)
ClusterFuzz是Google开源的自动化模糊测试平台,核心由App Engine(任务调度与Web界面)和Fuzz Bot集群(执行Fuzz、崩溃复现、测试用例精简等任务)组成,支持LibFuzzer、AFL等多引擎,实现测试流程全自动化管理。
AFL++ 源码分析——覆盖率
AFL++通过动态插桩统计分支覆盖路径,利用异或运算标识路径元组,以分桶策略判定测试用例价值,并通过位图比对实现高效覆盖率更新。
由 subprocess.PIPE 引发的血案
Python脚本使用subprocess.PIPE捕获子进程输出,如果未及时读取导致管道阻塞,容易导致主进程崩溃卡死。
AFL++ 源码分析——同步机制
AFL++主实例通过遍历从实例/外部Fuzzer队列目录,筛选触发新路径的测试用例同步至自身队列。
Python 进阶——并发编程
Python并发编程通过进程、线程与协程实现高效任务处理,结合同步/异步模型应对IO密集型场景,其中协程凭借低开销切换成为异步编程的核心方案。
污点分析工具——libdft64
libdft64是一种数据流追踪工具,可以实现高效并且透明的动态污点分析(DTA),通常用来检测二进制中的安全漏洞
交替符号执行工具——Symbion 初探
Symbion作为Angr插件,通过动态切换具体执行与符号执行环境,利用内存地址映射同步变量状态,有效解决路径爆炸和环境依赖问题,实现对二进制程序指定路径的精准分析。