Autor
|
Tema: Ingenieria inversa en c++ (Leído 5,612 veces)
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Hola no se si me podrán decir algun programa que decompile un ejecutable en cpp. Como por ejemplo hace el .NET reflector para C#. Es decir obtener del ejecutable el código directamente a ser posible. Saludos
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
engel lex
|
no se puede... en el caso de .net sucede que el codigo queda casi entero para ser interpretado por la "maquina virtual" de .net (dotnet framework) como si de un script se tratara, en el caso de c++ se pasa el codigo directo a ensamblador y debido a la forma que el ensamblador trabaja (hace un trabajo "inteligente" analizando el código y tratando de optimizarlo lo más posible) es imposible comprender desde el resultado, cual era el código original
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Entiendo, gracias por la respuesta. Aun asi el .NET reflector creo que leí que trabajaba tambien para cpp, pero lo hara de manera menos eficiente seguramente, no lo he probado ni lo tengo es para saber antes que nada. Probe el ollydebugger y si esa es la unica manera o el unico estilo de programa para hacer ingeniería inversa estoy jodido.
He de decir que hace tiempo en clase (años) haciamos ingenieria inversa de c a ensamblador y viceversa, pero era un asm basico y era bastante sufrido, no quiero imaginar hacer ingenieria inversa a un programa como intercepter-ng (digo este porque es curioso debido a los atauqes de red que presenta) ademas corregidme si me equivoco, ¿para usar .NET reflector o dexompilar con ollydebugger el programa es necesario que no este protegido o cifrado no? Sino el reflector no funcionaria y el ollydebugger nos saldria mucho mas complicado.
Lyego seria necesario romper el cifrado que protege al archivo antes que usar el.NET reflector, sino no apareceria nada si no me equivoco, ¿como lo hara entonces la gente?
Saludis.
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
kub0x
Enlightenment Seeker
Colaborador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
Entiendo, gracias por la respuesta. Aun asi el .NET reflector creo que leí que trabajaba tambien para cpp, pero lo hara de manera menos eficiente seguramente, no lo he probado ni lo tengo es para saber antes que nada. Probe el ollydebugger y si esa es la unica manera o el unico estilo de programa para hacer ingeniería inversa estoy jodido. En C++/CLI que no es C++ Win32 nativo, es una versión de C++ adaptada a .NET, por lo tanto código intermedio. Lyego seria necesario romper el cifrado que protege al archivo antes que usar el.NET reflector, sino no apareceria nada si no me equivoco, ¿como lo hara entonces la gente? Una opción es esperar a que el proceso llame a la rutina de descifrado y así guardar el binario descifrado, pero éste sería un escenario básico. Saludos.
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Hola!
Si el ejecutable C++ no está protegido, puedes usar IDA para analizarlo y luego el plugin X-Rays para generar un código bastante parecido al fuente, de las funciones que te parezcan intersantes.
Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
Stakewinner00
|
Hola!
Si el ejecutable C++ no está protegido, puedes usar IDA para analizarlo y luego el plugin X-Rays para generar un código bastante parecido al fuente, de las funciones que te parezcan intersantes.
Saludos!
Pero tengo entendido que generara un código en C, no en C++, y en caso de que el programa haya sido compilado con flags de optimización simplemente quedará una abstracción en C del código ensamblador, pero quedara un código más parecido al de ASM que al código fuente original lógicamente. ¿Igual el plugin ese es capaz de interpretar clases en C++?, no lo se seguro ya que nunca use el plugin ese (ya que es de pago y no es barato...)
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Pero tengo entendido que generara un código en C, no en C++, y en caso de que el programa haya sido compilado con flags de optimización simplemente quedará una abstracción en C del código ensamblador, pero quedara un código más parecido al de ASM que al código fuente original lógicamente. ¿Igual el plugin ese es capaz de interpretar clases en C++?, no lo se seguro ya que nunca use el plugin ese (ya que es de pago y no es barato...)
Tienes razón. Te genera código C, no C++. La interpretación corre por cuenta de quien usa el programa. En reversing es muy útil. Incluso si el programa está hecho en C++. Cabe notar que debes conocer ASM si e que quieres reversear algo. Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Sobre Ollydbg, ingeniería inversa... :)
Ingeniería Inversa
|
Trismagia
|
4
|
6,480
|
17 Febrero 2017, 03:12 am
por Geovane
|
|
|
Pregunta sencilla de ingeniería inversa - ¿Quién me da un consejo?
Ingeniería Inversa
|
morpheus1000
|
8
|
5,405
|
27 Julio 2016, 23:15 pm
por morpheus1000
|
|
|
Tutoriales de análisis de malware: un enfoque de ingeniería inversa
Análisis y Diseño de Malware
|
r32
|
0
|
14,530
|
2 Septiembre 2016, 20:55 pm
por r32
|
|
|
IDEs y herramientas de ingeniería inversa afectados por la vulnerabilidad ....
Noticias
|
wolfbcn
|
0
|
1,497
|
10 Diciembre 2017, 02:32 am
por wolfbcn
|
|
|
Curso de Ingenieria Inversa por Martin Balao
Ingeniería Inversa
|
r32
|
1
|
2,864
|
16 Julio 2018, 01:53 am
por Flamer
|
|