ByteCodedl
Una herramienta de análisis estático declarativo para el conjunto de datos basado en el código de bytes JVM como CodeQL
¿Por qué byteCodedl
El nombre ByTecodEdl evolucionó de CodeQL. Bytecode corresponde al código y DL corresponde a QL. Es una herramienta de análisis estático declarativo, principalmente para compensar el arrepentimiento de que CodeQL no pueda analizar directamente el código de bytes.
Este proyecto tiene dos propósitos principales:
- El propósito de la enseñanza es ayudarlo a comenzar con el análisis estático. Este proyecto demostrará cómo implementar algunos algoritmos de análisis estático a través de Datalog. En comparación con el análisis estático imperativo, este método es mucho más simple. Después de aprender los principios básicos, también puede hacer bricolaje las reglas usted mismo.
- Para mejorar la eficiencia de la excavación, los investigadores de seguridad generalmente no pueden obtener el código fuente. En la mayoría de los casos, solo pueden analizar el paquete JAR y luego mirar el código descompilado a través de la idea. La eficiencia es relativamente baja. Espero que la función de búsqueda, la función de análisis de gráficos de llamadas y la función de análisis de manchas proporcionada por ByTecodedl puedan mejorar la eficiencia de la excavación para los investigadores de seguridad.
Instalar
- Descargar o construir generador de hollín.
- Instalar Souffle
- instalar neo4j
Estibador
Puede usar el Docker que construimos como Docker-Compose.yml
Características
Uso
Ver la carpeta Docs
Apoyo
Qué problemas encontrados durante el uso se pueden hacer a través de
Tres formas de retroalimentarnos
Complemento
- IDEA
- Bytecodedl ayudante bdlh
- Complemento de lenguaje de datos intelij-datalog
Reconocimiento
- Gracias a los dos maestros Li Yue y Tan Tian de la Universidad Nanyang, quienes introdujeron el campo del análisis estático a través del curso de análisis del programa que ofrecieron.
- Gracias a DOOP, se proporciona hollín-facto Generator.jar.