Modificar EXE creado en Visual Basic y volver a compilar

Iniciado por MaX2, 14 Febrero 2014, 21:30 PM

0 Miembros y 3 Visitantes están viendo este tema.

MaX2

Hola, lo siento si este no es el lugar donde preguntarlo, pero no sabia donde hacerlo.

Llevo un tiempo intentando editar un pequeño archivo EXE creado en Visual Basic y ya no se que mas probar, a ver si me podéis ayudar.

Al ejecutable tengo que cambiar una ruta donde buscar un archivo, ese archivo lo busca en C:\aplicacion\archivo.mdb, quiero quitarle esa ruta para dejarlo en \archivo.mdb que el programa se pueda ejecutar desde un lapiz usb.

He probado con el ResHacker, pero solo muestra el codigo para cambiar el icono.

También he probado a descompilarlo con el VB Decompiler Pro, y con el VBReFormer, no he utilizado nunca el Visual Basic, pero cuando intento cargar el proyecto que he estraido con esos programa, no lo carga.

Tambien he probado desde la linea de comandos del Visual Studio con ildasm, y en la ventana que muestra para cargar el EXE tampoco lo carga.


Me puede decir alguien como puedo editar el EXE para quitar esa ruta ?

P.D. el programa es solo un ejecutable y una base de datos *.mdb, no lleva librerias.


Salu2.

Eleкtro

Cita de: MaX2 en 14 Febrero 2014, 21:30 PMTambien he probado desde la linea de comandos del Visual Studio con ildasm, y en la ventana que muestra para cargar el EXE tampoco lo carga.

¿Porque usaste VisualStudio?.
¿Sabes si el programa está escrito en VB.NET, o por lo contrario está escrito en VB6? (son dos cosas muy diferentes), puedes comprobarlo usando el programa PeID.

Si es un ensamblado .NET (VisualBasic.NET) entonces puedes utilizar cualquier programa que use reflection (.NEt Reflector, simple assembly explorer, etc), y si está escrito en VB (VisualBasic), imagino que con OllyDbg puedes buscar el String y modificarlo a tu gusto.

Saludos








MaX2

Hola Eleкtro, la verdad que he seguido lo que he visto por los videos que he encontrado en YouTube, y no tengo mucha idea de Visual Basic, he probado con el VisualStudio porque encontre un video que decia como descompilar y volver a compilar, pero no he tenido suerte.

El programa esta creado hace tiempo, por lo que creo que esta en VB6, es mas hablando con quien lo creo me comento que lo creo en Visual Basic, no me dijo nada mas.

Mañana buscare esos programa que me comentas a ver si tengo suerte y puedo editarlo.


Salu2.

x64core

Cita de: MaX2 en 14 Febrero 2014, 21:47 PM
Hola Eleкtro, la verdad que he seguido lo que he visto por los videos que he encontrado en YouTube, y no tengo mucha idea de Visual Basic, he probado con el VisualStudio porque encontre un video que decia como descompilar y volver a compilar, pero no he tenido suerte.

El programa esta creado hace tiempo, por lo que creo que esta en VB6, es mas hablando con quien lo creo me comento que lo creo en Visual Basic, no me dijo nada mas.

Mañana buscare esos programa que me comentas a ver si tengo suerte y puedo editarlo.


Salu2.
Esto deberia ir en el foro de Ingenieria Inversa.
@Eleкtro: ¿No sabias que con VS se pueden depurar los programas también? No me extraña.


Eleкtro

#4
para empezar no sé que tendrá que ver el debugger del VS con lo que comentas, pero me da igual porque es bien sabido que no soy ningún experto en ingenieria inversa, aunque aún así, siempre aporto mucho más a un tema que tu con tus sucios y patéticos comentarios de Troll, eso da que pensar, ¿no?.
debería darte verguenza scomentar siempre sólamente para faltar el respeto a los que intentan ayudar y los que son mejores personas que tú, aunque para conseguir eso no es necesario realizar un gran esfuerzo ya que solo eres un patético Troll.

ya te arrepentirás algún día cuando te cruces en el camino a alquien que séa más chulo que tú, y te parta la boca en 2 ...como te mereces.

Saludos!








x64core

Cita de: Eleкtro en 15 Febrero 2014, 21:46 PM
para empezar no sé que tendrá que ver el debugger con lo que comentas
Eso es debido a que no sabes lo que hablas, el Visual Studio puede usarse como cualquier otro depurador (Windbg,Ollydbg,etc).

