C / C++ bit by bit --- exe to text y text to exe

Iniciado por <<<-Basura->>>, 27 Febrero 2014, 05:16 AM

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

<<<-Basura->>>

1.  Hola bueno lo que necesito es simple, Quiero tomar un fichero binario y transformarlo en texto... luego cuando tengo el texto quiero transformarlo a exe.

2.  Quisiera saber también como leer este fichero en Binario.
<<<--Basura-->>>

engel lex

tomar un fichero en binario y volverlo a texto? no tiene sentido, pero si quieres hacerlo, agarras el binario, buscas un sistema de texto (por ejemplo ascii), sabiendo que ascii es 1 byte por letra, lees el byte y lo pasas a su valor char como hace notepad...

de texto transformarlo a .exe no tiene sentido ya....

como leer el fichero en binario, puedes usar programas como ollydbg o algun editor/lector hexadecimal...
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.

<<<-Basura->>>

Claro que tiene mucho sentido, para lo que estoy realizando. Eso busco. pero digamos cuando leo el archivo y lo paso a texto pasa que se pierden bytes o algo. y no pesa igual que el archivo exe entonces mi duda es.... Si esto se puede realizar es que lo necesito urgente! voy a intentar con algunos código en internet si conoces alguna fuente puedes pasarme la por favor
<<<--Basura-->>>

engel lex

explicame lo que haces porque no tiene sentido XD

no, no se pierden bytes... es una conversion directa y exacta por ejemplo si el byte es 41(hex) eso se verá como una "A" en texto... pero como el archivo no está diseñado para ser visto como texto tendrás muchos simbolos raros.... (intenta agarrar un .exe pequeño, de unos pocos kb y cambiarle la extension a .txt para que veas que no tiene ningún tipo de sentido)

la cosa es que ese texto contiene exactamente lo mismo que el archivo, solo que tu lo estás visualizando como texto y no corriendo como ejecutable... así que con cambiarle a .exe basta para que sea nuevamente ejecutable
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.

eferion

Vamos a aclarar conceptos.

Un carácter ocupa 8 bits.... o un byte... esto nos da 256 combinaciones posibles. Un archivo binario simplemente almacena información utilizando el catálogo completo de 256 combinaciones. Es un archivo que no puede ser leído por una persona. Nuestro alfabeto no tiene 256 caracteres... además este formato es dependiente de la máquina.

Un archivo de texto reduce el espectro de caracteres a utilizar, además procura almacenar la información de tal forma que pueda ser leída con más o menos facilidad por cualquiera que lo abra. Normalmente la información almacenada en estos archivos es independiente de la máquina que los genere.

Un archivo de texto no deja de ser, por tanto, un archivo binario que utiliza un espectro reducido de caracteres para ser más legible... por tanto no hay una conversión directa entre un archivo binario y uno de texto.

Un ejecutable no es sino un conjunto de instrucciones interpretables por la máquina y sistema operativo correspondientes. Esta información es dependiente tanto de la máquina como del sistema operativo.

Como es de entender no hay una relación clara de conversión entre los 3 formatos.

Me da la sensación de que no tienes muy claro qué es lo que quieres conseguir.

Stakewinner00

Como ya te dijeron si quieres leer un ejecutable en plano es una tontería pasarlo a texto. Quizás te interese buscar sobre desensambladores, hay programas que en algunos lenguajes son capaces de conseguir el código fuente del programa. También hay programas que sacan las strings del programa omitiendo todo lo que es la parte de código.

Saludos


<<<-Basura->>>

Ok gracias a todos;

Para mi si tiene sentido pasarlo a texto.
No necesito des ensamblarlo.

Voy a realizar pruebas en mi LAB y voy a traer código
<<<--Basura-->>>

Gh057

si, eso pensaba... capaz que esté buscando algún tipo de des-ofuscador... sino realmente no es muy entendible jejej

me vino a la memoria el norton comander (o la excelente versión creada para linux el midnight comander, creo que es el primera cosa que instalo apenas levanto la red!)

quien no habrá mirado un ejecutable y cambiar de ascii a hex con f4 no? jajajaa

esperemos que nos dé más datos sobre que busca, si ya sabe lo que busca, saludos!
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

x64core

Si lo que necesitas es mostrar los valores enteros/Hex a representacion de cadena y escribirlos en un txt entonces puede usar
sprint en un bucle para cada entero/hex.