Poniendo un BP (BreakPoint) en todas las llamadas a DecryptStringEX, el proggie parará en la primera que usa.
Alterando el parámetro de entrada, podemos descifrar cualquier string válido.
Así, sale:
A9C63BCB604427CF=abcd
763BA3E727F6B331=1234
44E4FFB1A5C504A3=<ejercicio para el lector>
F5AD8A7F0D9E4F00=<ejercicio para el lector>
7156647D308C201E=<ejercicio para el lector>
Saludos!
PD: Si no tienes idea de cómo usar Olly, busca en el FAQ del foro de Ing. Inversa (link en mi firma) el tutorial de Ricardo Narvaja.
Bueno, logre mi cometido, encontre las contraseñas, las probe en el programa y funcionan pero en el DVR que era lo que necesitaba no. Me gustaria que si tenes ganas y tiempo me explicaras bien bien como lo hiciste vos, por mera curiosidad.
Entiendo que en ECX se guarda el string codificado, y en EAX luego se guarda el string descencriptado, pero aun asi no se como ingresarle el string ecriptado ni luego ver el string en ASCII descifrado.
Yo utilice lo siguiente:
Si hago correr esa linea de comando con F7, hasta que aparece el numero decimal 126, en los registros me aparece el string en ASCII de la contraseña ubicada en data.xml.
<DEV id="1" ip="1" area="dvrtk" name="DVR" host="192.168.1.10" port="34567" cameras="8" devcType="1" alarmcameras="4" ddnsFlag="0" DDNSHost="" pos="0" desc="" username="admin" OrgId="1" vendor="0" password="A9C63BCB604427CF">
Lo que hice fue ir cambiando el string : "A9C63BCB604427CF" por los que queria averiguar y listo.
Asi y todo, me encataria aprender tu metodo.
Quiero agradecerte por la paciencia y el tiempo,y me gustaria inviarte una cerveza, un cafe, no se que soles consumir. Soy de Quilmes asi que si podes.. arreglamos.