Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: wconejo en 6 Octubre 2010, 04:15 am



Título: Ayuda numero de serie
Publicado por: wconejo en 6 Octubre 2010, 04:15 am
Buenas amigos

He intentado varios metodos para descifrar el serial de este programa que esta en este link http://www.megaupload.com/?d=2HTHAUK1 la primera cifra es LW es la unica pista que tengo. En wdasm no encuentro la referencia.
agradezco la ayuda para la solucion


Título: Re: Ayuda numero de serie
Publicado por: MCKSys Argentina en 6 Octubre 2010, 16:48 pm
Hasta donde has llegado??

Dices que W32Dasm no te larga nada... Probaste con Olly??


Título: Re: Ayuda numero de serie
Publicado por: wconejo en 6 Octubre 2010, 18:50 pm
Tambien con el olly y no encuentro el salto a mensaje "Invalid serial number.Please re-enter code" que puede estar codificado con un caracter diferente.
Este es lo que me sale.
 String Resource ID=01101: "InstallShield"
 String Resource ID=01151: "Error writing to the temporary location"
 String Resource ID=01152: "Error extracting '%s' to the temporary location"
 String Resource ID=01153: "Error reading setup initialization file"
"         (((((                "
" "
" %01d.%01d %s%s"
" %s"
" %s"%s""
" %s%s"
" /ForceROT"
" /l%d"
" /q:a /c:"install /q""
" AFTERREBOOT=1"
" IS_MINOR_UPGRADE=1"
" ISSCHEDULEREBOOT=1"
" REINSTALL=ALL"
" REINSTALLMODE=vomus "
"!"
"" /%"
"""
""%s" %s /l%d /t"%s" /e"%s" /v"%s" "
""%s" /c:"msiinst /delayrebootq""
""%s" /k %s /l%d /t"%s" /e"%s" "
""%s" /q"
""network.proxy.autoconfig_url""
""network.proxy.ftp""
""network.proxy.ftp_port""
""network.proxy.http""
""network.proxy.http_port""
""network.proxy.no_proxies_on""
""network.proxy.ssl""
""network.proxy.ssl_port""
"%#04x"
"%#x"
"%*.*f"
"%20"
"%d "
"%d"
"%d%s"
"%d: %s"
"%IS_E%"
"%IS_T%"
"%IS_V%"
"%s %s"
"%s /a "%s"%s"
"%s /f%s "%s" %s"
"%s /g %s /g %s /s"
"%s /g %s /g %s"
"%s /i "%s" %s"
"%s /j%s "%s" %s"
"%s /p "%s" %s"
"%s /x "%s" %s"
"%s TRANSFORMS="%s""
"%s"
"%s%d"
"%s%s"
"%s%s%s;%s"
"%s,%u"
"%s="%s""
"%u"
"%u.%u.%u.%u"
"%x"
","
"."
".debug"
".htm"
".ini"
".rdata"
"/a"
"/c"
"/d"
"/f"
"/f%s"
"/f1"
"/f2"
"/j"
"/j%s"
"/LangTransform"
"/m"
"/m1"
"/m2"
"/p"
"/p"%s" %s"
"/r"
"/s"
"/SMS"
"/uninst"
"/URL"
"/v"
"/verbose"
"/x"
"/z"
":"
"\"
"\0001"
"\nsreg.dat"
"\prefs.js"
"\shell\open\command"
"\VarFileInfo\Translation"
"]"
"_is"
"{021122EA-49DC-4aeb-9D15-DCEAD9BAB1BC}"
"{1C370964-514B-321C-7237-2B4FD86D8568}"
"{31EE4FE8-7F9C-11D5-ABB8-00B0D02332EB}"
"{6741C120-01BA-87F9-8734-5FB9DA8A4445}"
"{78705f0d-e8db-4b2d-8193-982bdda15ecd}"
"{7E76A8D6-33D1-0032-16C3-4593092861D0}"
"{9B29D757-088E-E8C9-2535-AA319B92C00A}"
"{E7E2C871-090A-C372-F9AE-C3C6A988D260}"
"{F1B13231-13BE-1231-5401-486BA763DEB6}"
"{F279058C-50B2-4BE4-60C9-369CACF06821}"
"0x0%s.ini"
"1.20.1827.0"
"2.0.2600.0"
"4.70.0.1300"
"Arial"
"AutoConfigURL"
"Basque"
"CABINET"
"CANCEL"
"CertCompareCertificate"
"CLSID\%s"
"CoCreateInstance failed with error "
"COMCTL32"
"Count"
"crypt32.dll"
"CSDVersion"
"CurrentUser"
"Default"
"Description"
"DirRoot"
"dotnetfx.exe"
"dotnetredist.exe"
"dotnetredistSp1.exe"
"DotNetVersion"
"dwplayer"
"Evaluation"
"FDICopy"
"FDICreate"
"FDIDestroy"
"FDIIsCabinet"
"Forcing item moniker %s into ROT..."
"ftp://"
"FTP_Proxy"
"FTP_ProxyPort"
"ftp="
"FtpFindFirstFileA"
"GET"
"GetDiskFreeSpaceExA"
"GIF"
"GIF87a"
"GIF89a"
"http://"
"HTTP_Proxy"
"HTTP_ProxyPort"
"http="
"HttpEndRequestA"
"HttpOpenRequestA"
"HttpQueryInfoA"
"https://"
"HTTPS_Proxy"
"HTTPS_ProxyPort"
"https="
"HttpSendRequestA"
"HttpSendRequestExA"
"I64"
"InitCommonControlsEx"
"InstalledProductName"
"InstallerLocation"
"InternetAutodial"
"InternetCanonicalizeUrlA"
"InternetCloseHandle"
"InternetConnectA"
"InternetCrackUrlA"
"InternetCreateUrlA"
"InternetErrorDlg"
"InternetGetConnectedState"
"InternetGetLastResponseInfoA"
"InternetOpenA"
"InternetOpenUrlA"
"InternetQueryDataAvailable"
"InternetQueryOptionA"
"InternetReadFile"
"InternetSetOptionA"
"InternetSetStatusCallback"
"InternetSetStatusCallbackA"
"is_gif_class"
"IS_MINOR_UPGRADE"
"ISSCHEDULEREBOOT=1"
"ISSetup"
"k"
"KERNEL32"
"key"
"KEY"
"key"
"Languages"
"LocalServer32"
"M"
"Microsoft(R) .NET Framework"
"msi.dll"
"Msi.DLL"
"MsiCloseHandle"
"MsiGetProductInfoA"
"MsiGetSummaryInformationA"
"MsiInstallProductA"
"MsiOpenDatabaseA"
"MsiSetInternalUI"
"MsiSummaryInfoGetPropertyA"
"netscape.exe"
"NETSCAPE2.0"
"network.proxy.type"
"OK"
"ONUPGRADE"
"PackageCode"
"PASSWORD"
"ProfileLocation"
"Proxy Type"
"ProxyEnable"
"Range: bytes=%d-"
"REBOOT=ReallySuppress ADDLOCAL=All"
"Referer: %s"
"REINSTALL"
"REINSTALLMODE"
"RPAWINET.DLL"
"ScriptDriven"
"SeShutdownPrivilege"
"SetupBitmapCls"
"SetupBitmapWin"
"SetupLogFileName"
"Shell_TrayWnd"
"SHFolder.dll"
"SHGetFolderPathA"
"Slovenian"
"SMS"
"Software\InstallShield\ISWI\7.0\SetupExeLog"
"Software\Microsoft\Active Setup\Installed "
"Software\Microsoft\Windows\CurrentVersion"
"SOFTWARE\Microsoft\Windows\CurrentVersion\Inst"
"Software\Microsoft\Windows\CurrentVersion\Inst"
"Software\Microsoft\Windows\CurrentVersion\Inte"
"Software\Microsoft\Windows\CurrentVersion\Run"
"Software\Microsoft\Windows\CurrentVersion\RunO"
"Software\Microsoft\Windows\CurrentVersion\Unin"
"SOFTWARE\Netscape\Netscape Navigator\biff"
"SOFTWARE\Netscape\Netscape Navigator\Proxy "
"SOFTWARE\Netscape\Netscape Navigator\Users\"
"System\CurrentControlSet\Control\Windows"
"This Setup was created with an "
"Title"
"TRANSFORMS="
"TRANSFORMS=""
"tS|"
"uninst"
"UseDotNetUI"
"verbose"
"Version"
"wininet.dll"
"WinInet.dll"
"wintrust.dll"
"WinVerifyTrust"
"WTHelperGetProvCertFromChain"
"WTHelperGetProvSignerFromChain"
"WTHelperProvDataFromStateData"
"Y"

Las pistas que tengo por el momento no me ayudan, primer cuadro de la licencia son dos caracteres LW, el segundo cuatro caracteres empieza con P, el tercero diez caracteres que no lo se aun.


Título: Re: Ayuda numero de serie
Publicado por: MCKSys Argentina en 7 Octubre 2010, 02:45 am
Bueno, al parecer estas tratando de hallar el serial de un instalador InstallShield. Te recomiendo usar las tools para extraer el script que valida el codigo, asi la tarea es mucho mas sencilla.

Aunque quizas puedas cazar el string cuando lo compara. Metele un BPM a tu serial y fijate lo que hace cuando accede al mismo.

Sino, en Google encontraras muchas referencias a decompiladores de InstallShield (creo que el mas usado es Les Miserables o algo asi...  :P)

Saludos!


Título: Re: Ayuda numero de serie
Publicado por: wconejo en 7 Octubre 2010, 16:21 pm
Muchas gracias por la ayuda pero me doy por vencido, es un programa del 2006 y en 4 años nadie a logrado crackearlo y menos yo que aprendi a puro tutorial.Es un reto que no esta a mi nivel sinceramente.
Si alguien lo logra ojala publique el procedimiento y herramientas a utilizar, porque lo que se trata es de aprender.


Título: Re: Ayuda numero de serie
Publicado por: MCKSys Argentina en 7 Octubre 2010, 18:50 pm
Yo tambien aprendi con tutoriales...  :P

Pero bueno... si ya te has rendido...  :-\

Saludos!


Título: Re: Ayuda numero de serie
Publicado por: LSL en 9 Octubre 2010, 01:09 am
Muchas gracias por la ayuda pero me doy por vencido, es un programa del 2006 y en 4 años nadie a logrado crackearlo y menos yo que aprendi a puro tutorial.Es un reto que no esta a mi nivel sinceramente.
Si alguien lo logra ojala publique el procedimiento y herramientas a utilizar, porque lo que se trata es de aprender.

"wcx_InstallExplorer_0.9.2" Este archivo contiene el siguiente complemento para Total Commander:

InstallExplorer - allows you to browse and extract the contents of .exe and .msi files, created by various installers

con el puedes extraer las carpetas de instalación, sin pedir password

Tambien con ayuda del SID (Sexy Installshield Decompiler), puedes decompilar el archivo setup.inx que crea el instalador en la carpeta TEMP y con su estudio puedes coger idea del proceso de comparación, asi como hacerle la modificación oportuna para que el salto bueno se produzca con lo contrario al resultado Igual a  OK, y comparando los cambios efectuados en el setup.inx original con el modificado, con un editor hexadecimal puedes arreglar el instalador para saltarte la password correcta.
Luego el ejecutable de la aplicación una vez instalada, de ser necesario tendrás que crackearlo como cualquier otro programa del que no posees la licencia oportuna.

Todo eso lo he buscado y hecho en un par de horas, y ya sabiendolo se hace en 30 minutos, no te rindas que quien la sigue la consigue ...

mirate este manual que aporto Misomeister de como utilizar el SID http://foro.elhacker.net/ingenieria_inversa/guia_rapida_craking_a_instaladores_de_install_shield-t290497.0.html;msg1438941



Título: Re: Ayuda numero de serie
Publicado por: wconejo en 9 Octubre 2010, 21:46 pm
Ya lo pude instalar pero no inicia. :huh:
Revise livewire.exe con otro igual registrado usando Hex Comparison y no encontre diferencia alguna, asi fue con todos los archivos hasta que descubri que el problema radica en el archivo Livewire.dat que el original tiene informacion y el crackeado vacido.
Hasta hay llegue porque no hay manera de saber que tipo de informacion guarda todos esos " íáþùâóúãèüàöõûàöí "  :huh:

Gracias por todo


Título: Re: Ayuda numero de serie
Publicado por: Høl¥ en 10 Octubre 2010, 01:51 am
Lo he estado mirando un poco y la gracia de todo es que lw130app.exe
no es el encargado de comprobar que el serial sea válido.

(http://img31.imageshack.us/img31/6246/asasaqy.png)

Es IDriver y se ejecuta junto a lw130app.exe. Luego haces Attach con el OllyDbg a IDriver, pones BP en MessageBoxA, introduces usuario y contraseña, le das a Next, ves quien llama al MessageBoxA y llegas aquí:

(http://img375.imageshack.us/img375/3849/asafgg.png)

Ese CALL es multi-uso y prácticamente es el núcleo de toda la protección. cifra / descifra el mensaje del MessageBoxA, chequea si tienes algún debugger (olly, sice, ida, hay una gran lista...), y además está la función que te muestro en la imagen.

_LWsetup__Validate, y esa debe ser la función que chequea si tu serial es correcto o no. (Además el serial falso introducido aparece en el stack).

Puedes hacer que retorne 0 y entonces pasarás el MessageBox de serial invalido, llegaras a tener medio-instalado el Livewire, pero no te dejara ejecutarlo.

Luego el resto es echarle tiempo, debugeando la función _LWsetup__Validate para sacar un serial correcto :D.


Título: Re: Ayuda numero de serie
Publicado por: LSL en 10 Octubre 2010, 04:58 am
@wconejo

si en el ejecutable del programa instalado se ejecuta el salto del siguiente código, no te sale el mensaje de que reintales la aplicación

006E5877  |> \E8 B0510000   CALL 006EAA2C
006E587C  |.  84C0          TEST AL,AL
006E587E  |.  75 57         JNZ SHORT 006E58D7
006E5880  |.  E8 834B0000   CALL 006EA408


además si NOPeas el salto del siguiente código podrás correr el programa

00708870  /$  53            PUSH EBX
00708871  |.  E8 16000000   CALL 0070888C
00708876  |.  84C0          TEST AL,AL
00708878  |.  74 0E         JE SHORT 00708888
0070887A  |.  E8 39E2FFFF   CALL 00706AB8
0070887F  |.  66:BB BFFF    MOV BX,0FFBF
00708883  |.  E8 BCA9CFFF   CALL 00403244
00708888  |>  5B            POP EBX
00708889  \.  C3            RETN


Luego necesitaras debugguearlo a fondo, pues por lo pronto veo que no se habilita la opción de Salvar (no sé si es que para salvar se debe cumplir algunas opciones en la modificaciones del archivo, pero de todas formas al cerrar te pregunta si salva los cambios, pero crea un archivo corrupto).



Título: Re: Ayuda numero de serie
Publicado por: wconejo en 10 Octubre 2010, 17:01 pm
Al brincarme el salto el programa instala incorrectamente por esta razon, la licencia aparte de dar el paso a la instalacion crea una informacion al IDRIVER sobre lo que se va a instalar.Ejemplo con el Circuit Wizard que es del mismo fabricante y el entorno de instalacion es el mismo, este es el link con la licencia para que lo puedan comprobar http://www.megaupload.com/?d=K1EZAXAX la primera cifra indica el producto a instalar, en este caso CW, la otra es ED05 que es igual a Educacional para 5 usuarios o la SR01 que es la Standar para 1 usuario, si instalo la ED05 el programa instala con videos y ejemplos y si uso la SR01 solamente instala el programa sin el material interactivo, la otra cifra HWTEE9EEQ3 si cumple la funcion de cualquier serial para el paso.
Toda esta informacion se almacena en el archivo DAT donde se instalo el programa y es por eso el error de inicio al brincarnos la validacion al quedar el dat en blanco o con informacion incorrecta.
En total el programa posee 3 protecciones, datos de licencia, release code (codigo de activacion, usamos el reemplazo del exe del CW porque su id correspnde a los del DAT) y el verificador de datos DAT.
Hasta el momento es el mas complejo en seguridad que conozco y los que se han podido crackear han sido los demos incompletos que no pasa de 4mb que no possen licencia ni DAT.El CW se logro activar al aportar licencia y el reemplazo exe que es de una instalacion original activada.

Reto dificil no creen :o


Título: Re: Ayuda numero de serie
Publicado por: wconejo en 11 Octubre 2010, 18:19 pm
Extraje el programa del livewire.exe que esta en el temporal con el universal extractor y crear asi un tipo portable del programa.
Habra alguna manera de que el programa corra sin nececidad del livewire.dat o crear uno falso para asi engañar el programa?