Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Editar SqlString en un EXE con editor hexadecimal. (https://www.clubdelphi.com/foros/showthread.php?t=89282)

amadis 28-10-2015 17:50:28

Editar SqlString en un EXE con editor hexadecimal.
 
Estimados colegas

estoy intentando modificar un par de string SQL de un viejo programa del que he perdido los fuentes.

Lo estoy haciendo mediante editores de recursos o hexadecimales.

El unico inconveniente que tengo es que en un SQL String de un query necesito agregar un campo mas a la clausula ORDER BY.
En el string tengo "Order by fecha desc" y neesito agrager tambien el campo codigo al ordenamiento.
Lo he hecho pero no funciona, no reconoce el nuevo campo. Leyendo por ahí me encontré que no puedo varial la logitd de los string.
Lo curioso es que en otras partes como label.caption si me deja varial.

Leí que tengo que editar las REFERENCIAS CRUZADAS que indican el largo de cada string y cambiar el parametro para la nueva longitud.

la consulta es en que parte del exe encuentro esas referencias cruzadas y como las encuentro, tengo restoratos, resource hacker y HexEditor free. Sólo necesito indicar que la cadena sql ahora tiene un par de bits mas de longitud. Gracias.

amadis 30-10-2015 00:16:08

alguien tiene alguna idea?.

Lo unico que encontré en toda la web es este link y no explica nada.

Lo que necesito es saber donde se encuentran esas cross references para editar la longitud.

Casimiro Notevi 30-10-2015 00:17:28

No puedes cambiar la longitud porque no hay espacio físico. Sobreescribirías lo que haya a continuación.
Tienes que limitarte al espacio que tienes en la cadena de texto.

amadis 30-10-2015 00:20:14

entonces lo de ese link no existe? no es factible. Y lo raro como comenté es que captions de componentes como label puedo agregar todo sin problemas

Casimiro Notevi 30-10-2015 09:23:17

Por lógica, aunque modifiques el indicador de la longitud de la cadena, si no tienes espacio para ampliarla, no sirve para nada, escribirás sobre otra parte del programa.
Lo mismo que el label que has modificado, con "suerte" has sobreescrito un trozo de "basura", pero eso es algo que no puedes saber, lo mismo has estropeado otra parte del programa y todavía no lo has descubierto.
Eso es lo que me dice la lógica.

amadis 02-11-2015 01:52:00

Logré solucionar la situación, editando los nombres de los campos desde el motor de BD por otros de un par de letras, re edité todas las definiciones dentro del exe para los nuevos nombres de campos y así pude agregar el par de bits que necesitaba.
Un trabajito pero funcionó y otra no me quedaba.

Casimiro Notevi 02-11-2015 09:39:22

Me recuerdas hace 30 años cuando hacía esas cosas para ponerle vida infinita a los juegos :rolleyes:

amadis 02-11-2015 10:04:42

Siempre es bueno un poco de nostalgia.

Si en algún momento llego a encontrar la forma de modificar las crossreferences que menciona el artículo de stackoferflow que compartí haré las pruebas y lo probré.

Me he probado cantidad de editores hexa, uno hasta tiene una sección para desarrollar crack para los programas.

Saludos


La franja horaria es GMT +2. Ahora son las 01:41:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi