Por donde empezar para la programacion de malware?

Iniciado por fRNN, Julio 05, 2016, 08:51:49 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola que tal, ya hace un año y algo que empece a aprender c++. Aparte de lo basico, vi memoria dinamica y programacion orientada a objetos y estoy viendo programacion de sockets. Y quiero saber que temas debo saber manejar para programar malwares(en windows). Como por ejermplo keyloggers, troyanos. Algun programador experimentado que me pueda ilustrar? Saludos.

PD: Estoy muy desorientado con el tema ya que hay muchos cursos en papers como en videos, pero todos cubren solo lo basico. Casi todos los cursos que eh leido terminan en programacion orientada a objetos. Pero no encuentro cursos que te enseñen a como manejar las propiedades de un sistema operativo.


Basicamente, debes investigar sobre el API que brinda el sistema operativo (Windows API). Información para empezar con la WinAPI puedes encontrar en el siguiente sitio:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Para programar en windows tambien puedes averiguar sobre las abstracciones:

Microsoft Foundation Class Library o Microsoft Foundation Classes (MFC)

Active Template Library (ATL)

Windows Template Library (WTL)


Unos libros muy populares para programadores C++ en Windows son:

Windows via C/C++ by Jeffrey M. Richter

Windows System Programming by Johnson M. Hart

ATL Internals by Christopher Tavares

Windows Internals by Mark E. Russinovich


Si quieres programar malware puedes leer código fuente de terceros. Y conceptos que encuentras en libros de análisis de malware o en boletines todos los días.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software by Michael Sikorski

Julio 06, 2016, 12:41:03 AM #2 Ultima modificación: Julio 06, 2016, 02:01:56 AM por fRNN
Creo que voy a tener que aprender inglés primero jaja. Se que lo ideal es saber ingles pero disculpad la ignorancia.
Algun libro que me recomiendes en español? Igualmente,  muchas gracias por la info, ya se que puedo ir aprendiendo el manejo de el API de windows.  Yo no los creía de tanta importancia, porque tenia entendido que solo servían para crear el interfaz grafico

Es muy importante, el Inglés lo es todo en la informática. Perdón no suelo tener en cuenta que algunas personas no saben inglés, pero es que muchas puertas se abren al entender este idioma.

Es verdad que Windows suele estar asociado GUI's, pero la WinAPI es mucho más que eso. Es la forma más directa de acceso a los recursos del SO y como una clasificación de las funcionalidades tienes:

User Interface
Windows Environment (Shell)
User Input and Messaging
Data access and storage
Diagnostics
Graphics and Multimedia
Devices
System Services
Security and Identity
Application Installation and Servicing
System Admin and Management
Networking and Internet
Deprecated or legacy APIs

fuente:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Tambien eh estado leyendo un poco sobre el multiprocesamiento en c++, los threads y eso.. Deberia aprender primero bien el manejo de el API de windows? y luego multiprocesamiento?

Multiprocesamiento/Threads es para aplicaciones que necesiten mayor rendimiento, menor tiempo de respuesta o para mantener la interactividad con el usuario mientras se procesa por detrás. No suelen ser utilizados por programas pequeños.

Debes aprender a usar WinAPI correcto. Deberías ser capas de navegar el índice de la MSDN y poder comprender cualquier funcionalidad.

Puedes empezar con el siguiente enlace, y despues abrirte más camino con google:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta