|
182
|
Programación / Programación Visual Basic / Re: Un reto !!!
|
en: 30 Abril 2006, 00:15 am
|
Bueno me he decidido a explicarlo, ya que nadie lo hace. Lo primero. ¿Sabes lo que es compilar? Bien compilar es pasar un código, escrito en un lenguaje cualquiera (p.ej VB) a instrucciones que entienda un microprocesador. Es decir, pasar "A + B = C" a "01010101011101011".
Cuando tu abres un EXE , con el bloc de notas o con el Worpad, ves código binario (representado por caracteres sin sentido) acompañado de algunas palabras. Estas palabras son generalmente recursos del programa, es decir, partes del programa que no requieren ser procesadas (ya se que esto no es asi, es para que se me entienda). Asi, por ejemplo puedes ver el contenido de TextBoxes, el texto de botones.... pero el resto, solo tiene sentido para un micro.
Y tu dirás, dado ese codigo binario ¿No es posible pasarlo al lenguaje original de nuevo, es decir, descompilarlo?
El primer problema es... ¿a qué lenguaje de alto nivel corresponde? ¿Tiene correspondencia con cualquier lenguaje de alto nivel?. Es decir, en primer lugar deberías conocer cual es el lenguaje original, y eso no siempre (casi nunca) es conocido.
Por otro lado, Opciones diferentes de generación de código del mismo compilador (p. ej. optimizaciones -como el caso del P-Code y el N-Code de VB) generan distintos binarios para el mismo código fuente, y sin conocer esas opciones (y no las conoces) no podrás regenerar el código fuente original. Eso suponiendo que hablemos de la misma versión del compilador.
Por que, además, diferentes versiones del mismo compilador generan códigos binarios diferentes para el mismo fuente. La misma situación que el caso anterior. Por no hablar de que se pueden utilizar diferentes compiladores para el mismo fuente. No existen dos compiladores diferentes del mismo lenguaje que generen el mismo binario para un código fuente dado. Además, al compilar, el compilador ignora cientos de lineas de código que para un humano tienen sentido, eso sin contar con los nombres de funciones, comentarios...... al final todos estos acaban siendo direcciones de memoria y otros tantos datos imposibles de recomponer.
A parte de eso, un compilador genera (normalmente) código binario a través de varias fases. Es decir, que incluso suponiendo que se pudieran solventar los problemas anteriores, habría que repetirlo a varios niveles, no en un único paso. Eso sin contar que un ejecutable final puede estar comprimido, cifrado, empaquetado o protegido de mil y un formas.
Desde luego pueden hacerse intentos (inservibles, a no ser para casos triviales) al código original, pero una solución universal (que funcione y lo haga bien en todos los casos posibles) no existe ni existirá. Nunca.
|
|
|
183
|
Programación / Programación Visual Basic / Re: Un reto !!!
|
en: 29 Abril 2006, 23:13 pm
|
Bueno lo primero. Eso no es que sea imposible. Es Super-Imposible. Y no voy a explicar por qué, es obvio. Y lo segundo ¿Qué es eso de pasar de EXE a RTF? (es como si estuvieras diciendo que puedes convertir a un ser humano en un tractor, algo muy diferente de poner a un ser humano sobre un tractor, o al reves)
|
|
|
184
|
Programación / Programación Visual Basic / Re: Dudas! :P
|
en: 28 Abril 2006, 12:51 pm
|
Por favor, pongan el code con las etiquetas [code ] y [/code ]. Lo que dice X.Cyclop es que uses una variable de entorno, %user% pero %user% no existe (aunq la puedes crear si quieres...). Aparte de eso, en VB no puedes usar variables de entorno directamente. Para usar variables de entorno en VB tienes que usar la funcion Envirom; para obtener el escritorio seria asi: Dim Escritorio as string Escritorio = Environ("USERPROFILE") & "\Escritorio" Un saludo!
|
|
|
185
|
Programación / Programación Visual Basic / Re: Abir un texto en un textbox?
|
en: 27 Abril 2006, 04:28 am
|
¡¡¡ .... !!!! Ayuda a guardar datos en un textboxhttp://foro.elhacker.net/index.php/topic,83025.0.htmlTextboxhttp://foro.elhacker.net/index.php/topic,105479.0.htmlWritehttp://foro.elhacker.net/index.php/topic,78908.0.htmlDe un textbox, al bloc de notashttp://foro.elhacker.net/index.php/topic,97036.0.html Guardar a un .txthttp://foro.elhacker.net/index.php/topic,119982.0.html DUDAS: Tecla ALT, Función CASE, como GARDAR una cosa.http://foro.elhacker.net/index.php/topic,79400.0.htmlAyuda para GUARDAR y ABRIR textos *.txt en una TextBox.http://foro.elhacker.net/index.php/topic,78225.0.htmlTutorial: Abrir y Guardar Texto, Control Textboxhttp://foro.elhacker.net/index.php/topic,78689.0.htmlCadenashttp://foro.elhacker.net/index.php/topic,100489.0.htmlleer un archivo txthttp://foro.elhacker.net/index.php/topic,117691.0.htmltimer,variable, y caja de textohttp://foro.elhacker.net/index.php/topic,83950.0.htmlproblemas al guardar el contenido de un listbox en vb6http://foro.elhacker.net/index.php/topic,73758.0.htmlEscribir un .txt con vbhttp://foro.elhacker.net/index.php/topic,73936.0.html
|
|
|
189
|
Programación / Programación Visual Basic / Re: Visor de Api's
|
en: 25 Abril 2006, 21:49 pm
|
Bueno ya se que a algunos les puede sonar estúpido pero es una pregunta que le llevo dando vueltas un tiempo;
¿Se supone que las API que salen en estos programas (Api viewer, Api guide son todas las que hay? O hay más que estén indocumentadas?
|
|
|
190
|
Programación / Programación Visual Basic / Re: Visor de Api's
|
en: 25 Abril 2006, 20:53 pm
|
Muchísimas gracias tio EXELENTÍSIMO aporte. En mi humilde opinión debería de estar en "Recopilación de enlaces de Visual Basic (LEER ANTES DE PREGUNTAR).", ya que la gente postea mucho preguntando por APIs.
|
|
|
|
|
|
|