Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Saúl Ortega en 10 Junio 2011, 03:42 am



Título: Intentando pescar un serial
Publicado por: Saúl Ortega en 10 Junio 2011, 03:42 am
Hola.

Verán, tengo un pequeño programilla que es prácticamente una alternativa al ActiveDesktop que ya no viene en Windows Vista y 7, y lo usamos en la empresa. Funciona de maravilla, pero la cuestión es que sin el código de registro sale una cuenta regresiva de 20 segundos antes de que muestre la página web, y eso es muy molesto. Adquirir el código del programilla no sería problema, si no fuera porque la página del autor ya no existe (www.appas.eu (http://www.appas.eu)), así que la única alternativa es crackearlo.

Desde hace una semana empecé a leerme un manual de OllyDBG con el único objetivo de sacar el serial de este programa, pero veo que me quedó grande...

A ver si algún alma caritativa me echa una mano  ;D... Este es el programa: http://www.megaupload.com/?d=CBE0ICL7 (toca ejecutarlo desde el bat para que funcione. En el mismo bat se debe poner al final el serial para que no salga la cuenta regresiva)

Al ejecutar el exe sin el bat, el mensaje que aparece me hace deducir que el serial es de la forma 00000000-0000-0000-0000-000000000000. Basado en eso y con la ayuda de OllyDBG encontré dos cadenas de texto con este valor:

Código:
%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x

Pero ahí me quedé atascado... ¿Qué se supone que es eso? ¿Un cifrado? ¿"variables" que obtiene de algún otro lado?

Le agradecería inmensamente al que me pueda ayudar... En verdad que es importante, y apuesto que es bien fácil, sólo que yo soy el más novato...  ;D


Título: Re: Intentando pescar un serial
Publicado por: apuromafo CLS en 10 Junio 2011, 11:21 am
el archivo al que está intentando acceder no está dsiponible temporalmente. Por favor, inténtelo de nuevo más tarde.
bueno , pero igual segun lo visto:
eso parecen lineas de llamadas de un buffer de wsprintA
http://msdn.microsoft.com/en-us/library/ms647550%28v=vs.85%29.aspx

 o similar, en castellano, son lineas que mantienen un formato determinado por cierta api, si no me olvido x es decimal, tambien se ve el tema de
Citar
lx, lX

    Long unsigned hexadecimal integer in lowercase or uppercase.

Citar
x, X

    Unsigned hexadecimal integer in lowercase or uppercase.

en este caso hay hexadecimales en lowercase (minusculas) y las demas puros valores

osea todo es minusculas en hexadecimal en forma simple


pero no es normalmente el cracking solo seriales, aveces entender donde esta la rutina y que valores espera basta y sobra muchas veces para que corra registrado..

una vez me paso una cosa asi, y segun el largo del serial era el tipo de licencia (para full version antigua y full version nueva)

si te interesa aqui esta:

http://www.ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/1201-1300/1233-Firegraphic%2010%20by%20Apuromafo.pdf

ahi logre por suerte fishear, pero realmente requiere tiempo hacer cosas asi..tiempo que nisiquiera aparezco por internet... saludos Apuromafo




Título: Re: Intentando pescar un serial
Publicado por: .:UND3R:. en 10 Junio 2011, 16:20 pm
Tratando de poder ayudarte, sinceramente no pude, debido a que el programa se inicia solo dentro del debugger, buscando en internet, detectando el lenguaje
Visual basic C# si mal no lo recuerdo no podía ser debuggeado con Olly, se requeria utilizar wnDbg con una extensión SOS
fue lo único que pude recolectar, me bajé el debugger pero este no era muy amigable a mi parecer, quizás como ya estoy familiarizado con OllyDbg

Saludos


Título: Re: Intentando pescar un serial
Publicado por: Saúl Ortega en 10 Junio 2011, 18:22 pm
Gracias a los dos por responder.  :)

pero no es normalmente el cracking solo seriales, aveces entender donde esta la rutina y que valores espera basta y sobra muchas veces para que corra registrado..
Sí, pero es que con este programilla creo que se complica un poco la cosa porque no tiene interfaz gráfica y toca indicarle los parámetros de configuración y serial desde un bat, así que, a menos que pueda integrar el bat en el OllyDBG  :rolleyes:, creo que la única pista son estas cadenas que encontré.

He pensade en modificar algunos JE que hay después de una de esas cadenas y cambiarlos por JMP, e ir probando a prueba y error  ;D (afortunadametne es bien pequeño el programa), pero ahora la pregunta: No vi una opción que me permitiera guardar el exe modificado; ¿cómo puedo hacer eso?  :rolleyes:


Título: Re: Intentando pescar un serial
Publicado por: .:UND3R:. en 10 Junio 2011, 18:59 pm
Te ubicas en el desamblado le haces click con botón derecho y "copy to executable" te saldrá algo como copy copy all pones copy all luego se abrirá una ventana,la presionas denuevo con click derecho y aparece save to file, seleccionas la ruta y ya está

PD:lograste que el programa se detuviera en el entrypoint, o la forma de ejecutar un .exe con parámetros?


Título: Re: Intentando pescar un serial
Publicado por: apuromafo CLS en 10 Junio 2011, 20:55 pm
ya habias dicho que era un .net , no creo que simplemente cambiando un salto sea suficiente:
Te ubicas en el desamblado le haces click con botón derecho y "copy to executable" te saldrá algo como copy copy all pones copy all luego se abrirá una ventana,la presionas denuevo con click derecho y aparece save to file, seleccionas la ruta y ya está

PD:lograste que el programa se detuviera en el entrypoint, o la forma de ejecutar un .exe con parámetros?

sin parametros solo analizar uso una aplicacion para PESCAN


Scanning -> C:\Documents and Settings\2011\Escritorio\escritorio.exe
File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 112128 (01B600h) Byte(s)
[File Heuristics] -> Flag : 00000100000001001101000000110000 (0x0404D030)
[Debug Info]
Characteristics : 0x0 | TimeDateStamp : 0x4BAA4E6D | MajorVer : 0 / MinorVer : 0 -> (0.0)
Type : 2 -> CodeView | Size : 0x8F (143)
AddressOfRawData : 0x1401C | PointerToRawData : 0x10E1C
CvSig : 0x53445352 | SigGuid 451147C5-A3A9-4E2D-B529CF836B4A1882
Age : 0x1 | Pdb : D:\Mina Dokument\Visual Studio 2008\Projects\ActiveDesktop-public-NoBars\ActiveDesktop\obj\x86\Debug\ActiveDesktop.pdb

[CompilerDetect] -> .NET
[.] .Net Info -> v 2.5 | Flags : 0x00000003 -> COMIMAGE_FLAGS_ILONLY | COMIMAGE_FLAGS_32BITREQUIRED |
[.] Entrypoint (Token) : 0x06000002
[.] MetaData RVA : 0x0000D514 | Size : 0x000053C4 (21444)
[.] MetaData->Version 1.1 -> v2.0.50727
[.] Flags : 0x0 | Streams : 0x5 (5)
[!] File appears to have no protection or is using an unknown protection
- Scan Took : 0.204 Second(s) [0000000CCh tick(s)]


es un .net, realmente, no es depurar directamente con ollydbg como los demas

cambiar los bytes en un .net es otro listado de opcodes, por ejemplo el jnz/je seria un ejemplo en .net-> br.true br.false

el depurador a usar deberias usar calimero o bien integrar con otras tools,
con respecto a windbg es cierto, pero todo depende del tiempo

casi todos los .net son fisheables
USA http://www.ricardonarvaja.info/WEB/buscador.php
y busca y lee todo lo relacionado a .net

no es complejo pero quita tiempo

ademas una vez guarde algunas cosas para .net , pero fue hace muuuucho
mediafire.com/apuromafo busca una carpeta ".net"


ahora bien, luego de instalar .net v1 y v2 puedo ver tu crackme un poco..quieres pescas el serial..pues veamos


abro el dis
, que bien tengo hace muuucho en mediafire.com/apuromafo

luego

Activedesktop->ad->compareStrings ahi estan todas las seriales

->
por ejemplo deberia haber sido en su tiempo:

Activedesktop.exe www.appas.eu 1100 9a9bbcbe-e16c-4e7b-b015-9abfa2653520
pero como bien dices, la pagina no esta activa..no creo que sea util, por eso decia que es mejor que analizes el programa y veas como formarlo funcional, en este caso con Il code, y de paso algun reflector+deblector seria suficiente cuando aprendas a revisar..pero aqui esta lo que buscas..

por ejemplo para navegar a google en la primera deberia ser
Citar
@echo off
start Activedesktop.exe www.google.cl 1100 9a9bbcbe-e16c-4e7b-b015-9abfa2653520
no se que haras con tantos seriales, pero bueno, el fin es aprender , no el uso en si , cierto


saludos Apuromafo

Citar
private void CompareStrings(string kod)
        {
            bool flag;

            string[] sArr1 = new string[] {
                                            "9a9bbcbe-e16c-4e7b-b015-9abfa2653520",
                                            "9b699a65-679d-4902-aed0-ec9fa5d464c7",
                                            "83b6acfc-9ae3-4af2-a4c2-e17524e8be6b",
                                            "29b5e64f-8a97-48f3-aa40-edae4a87255f",
                                            "6a8d39ac-8af0-4f93-9f2b-2ed93c39cff7",
                                            "56435007-616f-4e4c-88f2-f0aa34489746",
                                            "c6e0ec04-c962-4091-b16e-21ab50cd5fa5",
                                            "723b56a4-3942-4b3e-ac2c-ab718afae7e9",
                                            "d9e50af6-1a88-4a4a-bcd0-719910e1468e",
                                            "f99cefa8-e187-4ec9-a633-ef14afd19818",
                                            "299a113b-1dba-44c5-8dfa-c09dec667fba",
                                            "1e01f3a9-c56c-475f-8a5a-b77a7a57b8d3",
                                            "58a5755a-cfa8-4ca8-b2ee-2b8b6c24940b",
                                            "5afaf399-0a67-4884-bd16-247108ddb46c",
                                            "365c11f1-395c-4e15-a3be-444749024665",
                                            "5dd8ae63-c126-45a2-a68d-31fba3a0bfb4",
                                            "51728a83-a155-46f7-876a-579eb3514252",
                                            "6db9f3e3-f114-4415-b680-5dbded991b71",
                                            "59480a62-4860-45f1-b51c-b04c82653ad0",
                                            "1976b8f2-bef0-4405-935a-ae60af856123",
                                            "7f559932-3eeb-4b1c-8ee1-360f0ccdedcc",
                                            "2a3575cc-a615-4686-a046-8feb0c6a18da",
                                            "e32056a7-c24e-4578-a8d4-2c92469edb8c",
                                            "35b1bbc0-05cc-4b6e-8286-3365678f7d77",
                                            "61a2e8d6-be20-41de-a5da-f74f98ff97b6",
                                            "47e268f8-9974-480f-8bd1-864d6f512f0b",
                                            "175451b8-7925-4379-9408-3a2fa70b66d7",
                                            "329ffe91-a49a-48e0-84e3-a130e31e4091",
                                            "cdbfc120-10db-486a-a46c-8cfcf456a6db",
                                            "22a2a9cc-eda8-4d38-9b2c-e16a1a1ee54f",
                                            "aea4a23b-4244-482c-a177-23f3fcdb3633",
                                            "273dfb98-a47b-44e0-8b5f-da1fe984513c",
                                            "884e03d5-f4e8-45a0-a4ff-8e54df656a29",
                                            "cfc8ce84-add0-4d3f-ae68-ef91c2a47238",
                                            "e3674db9-a30a-4319-b0e8-c02200cbaa7c",
                                            "65c306cf-4300-4d47-9d82-78ad236ff996",
                                            "614ae22c-7832-43c6-83d5-2a70bc00247a",
                                            "4d3b98db-3f68-4c56-a1ac-008989831648",
                                            "6bc6bd42-1a64-4f96-bcd8-08486c2896e1",
                                            "56d35e7f-5874-4320-afd8-9058b110fcb8",
                                            "d91c29b3-5e3a-44a4-8b5c-de353440392b",
                                            "69a64f82-3d13-4f4a-a441-978083e988cb",
                                            "601e8de1-4018-43a1-928a-eeb776b452cf",
                                            "2f37cadd-9706-46af-ba48-bc11fba6cac0",
                                            "32f88e6c-22c4-4e45-aa81-3443240d3714",
                                            "8f620470-42ef-454b-9fde-f39f15d2d7db",
                                            "6c2541d1-9831-4937-8b95-c83862f7a583",
                                            "86942975-2f9a-478b-bcfc-6c449a313b22",
                                            "e027e4e8-306d-4828-9bfb-c9b0cb25ee10",
                                            "6ee51f25-9fb1-4ad3-92ac-04a6d1ebdbe7",
                                            "ce4ba2f6-1427-454d-a3af-1ee3e905a94c",
                                            "8e863b0d-79cd-4ab9-b8ff-233b2f772e9b",
                                            "ffafe498-4334-455f-9643-730a75b39ec5",
                                            "d78ae04d-f510-4f41-9fa1-65b3689aef03",
                                            "727780f4-9d71-4528-b5f2-c124d4862a9b",
                                            "96404503-037f-41a4-88a9-aac9403f5f77",
                                            "6ca469da-6032-4257-9033-6ec7d27e351c",
                                            "771b0d99-33b9-47dc-b39e-0f822cb6ad04",
                                            "194e898a-7dcd-402e-a650-39e67d1fc50b",
                                            "17dd25e0-1280-41f8-b939-a5fed56021e5",
                                            "159ab8ba-207a-456d-a5b8-b2b553bd7341",
                                            "55f734a8-cc9b-4c55-9cda-40eaa58c64ae",
                                            "cd49f989-ffc9-417d-868d-aaf578643c18",
                                            "56cd79bc-55cf-4f1e-8b01-217a42f4f02c",
                                            "e8bdd5f7-a444-4e77-b3fc-be51da3d621b",
                                            "b983f623-a0cd-4840-8524-188744dd84c0",
                                            "19f1d709-16d8-415d-8b75-61a5bd202e53",
                                            "d6f19dbc-2bb9-472e-8e3e-a1f639824571",
                                            "9131c19f-3f33-4ffd-88ce-eaeab7c64d52",
                                            "8f7e23ac-9e00-47d4-88b1-80a818302edf",
                                            "65d3ef56-1920-41a7-88bb-b7239101630d",
                                            "e75d5fc2-986c-4d6c-9b8a-fff49305cc8d",
                                            "bb7443be-f63a-4ffc-aa06-f34e86dc1b58",
                                            "b813cc34-52e0-474d-b7e4-37f3d6c6fc3c",
                                            "d0fbd62d-3eab-4407-bb24-df898e09a1fa",
                                            "5b6e7a10-f981-46ef-842f-38d266470684",
                                            "72ae3c2d-fe88-477f-9907-be617b21fd6a",
                                            "0e1c34f0-fa57-4405-b210-7a6533f80a1a",
                                            "2a1ec14f-55b7-43b7-b101-94a0fcd483d4",
                                            "080ae682-761b-493a-833b-9c7519cb3d5e",
                                            "c5893cab-289d-4b94-80a5-959f67031b05",
                                            "bc6c6b87-d22a-4e51-aa60-4a870887daaa",
                                            "37dd961b-2ec5-46fd-bd0f-6b78874dcbb1",
                                            "ae8d8a6b-963e-4db5-a77b-c39151773fb7",
                                            "06761bdf-6578-43a7-b688-ad5eec769cbc",
                                            "e8fe2715-012a-43a8-88c0-96d7a5265b41",
                                            "2c847b40-d5c5-4bcf-9c6f-0eee05d79ac3",
                                            "88d19ea4-73b4-4b62-b00f-dc44d5e2f735",
                                            "3752cf73-3d29-491f-8237-82bcf622303b",
                                            "159d114e-ddec-47f5-80cc-ef3692184ce8",
                                            "d195437e-91ec-40a1-bd80-81a6ea26de7e",
                                            "9a4e53b7-ecc4-489a-a5e1-60045ea1f773",
                                            "f86036c4-7f02-4050-8437-9030d614db06",
                                            "9c428938-f1cf-4971-92fb-40f7ee90861a",
                                            "19e938a8-d49c-4b61-a41a-21a9a655ce80",
                                            "83a5ac40-cb27-4ef2-98a8-71dfa2940226",
                                            "1975f26d-71f5-4d86-9e2d-cc874f84e964",
                                            "40587fc3-7900-417c-ad40-66d105a188b6",
                                            "a3890803-9a91-4726-afbc-398a6a12929f",
                                            "70e8fa31-1497-4cc2-85bb-126608444fbe" };
            string[] sArr2 = sArr1;
            int i2 = 0;
            while (flag)
            {
                string s = sArr2[i2];
                int i1 = System.String.Compare(s, kod);
                flag = i1 == 0;
                if (flag)
                {
                    riktigkod = s;
                    break;
                }
                else
                {
                    riktigkod = Microsoft.VisualBasic.CompilerServices.Conversions.ToString(false);
                }
                i2 = checked(i2 + 1);
                flag = i2 < checked((int)sArr2.Length);
            }
        }

por lo que deberia estar resuelto  , saludos
Apuromafo


Título: Re: Intentando pescar un serial
Publicado por: Saúl Ortega en 11 Junio 2011, 00:02 am
 :o ¡Guao!  :silbar:  ;-)

Jejejej... Genial, apuromafo... No sabes lo agradecido que estoy... Muuuchas gracias, jejej...

Um, igual voy a vajar esas erramientas que tienes en Mediafire... Me interesa el asunto.. jejej

Nuevamente, muchas gracias.  ;-)


Título: Re: Intentando pescar un serial
Publicado por: apuromafo CLS en 13 Junio 2011, 05:38 am
nada de gracias!!, cuando lo domines y lo hagas, espero tu tutorial, yo no tengo tiempo de hacerle tute con imagenes y paso a paso, pero te animo!..

saludos Apuromafo


Título: Re: Intentando pescar un serial
Publicado por: Di~OsK en 13 Junio 2011, 05:47 am
nada de gracias!!, cuando lo domines y lo hagas, espero tu tutorial, yo no tengo tiempo de hacerle tute con imagenes y paso a paso, pero te animo!..

saludos Apuromafo


Algo me dice que no lo veremos mas


Título: Re: Intentando pescar un serial
Publicado por: apuromafo CLS en 13 Junio 2011, 07:58 am
si tan lejos no estoy, lo que pasa es que instale ademas un xp desde cero, y no tengo muchas aplicaciones por falta de internet, ahora intento actualizarme denuevo todo desde cero.. pero mañana(realmente hoy) por ejemplo tengo internet por 1 dia..pero luego..?emm..asi es el ritmo de mi internet, invariante, desapareci como de octubre a enero y asi..esto lo hago por hobbie ^^

saludos Apuromafo CLS


Título: Re: Intentando pescar un serial
Publicado por: Saúl Ortega en 13 Junio 2011, 21:17 pm
nada de gracias!!, cuando lo domines y lo hagas, espero tu tutorial, yo no tengo tiempo de hacerle tute con imagenes y paso a paso, pero te animo!..
Mmmm... Estuve viendo el Dis#, y creo que esto no necesita tutorial. Abro el ejecutable, busco algo sospechoso como "CompareStrings", y ahí está todo...  ;D

Por cierto... ¿Por qué puedo ver el código fuente del programa?  :o Yo juraría que eso era imposible...  :rolleyes: ¿Sólo se puede con los .Net? ¿Por qué?  :rolleyes:


Título: Re: Intentando pescar un serial
Publicado por: apuromafo CLS en 13 Junio 2011, 21:58 pm
bueno los .net al decompilar se encuentra el codigo en IL, como IL es codigo intermedio se puede interpretar mas facil, pero cuidado hay ofuscadores para .net, hay trucos para .net y mas...pero lo divertido es que es otra forma de analizar

todos o casi todos usan redgate... pero en este caso dis es una forma

y cuidado tambien hay maquinas virtuales para .net como xenocode o otros..

pero no te estreses, por eso decia que es bueno que vayas viendo..como se fue..

1)analizar ->es un .net
2) intentar tutoriales de .net , fishing, no se..en este caso probe un decompilador
3) encontrar resultados interesantes
4) testear y
ok..

ese era la idea , mira que he visto muchas personas que dicen gracias , pero luego otra aplicacion cambia 1 byte y no reconocen que es lo mismo...
solo que comprimido o mas grande el programa..

por eso es bueno aprender y comentar..asi se aprende mas..



Título: Re: Intentando pescar un serial
Publicado por: apuromafo CLS en 18 Junio 2011, 00:49 am
bueno, yo esperaba tutorial asi que me anime a escribirlo/transcribirlo

 :rolleyes:
aqui está :

http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/1301-1400/1337-Activedesktop%20un%20%20.net%20by%20Apuromafo.rar

saludos Apuromafo


Título: Re: Intentando pescar un serial
Publicado por: .:UND3R:. en 18 Junio 2011, 03:20 am
Bajo que programa se debuggeo?, cuando se debe utilizar tal programa?


Título: Re: Intentando pescar un serial
Publicado por: apuromafo CLS en 18 Junio 2011, 13:53 pm
Bajo que programa se debuggeo?, cuando se debe utilizar tal programa?
se uso Dis#, es un entorno .net, debe usarse cuando el programa no esta cifrado ni comprimido en .net, suele servir como guia , por eso es necesario escanear el Programa antes de comenzar a revisar.

saludos Apuromafo


Título: Re: Intentando pescar un serial
Publicado por: .:UND3R:. en 18 Junio 2011, 19:00 pm
perfecto, ahora si este está comprimido que se puede hacer?

Me invade la curiosidad  :laugh:


Título: Re: Intentando pescar un serial
Publicado por: apuromafo CLS en 19 Junio 2011, 04:53 am
ejecutar y dumpear..el .net alinear las metadata, luego buscar los bugs..luego reparar todo el .net (cosa compleja) y luego depurar..eso e stodo

en casos emulados..normalmente se usa PEbrowser o IDA o windbg...hay muchas formas...solo es cosa de leer.