Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: keef en 24 Diciembre 2020, 14:32 pm



Título: C++ Vs. C Vs. ASM
Publicado por: keef en 24 Diciembre 2020, 14:32 pm
Hola

Recuerdo que hace algún tiempo, leyendo documentación y cosas por el estilo, leí que C++ era el mejor y mas usado lenguaje para crear malware, entonces, me puse a pensar:

¿Será esto cierto?
¿Es realmente C++ tan útil para crear malware?

Pero, lo que mas me dio intriga, fue que yo he visto malware escrito en ASM y C, y estos dos últimos lenguajes también son útiles a la hora de crear/inspeccionar malware;

Entonces, me surgió una duda final:

¿Que es mejor si hablamos de malware, C++, C o ASM?

Y bueno, esa es mi pregunta, me interesa bastante saber que piensan  :rolleyes:

Saludos.


Título: Re: C++ Vs. C Vs. ASM
Publicado por: kub0x en 28 Diciembre 2020, 16:36 pm
Realmente C++ incluye C además de ASM, es decir, puedes hacer uso de la sintaxis de C, además de las librerías. Por lo tanto C++ además de aportar el estándar y la orientacón a objetos, entre otros, también permite incluir código C que necesite "estar ahí" dado la complejidad del acceso e interacción con el sistema.

Si a esto le sumamos que C/C++ puede incluir secciones escritas en ASM, podemos decir que C++ aparte de agilizar el diseño de cualquier proyecto considerablemente, nos otorga una gran funcionalidad para el bajo nivel.

No olvidemos que C++ trata de forma adecuada: las excepciones, instrucciones atómicas, optimizaciones en compile time (constexpr, volatile), sincronizaciones, paralelismo y mucho más, es completísimo.

Saludos.


Título: Re: C++ Vs. C Vs. ASM
Publicado por: keef en 28 Diciembre 2020, 16:43 pm
Realmente C++ incluye C además de ASM, es decir, puedes hacer uso de la sintaxis de C, además de las librerías. Por lo tanto C++ además de aportar el estándar y la orientacón a objetos, entre otros, también permite incluir código C que necesite "estar ahí" dado la complejidad del acceso e interacción con el sistema.

Si a esto le sumamos que C/C++ puede incluir secciones escritas en ASM, podemos decir que C++ aparte de agilizar el diseño de cualquier proyecto considerablemente, nos otorga una gran funcionalidad para el bajo nivel.

No olvidemos que C++ trata de forma adecuada: las excepciones, instrucciones atómicas, optimizaciones en compile time (constexpr, volatile), sincronizaciones, paralelismo y mucho más, es completísimo.

Saludos.

Wow, no sabía eso sobre C++, y eso de que pueden haber secciones escritas en ASM realmente suena genial  :rolleyes: .

Entonces, ¿valdría mucho mas la pena estudiar e intentar dominar C++ que C?

Gracias y saludos.


Título: Re: C++ Vs. C Vs. ASM
Publicado por: kub0x en 28 Diciembre 2020, 16:51 pm
Wow, no sabía eso sobre C++, y eso de que pueden haber secciones escritas en ASM realmente suena genial  :rolleyes: .

La verdád que sí. Pero en C puedes coger los opcodes de las instrucciones ASM, ponerlas como shellcode y ejecutarlas. Al final, ambos lenguajes se llevan muy bien.

Entonces, ¿valdría mucho mas la pena estudiar e intentar dominar C++ que C?

No olvides que cualquier libro que sigas de C++ te explicará la orientación a objetos y conceptos como herencia, herencia virtual, métodos virtuales, polimorfismo, la API del estándar que es inmensa y un largo etc.
Como tu interés es desarrollar malware, si te fijas el malware actual escrito en C++ sigue un diseño de orientación a objetos para hacer eficiente la escritura del código. Siempre puedes obviar C++ e irte por C si eres más purista porque un diseño modulado por ficheros fuente te basta.

Si tienes muuuucho tiempo toma C++ y lo disfrutarás, pues integra como ya dije todo lo que un programador necesita. Pero es más complejo que aprender C. ¿La sintaxis es la misma? Si y no... pero te puedo decir que si sabes C++ escribes C de forma sencilla si te lo piden. En cambio si sólo sabes C y necesitas codear en C++ suerte majo  ;-) ;-)

Saludos.