android-inspector's Issues
Python-adb
Investigar como utilizar la librería python-adb para realizar las extracciones.
docstrings: :param -> :type
extractor_name, inspector_name --> extractor_id, inspector_id
Buscar en:
- Los scripts sqlite.
- El código (los strings de consulta)
Renombar DefinitionsDatabase a DefinitionsDatabaseManager?
STDERR
El adb está tirando en la stderr la salida.
pylint
Atrapar la excepción NoUniqueDeviceError
Mostrar mensaje de error correspondiente al usuario. No aceptamos más de un dispositivo a la vez conectado.
Campo email del Contact Inspector
Falta ver cómo obtener el campo email correctamente de los contactos (Debería estar dado que en la app se puede poner email a los contactos)
Hacer el query_operations_info extensible
Mediante uso de Builder y clases de Filter
Namespace del objeto Contact
http://cyboxproject.github.io/documentation/background/#cybox-object-namespaces
Parece que sería algo así el namespace:
http://gsi.fing.edu.uy/objects#ContactObject-1
Generar documentación de las clases?
Tal vez podríamos utilizar Sphinx para generar docs de las interfaces. Tiene Latex como uno de los outputs. Habría que ver si es mejor que las tablas que utilizamos.
Unit test & minor stuff in Inspector
Utilizar una excepción (ExtractionError) para notificar errores.
Probablemente debamos definir una excepción que sea ExtractionError o similar para que los ConcreteExtractors devuelvan en caso de error. Para ser coherentes con lo que habíamos hablado sobre el manejo de errores.
(De todas formas, print directo el Extractor no debería hacer. Lo tiene que manejar una clase de más arriba para determinar cuando mostrar el error)
Deberíamos también evaluar si precisamos un InspectorException.
Comando SIMPLE_OUTPUT?
Podríamos tener un comando que habilite la generación de cybox en formato simple. Esto se haría seteando la variable SIMPLE_OUTPUT de la clase Operation.
Mejoras al RepositoriesManager
- Remover el método convert
- Instanciar la clase del módulo que implemente la interfaz que buscamos (ya sea Extractor o Inspector).
ENV_VAR
Indicar ruta a las ENV_VAR del adb
Obtener la OperationInfo en 1 query en vez de 4
Ver get_operation_info_by_id
Inspector. Ver adjuntos
Ver como lo representan en CybOX. Si con un campo de Email o una relación (que relación usar?).
(Ver si falta algún otro campo de las bases de datos).
UUIDs en Definitions.db
Cambiar los identificadores de la definitions.db. Pasar a usar UUIDs en vez de strings
Implementar módulo de InputParser y mejoras de output en Coordinator
También para mostrar información en tablas:
- prettytable: https://code.google.com/p/prettytable/
- python-tabulate: https://bitbucket.org/astanin/python-tabulate
- curses extension: https://docs.python.org/dev/howto/curses.html
Implementar ApplicationExtractor alternativo (con adb backup)
Ver el documento sobre caso de estudio que explica cómo hacerlo.
Implementar SMS Inspector
Ver links en la carpeta Caso de estudio.
Ver porqué no extraer el APK el ApplicationExtractor con adb backup
Tipo de Hash que indica el módulo EmailInspector es incorrecto
Al no declararse el tipo de hash del objeto cybox File, se asume que es MD5, cuando en realidad la función calculate_hash calcula el SHA256.
setup.py
Investigar esto para ver si permite instalar de forma automática las dependencias que precisamos como python-cybox.
str() casts en DatabaseManager
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.