CTF思路
点击放大

![Documentation Built by gendocs]()
![.github/workflows/.pre-commit-config.yaml]()
![CodeQL]()
![Documentation Generation]()
![pages-build-deployment]()
![Python application]()
!Python !Docker !Debian
<picture>
<source
media="(prefers-color-scheme: dark)"
srcset="
"
/>
<source
media="(prefers-color-scheme: light)"
srcset="
"
/>
<img
alt="Star History Chart"
src="
/>
</picture>
Our toolchain is represented in the following figure and works as follows:
!Toolchain Illustration
This repository contains a first of a SCDG extractor. During the symbolic analysis of a binary, all system calls and their arguments found are recorded. After some stop conditions for symbolic analysis, a graph is built as follows: Nodes are system calls recorded, edges show that some arguments are shared between calls.
When a new sample has to be e, its SCDG is first built as described pre. Then, gspan is applied to extract the biggest common subgraph and a similarity score is e to decide if the graph is considered as part of the family or not. The similarity score S between graph G' and G'' is computed as follows:
Since G'' is a subgraph of G', this is calculating how much G' appears in G''.
Another classifier we use is the Support Machine (SVM) with INRIA graph kernel or the Weisfeiler-Lehman extension graph kernel.
A web application is a and is called SemaWebApp. It allows to manage the launch of experiments on SemaSCDG and/or SemaClassifier.
This repository uses pre-commit to ensure that the code is formatted correctly and that the code is clean. To install pre-commit, run the following command:
* Complete README of the entire toolchain : !Sema README
* SCDG README : !SCDG README
* Classifier README : !Classifier README
* Web app README : !Web app README
* A Makefile is provided to ease the usage of the toolchain, run for more information about the a commands
Main authors of the projects:
* Charles-Henry Bertrand (UCLouvain)
* Christophe Crochet (UCLouvain)
* Khanh Huu The Dam (UCLouvain)
* Oreins Manon (UCLouvain)
Under the super and with the support of Fabrizio Biondi (Avast)
Under the super and with the support of our professor Axel Legay (UCLouvain) (:heart:)
* Analysis and classification of malware based on symbolic execution and machine learning
* Tool Paper - SEMA: Symbolic Execution Toolchain for Malware Analysis
* On Exploiting Symbolic Execution to Improve the Analysis of RAT Samples with angr
开发语言:Python
Star 数:123
该项目属于CTF思路方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕 SEMA is based on angr, a symbolic execution engine used to extract API calls. Especially, we extend ANGR with strategies to create representative signatures based on System Call Dependency graph (SCDG). Those SCDGs can be exploited in machine learning modules to do classification/detection.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | 薩瑪 - SEMA基于ANGR ,一个象征性的执行引擎 |
| 所属分类 | CTF思路 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 23:52:08 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 191 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |