Inspirado un poco en este post me decido a iniciarme en esto llamado "ingenieria inversa"... soy programador por hobby asi que aca habra mucha prueba y error... y mucho oido para recibir consejos!
Ferreteria Plus V5.80
Archivo: instala_ferreteria_plus.exe (10,8 MB)
programas-gestion.com.ar/ferreteria/instala_ferreteria_plus.exe
(md5 checksum:4A52DA92 - BC4E3F98 - A807F5FE - 66DCE14F)
Mi estudio se basa en esa version, probablemente sea actualizada en la pagina oficial asi que pueden bajarse la version exacta desde estos lugares:
RS: http://rapidshare.com/files/307829659/instalaFPv5.80.exe
MU: http://www.megaupload.com/?d=TOOGHLW9
MF: http://www.mediafire.com/?znmz0nuz255
(obviamente mismo checksum)
Software que voy bajando, no se si los usaré a todos...
Delphi 7 Second Edition (en ingles, es una version full muy buena) (42 MB)
http://rapidshare.com/files/83259453/Delphi.7.Second.Edition.v7.2.exe
Absolute Database v.6.05 Personal Edition para Delphi 7 (8.006 Mb)
http://www.componentace.com/data/distr/absolute_d7_605.zip
(Si hay problemas con la instalacion miren el readme que trae que es muy claro.)
OllyDbg v1.10 (1.27MB)
http://www.ollydbg.de/odbg110.zip
Un-telock 0.99 (28KB) (Unpacker, para desempacar los exe)
http://rapidshare.com/files/151160393/Un-telock-0.99.rar.html
DeDe v3.50.04.1635 Delphi7 Forced (756KB)
http://www.4shared.com/file/101091918/c854380f/DeDe_v350041635_Delphi7_Forced_PassZapper.html
Instalo Ferreteria Plus V5.80
Abro el programa para ver las limitaciones y seguridad implementada y me encuentro con:
1- Tiene 100 usos disponibles (ver donde guarda el numero de aperturas restantes, ya hice un bat para eso)
2- Me ofrece compararlo, para eso me muestra una licencia generada la cual deberia corresponderse con algun codigo que pasen ellos para registrarlo, de salen 2 opciones, la primera me lleva a una web en donde precarga los datos en un formulario y ais solicitar el serial... la segunda opcion es la de ingresar la licencia obtenida. Si coloco un serial erroneo abre un navegador integrado que me lleva a la misma web, si no tiene conexion a internet me muestra un mensaje de error "Error: No se encontro el formulario". (debere abrirlo con un debugger...). Intuyo que la clave de producto la genera teniendo en cuenta algunos datos de la maquina en donde se instaló y la fecha, digo esto porque lo instale mas de una vez y fue siempre cambiante...
3- Elijo la opcion "Entrar" para empezar a usar el programa. Aca veo que apenas abro el programa se cambia la fecha de modificacion del archivo "C:\Ferreteria Plus\tablas\CONFIG.ABS" (este archivo seguramente tenga mucho que ver en mis planes)
4- Tal cual pasaba en versiones viejas, el boton de remitos esta desactivado en la demo
5- En la impresion de comprobantes aparece la leyenda "VERSION DE PRUEBA"
Cargo una factura de venta y veo que se modifica el archivo "C:\Ferreteria Plus\tablas\TABLAS.ABS"
En este momento me decido primero a abrir las bases de dato e investigarlas un poco previo a meterme con los exe...
Abro el CONFIG.ABS y me pide una contraseña "Database Autentication", ya vere despues que encuentro en internet para sacarle la contraseña...
Abro TABLAS.ABS para investigar un poco, no tiene contraseña... muy bien!
Ambas tablas ya me las abre con el "Absolute Database" previamente instalado.
Yo se que cualquiera con experiencia iria directamente a decompilar el programa... pero yo le tengo ganas al CONFIG.ABS y como tiene contraseña me parece que es aun mas importante de lo que parece... sino para que perder tiempo con la contraseña?
Me olvide de aclarar, el programa lo compró un amigo y tengo el serial que se corresponde con su "clave de producto" instalada... esto lo aclaro porque mi intencion no es la de desbloquear el programa para usarlo sino que fue el que tenia mas a mano... ya vere si mas adelante me sirve ese serial para hacer mas facil mis dias...
Base de datos TABLAS.ABS
tbarticulos: me llama la atencion la propiedad maxvalue=500 del campo id... por las dudas lo voy a dejar en blanco, no sea cosa que ese valor sea el que limite los articulos
Sobre "tbarticulos" hago click derecho y elijo "Restructure table", me voy a la fila del campo id y borro el valor de 500...
Voy a revisar todas las tablas, una por una a ver que encuentro...
tbconfig: tiene un nombre interesante, hay muchos parametros que tal vez no se puedan modificar desde el programa y desde aca si, por ejemplo el simbolo de la moneda... (me queda en el tintero ver que pasa si cambio el valor de "ModulosRegistrados", vale la pena probar)
tbconfigGDS: lindo nombre tambien, me llama la atencion que hay valores de campos que tienen True con mayusculas y true en minusculas... me hace pensar que alguno fue cambiado a mano aparentemente, no se.
tbConfigGeneral: tambien muchos parametros...
Tal vez estos campos sirvan para algo si se modifican a mano.
tbReservas: me pregunto si el programa tendra otras funciones deshabilitadas... ahora recuerdo que me comentaron que el programa es unico y le cambian algunas opciones y el nombre para adaptarlo a peluquerias, gimasios, etc... a lo mejor si descubroimos algo sirva para todos los programas como ya ocurrio antes cuando hicieron un crack que duro unos dias...
tbUsuarios: aca estan los parametros de permisos por usuario... me llama mucho la atencion que las contraseñas ni siquiera minimamente hayan pasado por un MD5... se ven a simple vista!
Guardo la db y abro el programa...
Arranca bien... hasta ahora el limite de 100 usos no me preocupa y ademas no tengo la contraseña para abrir CONFIG.ABS.
Hago click en entrar y me voy a importar articulos... importo 2000 (me muestra un mensaje diciendo que el demo tiene limites pero no hace mas que eso y los importa)
Agrego un articulo manualmente, me avisa que tengo un limite de 240 articulos y se cierra el programa sin grabar ese ultimo articulo...
EL limite en la db era de 500 y aca me muestra 240.. raro... voy a hacer la prueba de ponerle un numero en vez de que quede el cmpo vacio... pruebo con 20.000... (probe y hace lo mismo, el numero en la db haria una segunda comprobacion en caso que falle la primera)...
Esto me obliga a abrir CONFIG.ABS....
Por el momento y para que no se frene al llegar a los 100 usos, lo que hago es volver a copiar el config.abs original que es quien lleva la cuenta de los usos, me arme un bat con lo siguiente:
@echo off
echo Copiando...
copy "config.abs" "C:\Ferreteria Plus\tablas"
Voy a investigar como abrir esa db con contraseña... si a alguien se le ocurre algo bienvenidas sean las ideas....
Este post lo voy a ir completando a medida que vaya teniendo progresos o si recibo ideas para probar...
Todavia me falta usar algun monitor de sistema para ver si hace consultas al registro..
Mas adelante me metere con el debugger...
----------------------------------------------
Actualizacion
Despues de buscar varias horas, doy con algo muy interesante llamado "ABS Pass Cracker"
http://zapper9.blogspot.com/2009/06/abs-pass-cracker.html
Bajar:
http://www.4shared.com/file/114986084/6db9b1a/ABSPassCracker_v30b_PassZapper.html (292 KB) (Contraseña para el rar: Zapper)
Es un "probador" de contraseñas... lo voy a dejar andando un rato a ver si tengo suerte... sino tendre que abrir el exe definitivamente para ver donde esconde la contraseña a la base de datos...
-----------------------------------------------
Actualizacion
Mientras el "ABS Pass Cracker" hace su intento... Arranco el DeDe y empiezo a revisar ferreteria.exe...
Aclaracion, al exe ya lo habia desempacado con el "Un-telock"...
-----------------------------------------------
Actualizacion
El programita para la contraseña funciona a la perfeccion, afortunadamente la contraseña es alfanumerica de 4 digitos... en un ratito (7 minutos) ya estaba en pantalla. (Si con esta ayuda no la sacan...)
Abro la db CONFIG.ABS y encuentro:
Tabla: tbLicencias
Campo.. / .. Valor
Fecha 14/11/2009
Reg 8697AB13
CPU Intel(R) Pentium(R) 4 CPU 3.00GHz
Windows Microsoft Windows XP
HD 488B-1860 111,78 Gb.
Memoria 1.022 Mb.
Lic
Usage 27EF955BBB3C7E24
Spc
Veo similitudes con el "codigo de producto" que me muestra "8697AB13892"... supongo que los campos "Lic" y "Spc" tienen algo que ver en el registro del programa...
Bueno, no me sirve de mucho por el momento pero me saque las ganas de abrirla... Menos mal que ya habia empezado a mirar el manual del OLLY!
---------------------------------------------------
Actualizacion15-9
Agregue 3 mirrors y el md5 cheksum para comprobar la version del instalador...
Estoy mirando un tute de tena que hizo para una version antigua del programa...
----------------------------------------------------
Actualizacion 16/11/09
Ya estoy con el exe...
Lo desempaco con el untelock
Noto que al ejecutar el exe crea un bat que lo borra... jeje
Ferreteria.bat
:1
Erase "C:\Ferreteria Plus\Ferreteria.exe"
If exist "C:\Ferreteria Plus\Ferreteria.exe" Goto 1
Erase "C:\Ferreteria Plus\Ferreteria.bat"
antidump=1 yo=0
... Vuelvo al untelock....
busco ? CreateFileA (para meter un bp y que no cree el exe)
agrego un bp y veremos...
----------------------------------------------------
Si a alguien se le ocurre algo, bienvenidas sean esas ideas!
Continuará...