Y Pues deberias fijarte bien en los temas que respondes, Sólo recordar lo gracioso que fueron tus respuestas hablando
de un lenguaje de programación que ni siquiera conoces un poco. De todos modos, este dia no tengo tiempo para discutir
con el joven chico 'Bachero'.

Eleкtro

#6
Cita de: x64Core en 15 Febrero 2014, 22:20 PM
Eso es debido a que no sabes lo que hablas, el Visual Studio puede usarse como cualquier otro depurador (Windbg,Ollydbg,etc).

Y Pues deberias fijarte bien en los temas que respondes, Sólo recordar lo gracioso que fueron tus respuestas hablando
de un lenguaje de programación que ni siquiera conoces un poco. De todos modos, este dia no tengo tiempo para discutir
con el joven chico 'Bachero'.


si, muy gracioso, ¿acaso algo de lo que dije sobre C++ no fue cierto?, lo repito, eres patético, lo único que sabes hacer es intentar provocar con estupideces, y yo me dejo provocar porque gente como tu estaría mejor en la tumba intentando trollear a sus muertos enterrados.

PD: el karma es cruel, y espero que contigo no se apiade ;)




@MaX2

He estado examinando el executable y me he percatado de que... si que toma en cuenta la DB que hay en la misma carpeta de trabajo que el exe:




Así que no se porque tienes problemas con eso, es decir, en mi caso no es necesario meter el archivo en  "C:\EspabilaB\EspabilaDAT.mdb", el zip que me pasaste, están todos los archivos en la misma carpeta y no tengo problemas para abrir la base de datos y manipularla.

De todas formas si que ví el String que mencionaste "C:\EspabilaB\EspabilaDAT.mdb" y lo he modificado a "EspabilaDAT.mdb", aquí lo tienes:
~> (enlace eliminado a petición del usuario...)

Aunque no creo que deba haber ninguna diferencia entre la pequeña modificación que le hice y el exe que tu ya tienes, porque como ya dije, en mi caso no es necesario modificar el exe para que me acepte la DB en la misma carpeta d trabajo del exe.

espero que te funcione
Saludos









MaX2

Ahora tengo que resolver un pequeño problema con el que me he encontrado en el ordenador donde lo estoy probando.

Cuando ejecuto el exe, me da el siguiente error, cuidado Eleкtro que no tiene nada que ver con el ejecutable modificado, me pasa con los dos.



Se ve que he desintalado algo y se llevo por detras alguna librería que necesita, o archivo ocx.


Salu2.

MaX2

Si alguien me puede decir como solucionar el problema del post anterior, mejor porque asi puedo hacer pruebas en el ordenador donde estoy.

Por otro lado, he probado dos cosas, y no funcionan, así que vamos por partes para que no lie mucho el asunto.

Con el programa original:
Crea una carpeta en el raíz y dentro de ésta crea una segunda carpeta, que tenga nombre compuesto, por ejemplo
C:\- Programa Original\Programa\Original   (y dentro la carpeta "Original" copia todos los archivo que te envié.)

Ejecuta el programa, ves al menú Configuración > Modificar xxxxx y pon el PIN que te pase, veras como te da un error.


Con el programa Modificado:
A mi en el ordenador donde estoy me da el siguiente error, pero creo que es cosa de que falta algo como en el problema anterior, espero alguna ayuda para poder solucionarlo.



Copia el archivo modificado en la sub-carpeta "Original" que creaste, al ejecutarlo tira este error:



Ese error creo que puede ser porque se ha eliminado mas codo, te comento esto porque cargado el original y el modificado en el programa "VB Decompiler", y mira la diferencia de codigo entre uno y otro:




Salu2.





Eleкtro

#9
Madre mía, no se como pueden faltar tantas instrucciones en el exe modificado, lo único que hice fue nopear la variable "Var_30" que produce el String que quieres eliminar.

La instrucción era algo así (no tengo el exe aquí para volver a comprobarlo, quizás los números no son correctos):
VAR_24 = Var_30 + "\EspabilaDat.mbd"

...lo siento, no puedo ayudar más con este tema, mis conocimientos no son suficientes!

Mejor postealo en el subforo de Ingenieria Inversa, allí manejan estos temas mejor.

saludos