Autor
|
Tema: ¿Como crear mi propio desensamblador en C++? (Leído 16,733 veces)
|
ApOkAlizE
Desconectado
Mensajes: 150
¿sabes lo que vales? ¡consigue lo que te mereces!
|
Pues me gustaria a ver si teneis por ahí algun tutorial de como crear nuestros propios desensambladores aunque entiendo que crear un desensamblador debe ser una tarea difícil. De paso queria preguntar, si por ejemplo si tu creas un programa en C++ y creas un sistema de cifrado, o sea que hay un algoritmo... si al desensamblar se puede ver el algoritmo, lo pregunto porque por ejemplo entonces si se pudieraa ver no serviria de nada que por ejemplo un programa, por ejemplo un cliente de chat encriptara las conversaciones, ya que luego desensamblando el .exe podriamos ver como se cifra todo... ¿alguien sabe si se podría ver? Muchas gracias de antemano.
|
|
|
En línea
|
Los virus informaticos son como las personas, hacen lo posible para destruir y hacen lo impossible para no ser destruidos... - ApOkAlizE
|
|
|
MCKSys Argentina
|
Pues me gustaria a ver si teneis por ahí algun tutorial de como crear nuestros propios desensambladores aunque entiendo que crear un desensamblador debe ser una tarea difícil.
Si, es difícil. Te recomiendo usar uno ya existente. En SourceForge encontraras algunos... De paso queria preguntar, si por ejemplo si tu creas un programa en C++ y creas un sistema de cifrado, o sea que hay un algoritmo... si al desensamblar se puede ver el algoritmo
Utilizando Ingeniería Inversa, se analiza el programa (en el caso de C++, instrucciones ASM) a fin de obtener el algoritmo usado. Por lo que la respuesta es si, si se puede obtener el algoritmo. Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
ukol
Desconectado
Mensajes: 55
|
Yo no diría que es difícil hacer un desemsamblador, aunque claro, quién soy yo para decirlo cuando no he hecho ninguno y ya lo intenté varias veces. Yo diría que no es una tarea difícil pero sí pesada. Aunque la verdad, es lo que dice MCKSys, ya hay muchos hechos y de código abierto. Uno muy asequible parece ser el del Ollydbg, la única parte que tiene liberada es precisamente el desensamblador. Si aún así te apetece hacerlo hay un tutorial bastante chulo y conocido: http://www.spiralspace.com/Depot/Projects/Disassembler/Respecto a lo segundo, sí que sirve cifrar los mensajes, los algoritmos de cifrado son difícilmente inversibles, que no reversibles, creo que lo he dicho bien, de nada te sirve tenerlos si no conoces la clave. Sino prueba a adivinar cuál es la palabra que con md5hash da esto 4d186321c1a7f0f354b297e8914ab240 .El algoritmo es muy conocido pero el de calcular la inversa no existe.
|
|
|
En línea
|
|
|
|
|
ApOkAlizE
Desconectado
Mensajes: 150
¿sabes lo que vales? ¡consigue lo que te mereces!
|
Si, es difícil. Te recomiendo usar uno ya existente. En SourceForge encontraras algunos...
Utilizando Ingeniería Inversa, se analiza el programa (en el caso de C++, instrucciones ASM) a fin de obtener el algoritmo usado.
Por lo que la respuesta es si, si se puede obtener el algoritmo.
Saludos!
pero si desensamblandolo se puede obtener el algoritmo ¿como se hace por ejemplo para que un sistema de cifrado no se pueda ver? por ejemplo los registros cifrados por el propio sistema operativo o librerias que encriptan para un programa tipo chat ¿como es que dicen que no se puede o es muy difícil descifrar porque si solo se trata de desensamblar...?
|
|
|
En línea
|
Los virus informaticos son como las personas, hacen lo posible para destruir y hacen lo impossible para no ser destruidos... - ApOkAlizE
|
|
|
_Enko
|
Estas confundiendo cosas. No es lo mismo un archivo o un mensaje cifrado, que una ejecutable cifrada.
Una ejecutable que fue cifrada, forzosamente debe contener el algoritmo del decifrado para que le procesador la pueda ejecutar. Tarde o temprano termina siendo decifrada y ejecutada. Es decir, la ejecutable debe contener la llave. Si esta cifrada para que la use una sola persona, con una sola llave posible, entonces hay que saber cual es la clave. Si no se sabe, fuerza bruta y lleva tiempo.
En el caso de un chat, parte del cifrado puede estar ocurriendo en el servidor, donde no tienes acceso. Los algoritmos md5, sha, aes son de conocimiento publico. El tema es que aun sabiendo como es el algoritmo, sin tener la llave correcta puede llevar dias/meses/años de fuerza bruta.
Saludos.
|
|
|
En línea
|
|
|
|
ukol
Desconectado
Mensajes: 55
|
También puedes usar potentes librerías como esta pedazo de librería en C que se puede usar bajo licencia LGPL: http://www.beaengine.org/karmany ¿has usado BeaEngine? tengo la curiosidad si se puede saber, ¿para qué? por cierto, me fijé que no trae ensamblador, que curioso, ¿no?
|
|
|
En línea
|
|
|
|
karmany
|
No he programado con esa librería, sólo la he usado como plugin en Olly y en alguna herramienta que hay de prueba. Esa página tiene muchísima información de cómo usar la librería. Como curiosidad, recuerdo que el plugin en Olly ralentizaba el desensamblado (tal vez alguna configuración) pero esto era hace tiempo, ahora no sé cómo será.
Yo lo he comentado como otra propuesta más, porque como tú dices se puede descargar el código del desensamblado que usa OllyDBG.
|
|
|
En línea
|
|
|
|
ApOkAlizE
Desconectado
Mensajes: 150
¿sabes lo que vales? ¡consigue lo que te mereces!
|
Enko con un chat no me refiero a que haya un servidor por medio, sino directamente de PC a PC sin intermedios, por ejemplo imaginate que hablamos de tu ordenador al mio entonces el programa de chat debe tener el algoritmo en su codigo tanto para cifrar como descifrar lo que tu me envias a mi, por tanto, si alguien lo desensamblara podria leer todo lo que nos estamos escribiendo ¿me equivoco?
|
|
|
En línea
|
Los virus informaticos son como las personas, hacen lo posible para destruir y hacen lo impossible para no ser destruidos... - ApOkAlizE
|
|
|
MCKSys Argentina
|
El saber el algoritmo de codificacion de un mensaje, no implica el poder decodificarlo. Por ejemplo, si usas Blowfish para cifrar y la clave es lo suficientemente larga, sera MUY complicado (casi imposible) para el atacante poder descifrar el codigo. AUN sabiendo el algoritmo usado... Para mayor referencia, mira aqui: http://es.wikipedia.org/wiki/EncriptacionSaludos!
|
|
|
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 |
|
|
como crear tu propio linux
« 1 2 »
GNU/Linux
|
defaywor
|
16
|
12,993
|
4 Enero 2011, 16:27 pm
por gryphes
|
|
|
Aprender a crear mi propio Antivirus: como se hace? es posible? es difícil?
« 1 2 »
Seguridad
|
Robby95
|
14
|
29,955
|
24 Octubre 2012, 22:36 pm
por Puntoinfinito
|
|
|
como crear mi propio runpe guias
Análisis y Diseño de Malware
|
zerointhewill
|
9
|
5,382
|
22 Enero 2016, 03:18 am
por Arnaldo Otegi
|
|
|
Cómo crear tu propio acortador de URLs
Noticias
|
wolfbcn
|
0
|
1,004
|
21 Marzo 2016, 13:46 pm
por wolfbcn
|
|
|
Como crear mi propio Look and Feel
Java
|
ycalonso
|
0
|
1,640
|
29 Marzo 2017, 20:32 pm
por ycalonso
|
|