Corkami PE Testing - Known Failure Fixes
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 28/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- reverse-engineering
Línea de trabajo
Ejecuta git submodule update --init, luego inspecciona tests/corkami_test.cpp y usa ./build/dump-pe con el conjunto de datos PE de Corkami, comenzando por virtsectblXP.exe y su assembly referenciada. Rastrea los fallos de parsing reportados y compara los archivos PE con sus fuentes asm correspondientes. Se considera terminado cuando se hayan eliminado las excepciones conocidas de los tests y se hayan añadido aserciones a nivel de campo para los PEs de Corkami.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Within #145, there are very simple tests to detect whether pe-parse would correctly identify the executables as PE, without erroring. Unfortunately (but not unexpectedly), there are a few executables that are not parsed correctly.
Ideally, we should at least test and enforce that we support parsing of any PE in the Corkami dataset.
- There are no test exceptions (read: known failures) when processing the Corkami dataset of PEs
Reference to known failing tests: https://github.com/trailofbits/pe-parse/blob/4286f109b0763972d1db7177ec6fe5f6791350f8/tests/corkami_test.cpp#L34-L51
Secondly, a much bigger task would be to confirm that pe-parse is correctly parsing all and only the information that the Corkami PEs claim to exhibit.
- There are specific PE field tests/asserts for the Corkami PEs to ensure correctness
How to Start Investigating
First, run git submodule update --init to pull the Corkami dataset (We will be focusing on the PEs here https://github.com/corkami/pocs/tree/master/PE/bin).
Then, running the standalone dump-pe tool that is included in this repo should be an easy way to iterate on code changes, since the testing logic is basically the same.
$ ./build/dump-pe/dump-pe tests/assets/corkami-poc-dataset/PE/bin/virtsectblXP.exe
Error: 3 (Invalid section)
Location: ParsePEFromBuffer:2394
Use that information as a starting point for where to begin debugging. Moreover, most, if not all, of the PEs have a corresponding asm file that provides the source code for building the PE and how the file is constructed. Use this information to gain a better understanding of why pe-parse is having difficulty parsing it and what kind of fix would be needed. Here it is for our example https://github.com/corkami/pocs/blob/master/PE/virtsectblXP.asm
- Lenguaje dominante
- C++
- Estrellas
- 913
- Forks
- 171
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de trailofbits/pe-parse
-
failed to install pype with pipAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
trailofbits/pe-parse#216 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
trailofbits/pe-parse#207 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
trailofbits/pe-parse#201 ·
-
Problem in parsing 2 filesAbiertobug help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
trailofbits/pe-parse#190 · 4 comentarios ·
-
enhancement help wanted
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
trailofbits/pe-parse#188 · 1 comentario ·
Todos los issues de trailofbits/pe-parse
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
accessibility good first issue hacktoberfest help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
OpenChemistry/avogadrolibs#3184 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Tracktion/tracktion_engine#475 ·
Los mantenedores suelen responder en 1 día
-
CB name typo in LMAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
orbiternassp/NASSP#1701 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
redis/memtier_benchmark#732 ·
Los mantenedores suelen responder en 1 día