elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 [130] 131 132 133 134 135 136 137 138 139 140 141
1291  Programación / Ingeniería Inversa / Re: CrackMe05 by x4uth en: 23 Agosto 2008, 05:19 am
bueno lo proximo seria un bruteforce

00401672  |> /81FB 232A4400 /cmp     ebx, 00442A23
00401678  |. |75 08         |jnz     short 00401682
0040167A  |. |81FF 232A4400 |cmp     edi, 00442A23


ahora bien se que es dificil cumplir el salto pero es claro lo que se debe lograr

debemos o debes lograr que el valor de EDX y EDI sean 442A23

ahora bien que influye en todo esto pues el saber que los valores tomados
siguen un cierto orden
004016A9  |> \83EB 01       |sub     ebx, 1                          ;  Case 0 of switch 0040169D
004016AC  |.  EB 0D         |jmp     short 004016BB
004016AE  |>  83EB 1A       |sub     ebx, 1A                         ;  Case 1 of switch 0040169D
004016B1  |.  EB 08         |jmp     short 004016BB
004016B3  |>  83C3 01       |add     ebx, 1                          ;  Case 3 of switch 0040169D
004016B6  |.  EB 03         |jmp     short 004016BB
004016B8  |>  83C3 1A       |add     ebx, 1A                         ;  Case 2 of switch 0040169D
004016BB  |>  C1EE 02       |shr     esi, 2                          ;  Default case of switch 0040169D
004016BE  |.  83FE 03       |cmp     esi, 3                          ;  Switch (cases 0..3)
004016C1  |.  77 22         |ja      short 004016E5
004016C3  |.  FF24B5 241740>|jmp     dword ptr [esi*4+401724]
004016CA  |>  83EF 01       |sub     edi, 1                          ;  Case 0 of switch 004016BE
004016CD  |.  83C5 01       |add     ebp, 1
004016D0  |.^ EB A0         |jmp     short 00401672
004016D2  |>  83EF 1A       |sub     edi, 1A                         ;  Case 1 of switch 004016BE
004016D5  |.  83C5 01       |add     ebp, 1
004016D8  |.^ EB 98         |jmp     short 00401672
004016DA  |>  83C7 01       |add     edi, 1                          ;  Case 3 of switch 004016BE
004016DD  |.  83C5 01       |add     ebp, 1
004016E0  |.^ EB 90         |jmp     short 00401672
004016E2  |>  83C7 1A       |add     edi, 1A                         ;  Case 2 of switch 004016BE



ahora bien hacer pasar las letras es un poco complejo , pero para que tengas una idea de pasar 10 letras a un estilo poco comun mira un poco
intenta este serial como base
ADFJCOBNMC

luego le vas incrementando y viendo los valores
llegara la deduccion que esto es un calculo matematico que suma y resta, y es esa suma y resta la que falta resolver


ahora vemos los cases y vemos nuestro serial (el orden de los cases)
00301112202310130320

ceros=7
unos =5
dos=4
tres=4

solo deberian ser pares al parecer o algo asi
claramente este es impar

hay otros que son como

y en comparacion a
ADFJCOBNMC

se puede agregar mas letras para las pruebas
pero igual debe ser de preferencia par, para la verificacion

aparte que sean con esas letras ahi condiciona que sean en forma mEDIA EXTRAÑA
me explico
1 4 6  12
1+1=2 mas el resultado obtenido
4 +resultado anterior=6
6+resultado anterior (4)= 12

Y PASA A  ser mas o menos valido el valor
ahora bien
letras como en forma par pueden ir enlazandose de a poco para jugar a las matematicas
AD
MC
FK
CO
BN


ahora en esa misma tematica, esos valores o numeros
de suma o resta deben ser exactos para que de el resultado

eso que dicen los case no es al azar y debe tener su logica
pues cuando es invalido
pues los valores no son tomados todos

ejemplo
004016D5  |.  83C5 01       |add     ebp, 1 ->la letra es tomada

por lo ideal creo que deberia pasar lo menos por los add, en especial por los add 1A


eso es lo que creo
saludos me voy a dormir..espero sirva esto poco para que puedas continuar con algun analisis

pues solo una combinacion grande de 0(resta) 2(suna)= valor que queremos

pues sera la solucion para terminar

pd:si no hubiera tenido la condiciones quizas hubiese sido mas facil

ahora bien como otro dato
004016DA      83C7 01       add     edi, 1

este valor da una zona normalmente descuadrada osea es indice que los pares aun no estan bien calculados

o bien aun no existe el patron normal

creo que tiene que ver con alguna matematica o formula muy bien pensada

pero como es tan corto el tiempo que tomo en verlo, pues solo intente unos pocos dedoforce..
asi que si se logra programar un bruteforce con pares de letras en vez de letras, en un momento quizas seria posible llegar a la solucion


no se me ocurre aun el bruteforce pero deberia ser de a par..
acabo de bajarme el pdf

y claramente sale tu solucion pero para 36 letras
intenta


saludos Apuromafo



ahora bien el calculo deberia ser de a par, pero nimporta
demosle segun el calculo
?4429D1+52 ->valor final para EBX
52= 82 en decimal
para EDI
?00442A5F-3C->valor final para EDI

-3C =-60
osea deben ser minimo 10 menos 10
osea -10 -10 -10 -10 -10 -10
o sea -a-a-a-a-a-a para EDI


recuerda que el 0a=10
por lo tanto sacar un 82 minimo debe ser
10+10+10+10+10+10+10+10+1+1
y lo otro puede ser neutro
ahora bien seria
+a+a+a+a+a+a+a+a+a+a1+1 ->minimo de serial para EBX=10
y lo otro seria un neutro

con esto podria ser un serial de 20 letras como minimo


saludos e intenta con los pares validos para ver que valor indexan, o suma o resta ahora bien como se que es dificil en el comentario tambien esta para recordar que hace

amm importante que la posicion por el OR no es igual para las mismas letras
pero son tomadas en pares..insisto de a par se puede hacer una tabla en cada posicion (10 posiciones diferentes ) osea 10 tablas
y se tendrian todos los casos validos en caso de

como serial correcto quizas con 1 tabla y basta, pero uno siempre piensa en keygen-

pero como tu dominas mas el tema si suma o baja edx o ebx es solo esa parte de que no querias calcular-- aun como para seguir avanzando

quizas con estos datos ya lo resuelve alguien que este interesado

como para hacer una tabla mas decente, pero de por hecho yo creo que ya con 20 de serial debe ser posible de resolver



se que tu lo haces matematicamente y con sumas y todo

quizas esos 20 puede haber una suma y resta a la misma vez, haciendolo mas pequeño el serial realmente  , porque realmente pasa por el 1ero y despues por el segundo por lo tanto el minimo seria 10 LETRAS..lo MAS PROBABLE


ahora bien mirando el tema para que sea mas facil pues como comentario
Citar
0040169D  |.  83FA 03       |cmp     edx, 3                     ;  definicion de los proximos casos; Switch (cases 0..3)
004016A0  |.  77 19         |ja      short 004016BB
004016A2  |.  FF2495 141740>|jmp     dword ptr [edx*4+401714]
004016A9  |>  83EB 01       |sub     ebx, 1                     ;  case 0 desde 40169D ->acaba de RESTAR 1 en EBX; Case 0 of switch 0040169D
004016AC  |.  EB 0D         |jmp     short 004016BB
004016AE  |>  83EB 1A       |sub     ebx, 1A                    ;  case 1 de 40169d ->acaba de restar 10 en EBX; Case 1 of switch 0040169D
004016B1  |.  EB 08         |jmp     short 004016BB
004016B3  |>  83C3 01       |add     ebx, 1                     ;  caso 3 de 40169d->acaba de Sumar 1 en EBX; Case 3 of switch 0040169D
004016B6  |.  EB 03         |jmp     short 004016BB
004016B8  |>  83C3 1A       |add     ebx, 1A                    ;  caso 2 de 40169d ->acaba de sumar 10 en EBX; Case 2 of switch 0040169D
004016BB  |>  C1EE 02       |shr     esi, 2                     ;  shr esi con 2 ; Default case of switch 0040169D
004016BE  |.  83FE 03       |cmp     esi, 3                     ;  definicion de los proximos casos; Switch (cases 0..3)
004016C1  |.  77 22         |ja      short 004016E5
004016C3  |.  FF24B5 241740>|jmp     dword ptr [esi*4+401724]
004016CA  |>  83EF 01       |sub     edi, 1                     ;  RESTA 1 en EDI; Case 0 of switch 004016BE
004016CD  |.  83C5 01       |add     ebp, 1
004016D0  |.^ EB A0         |jmp     short 00401672
004016D2  |>  83EF 1A       |sub     edi, 1A                    ;  RESTA 10 en EDI; Case 1 of switch 004016BE
004016D5  |.  83C5 01       |add     ebp, 1
004016D8  |.^ EB 98         |jmp     short 00401672
004016DA  |>  83C7 01       |add     edi, 1                     ;  SUMA 1 en EDI; Case 3 of switch 004016BE
004016DD  |.  83C5 01       |add     ebp, 1
004016E0  |.^ EB 90         |jmp     short 00401672
004016E2  |>  83C7 1A       |add     edi, 1A                    ;  SUMA 10 a EDI; Case 2 of switch 004016BE
004016E5  |>  83C5 01       |add     ebp, 1                     ;  EBP CONTADOR; Default case of switch 004016BE
004016E8  |.^ EB 88         \jmp     short 00401672

y eso de los valores de 00 30  00 30 20  como guiandose en los cases, y los pares son para el segundo puntero y el primero
osea uno para guiarse con EBX y otro para EDI

asi que mucho animo y comienza buscando pares de letras con 16 minimo y quizas en 1 dia ya lo tengas listo

solo basta darse un tiempo y terminar de a par saber cuando suma en el primero y cuanto resta en el segundo para cada par de letras
 y evitar ir letra a letra..aunque se que es mas facil aveces esas tablas son bien factibles de enseñar a trabajar..


saludos Apuromafo








pero teniendo una tabla par si suma o resta de forma que sepa si suma o resta, pues ahi creo realmente que se puede dar una coalision con un serial correcto en menos tiempo

antes de jugar con todo , pues baste tener tiempo libre


buenisimo analisis de los registros, supongo que ya estas dominando temas de maquinas virtuales, si no  te animo a que las veas pues es similar a esos calculos de posibilidades..

bueno saludos y espero este mini dato a=10 puede que te sirva a llegar al valor un poco mas rapido
Saludos Apuromafo






no creo que sea por el graan serial
sino por la ruta real que lo determina esto

00401689  |.  8A0F          |mov     cl, byte ptr [edi]
0040168B  |.  0A0B          |or      cl, byte ptr [ebx]
0040168D  |.  F6C1 04       |test    cl, 4

pues es parte de la condicion anterior de los xor 4 y todo eso..


esta es la linea que limita aun mas las rutas y aun sigo viendo si
8 veces las letras EDX
“C”,“G”, “K” ó “O”;
2 veces el caso 3
EDX será 3 con las letras
“D”, “H”, “L”, ó “P”.

6veces el caso 1
ESI=1 con las letras “E”, “F”, “G”, ó “H”;

tendriamos el subconjunto de  letras
CDEFGHKLOP

teniendo un bruteforce de el subconjunto de estas letras, quizas sea posible dar cercano al momento algun serial valido
respetando las condiciones

aunque insisto el analisis que hiciste fue de 1 byte y para resolverlo minimo debe ser de a par porque tendras el serial valido quizas

ahora bien nopeando el lugar dificil solo daria una aproximacion para el serial pero estaria descuadrado, por lo tanto debe ser en PAREs de letras segun tu tutorial


la primera parte para los EDX


edx=0  de 004016BB
resta 1 en EBX
letras “A”, “E”, “I”, ó “M”;

edx=1  de 004016BB
resta 1A
letras “B”, “F”, “J” ó “N”;

EDX=2 de 004016BB
suma 1A
letras “C”,“G”, “K” ó “O”;

EDX=3 de 004016BB
suma 1 EDX
será 3 con las letras “D”, “H”, “L”, ó “P”


y la SEGUNDA PARTE DE LOS ESI

ESI=0  de 004016BE
RESTA 1 en EDI;
 letras “A”, “B”, “C”, ó“D”;

ESI=1
RESTA 10 en EDI
letras “E”, “F”, “G”, ó “H”

 ESI=2
 SUMA 1 en EDI

 letras “I”, “J”, “K”, ó “L”;

 y ESI=3
 SUMA 10 a EDI

 letras “M”, “N”, “O”, ó “P”.

igual podrias postear tu serial de 36 :)

pd: te aseguro que te ira bien, porque si con estas cosas son una buena forma de entender adonde apunta la pila :)

bueno dejo eso a mano por si  alguien no lee el link

solo falta matematicas exactas de poder calcular el serial y que cumpla con la condicion de
00401689  |.  8A0F          |mov     cl, byte ptr [edi]
0040168B  |.  0A0B          |or      cl, byte ptr [ebx]
0040168D  |.  F6C1 04       |test    cl, 4

pues no basta con tener el valor correcto supuesto, si no pasara por la ruta
por eso los valores de a 2 son una buena forma de practicar con los valores o pares de valores y poder seguir la ruta sin problemas de estar peleando o volver al valor anterior

saludos Apuromafo ,voy a dormir, creo que gaste mucho tiempo pensando en posibles bf sin llegar a nada en concreto

pero si como dato

004016EC  |. /EB 02         jmp     short 004016F0
004016EE      6A 00         push    0


eso podria ir a injertarse para verificar cuanto falta en  EBX y en EDI

]004016EE




-me acabo de levantar para hacer mis cosas y para avanzar un poco un mini analisis

para la palabra

ADFJCOBNMC

para EBX

par  AD
resta 1
suma 1

par  FJ
resta 1A
resta 1A

par CO
suma 2A
suma 2A

 par BN
resta 1A
resta 1A

par MC
resta 1
suma 1A

-----------------
creo que se entiende la idea de que estoy haciendo
pff luego de lograr una tabla claramente llego a lo que paso susanalic..

no sirve anotar de a pares lo que importa es la ruta

pero igual llego al mismo pensamiento que es dificil hacer una ruta pequeña
se que hiciste eso
pero para esas letras sean validas en la ruta igual demanda algo mas
saltos posibles son: +1, +1A, -1 ó -1A (+1, -1, +26 ó -26).

+1+1A+1A+1A ->  quizas hubiese alguna variante..



1292  Programación / Ingeniería Inversa / Re: alguien que me ayude para poder hackear este programita en: 22 Agosto 2008, 20:44 pm
b


ueno lee el faq o el indice osea las reglas del foro, ahi sale para orientar un poco cuando preguntes para la segunda vez
ademas incluye algunos escritos y si quieres complementarlo y/o decir si te ha servido
(no solo el copy paste , sino leerlo al final y revisar cada link por link)
tienes de title
alguien que me ayude para poder hackear este programita

no es hackear, esto es un programa comercial seria crack y por lo tanto seria una peticion a crackear un programa, cosa que esta prohibida


te sugiero lo siguiente
coloca alguien me puede ayudar para ver de que se trata?
o algo por el estilo....

bueno saludos

ringo071984
por mucho que aveces uno puede lograrlo porque uno tiene mas interes en el tema que otros, pero de por hecho crackearle el programa no le ayudara en nada , y propiciara al uso de cracks hechos por otros
si encuentras una direccion en particular seria bueno postearla

yo espero que oxhion de a poco aprenda que este programa no necesita hackearse sino crackearse..

y por ende lo que escribe es una peticion de crack casi implicita


/edit  cuando se cambie el titulo y odhin se de cuenta que no es hackear y que debe borrar esto "no puedo hackear " por "no he podido resolver"
 /delete si creen que debe irse el toppic :S , pues odhin no muestra interes en realmente leer o comentar si aun lo esta viendo..
1293  Programación / Ingeniería Inversa / Re: CrackMe05 by x4uth en: 22 Agosto 2008, 20:31 pm
cuando tenga mas tiempo osea mañana, si no esta resuelto pues le echare otra mano, no me resultaba por usar numeros de serie continua quizas o mas bien porque puse apuromafo

y la letra o y u no son  de la A a la P

animo susanalic pues creo que eres capaz de resolverlo antes que yo tome otros 3 minutos para crackear algo

jeje,
pd: yo al dia crackeo 3 minutos y despues sigo estudiando , solo eso gasto al dia para comentar 1 crackme o programa

lo demas es charlas o apoyo, saludos Apuromafo
1294  Programación / Ingeniería Inversa / Re: ayuda en: 22 Agosto 2008, 20:29 pm
pueden haber 2 motivos

1) el editor de vb que usaste quizas no fue el mas indicado
2) la forma de pushear el push ascii o unicode esta mal indexado

te sugiero el escrito de karmany cuando seteaba un puntero por un mini injerto
y si pues comienzas recien, pues te comento que hay programas que por muy decompilados, al recompilar no es lo mismo

te sugiero que investigues con ollydbg en el momento donde esos menus toman vida y veras que quizas en una aparece el push pero no toma por estar 1 valor antes o despues


te sugiero el VBreformer o algo asi hay muchos mas, pero ahora tengo clases y desaparezco un rato, se cuida y saludos
1295  Programación / Ingeniería Inversa / Re: CrackMe05 by x4uth en: 20 Agosto 2008, 03:19 am
jeje bueno solo coloque lo relevante, pues hasta el momento pensabas que nadie miraba tu crackme ni nada

asi que bueno, espero alguien con todas las pistas y con tiempo pues que salga todo :)
saludos Apuromafo
1296  Programación / Ingeniería Inversa / Re: Mi primer crackme, "Renascense" en: 19 Agosto 2008, 22:40 pm
pues bien, pero para postear la solucion correcta solo debes poner tu nombre y serial

y enviarlo a privado, o por aca mismo si no sabes postear por privado, saludos y animo el valor que viste es parte del serial pero debes colocar nombre +serial

saludos

Citar
ejemplo obtuve 25 con el nombre Apuromafo
la solucion seria
Apuromafo y pass 25
saludos
1297  Programación / Ingeniería Inversa / Re: Problemas SEH en: 19 Agosto 2008, 22:30 pm
hay un plugin llamado safe seh (que es para que si tienes que usar un seh seguro pues este plugin te ayuda a encontrar las direcciones)
pero igual el tema es complejo debido a que quizas desconozco de  donde se crean las excepciones, mm te sugiero que investigues las apis de raise exeption y comienzes por ahi, en caso de ser lo que creo, kill user dispach exeption o algo asi

si la idea esta en hacer algo, pues quizas intenta el  IDA para complementar depuraciones.
 que realmente desconozco si maneja mejor las excepciones que el olly, pero siempre dicen que es una buena herramienta
intenta complementar entre los 2
saludos Apuromafo
espero sirva el dato
1298  Programación / Ingeniería Inversa / Re: CrackMe05 by x4uth en: 19 Agosto 2008, 22:09 pm
ni idea del crackme de como terminarlo
pero comenzemos la tarea que han hecho

metodo para mover las letras y guardarlas para uso despues
004017C0   > /8A08          mov     cl, byte ptr [eax]
004017C2   . |83C0 01       add     eax, 1
004017C5   . |84C9          test    cl, cl
004017C7   .^\75 F7         jnz     short 004017C0

Citar
004017C9   .  2BC2          sub     eax, edx
004017CB   .  8BF0          mov     esi, eax
004017CD   .  33D2          xor     edx, edx
004017CF   .  8995 78FFFFFF mov     dword ptr [ebp-88], edx
004017D5   .  85F6          test    esi, esi


Citar
004017D7   .  7E 3A         jle     short 00401813
004017D9   .  8DA424 000000>lea     esp, dword ptr [esp]
004017E0   >  8A4415 84     mov     al, byte ptr [ebp+edx-7C]
004017E4   .  8A4C15 85     mov     cl, byte ptr [ebp+edx-7B]
004017E8   .  32C8          xor     cl, al
004017EA   .  0F94C1        sete    cl
004017ED   .  0AD9          or      bl, cl
004017EF   .  2C 01         sub     al, 1
004017F1   .  884415 84     mov     byte ptr [ebp+edx-7C], al
004017F5   .  3C 4F         cmp     al, 4F
004017F7   .  0F9FC1        setg    cl
004017FA   .  3C 40         cmp     al, 40
004017FC   .  0F9CC0        setl    al
004017FF   .  0AC8          or      cl, al
00401801   .  0AD9          or      bl, cl
00401803   .  83C2 01       add     edx, 1
00401806   .  3BD6          cmp     edx, esi
00401808   .^ 7C D6         jl      short 004017E0
0040180A   .  8995 78FFFFFF mov     dword ptr [ebp-88], edx
00401810   .  885D 83       mov     byte ptr [ebp-7D], bl

Citar
00401813   >  C745 FC 00000>mov     dword ptr [ebp-4], 0
0040181A   .  A1 80544400   mov     eax, dword ptr [445480]
0040181F   .  85C0          test    eax, eax
00401821   .  74 16         je      short 00401839
00401823   .  8038 CC       cmp     byte ptr [eax], 0CC              ;  zona de comprobacion de BP cc->exepcion del bp
00401826   .  75 11         jnz     short 00401839
00401828   .  B9 09000000   mov     ecx, 9
0040182D   .  BE B0874300   mov     esi, 004387B0
00401832   .  8D7D B8       lea     edi, dword ptr [ebp-48]
00401835   .  F3:A5         rep     movs dword ptr es:[edi], dword p>
00401837   .  66:A5         movs    word ptr es:[edi], word ptr [esi>
00401839   >  C745 FC FFFFF>mov     dword ptr [ebp-4], -1
00401840   .  EB 14         jmp     short 00401856




pero si quieren mas pistas que decian pues
00401875   > /80740D B8 49  xor     byte ptr [ebp+ecx-48], 49

el autor dice que el x4 es una pista ahora bien
editar mas de la cuenta o pasarse en algo es sacar fuera de pila


EventType : BEX     P1 : CrackMe05_.exe     P2 : 0.0.0.0     P3 : 47cb408e     
P4 : CrackMe05_.exe     P5 : 0.0.0.0     P6 : 47cb408e     P7 : 000018bc     
P8 : c0000409     P9 : 00000000   

volviendo a lo que estabamos hay unas direcciones apuntadas
0040181A   .  A1 80544400   mov     eax, dword ptr [445480]
ds:[00445480]=7E3E61DC
eax=00000001

sigamos con el tema
References in USER32:.text to 7E3E61DC..7E3E61DC, item 0
 Address=7E3D0612
 Disassembly=call    MessageBoxTimeoutA

apunta a el call message


ahora bien creo que en la zona hacia el chico bueno pasa por aqui y apunta tb a el mismo mensaje

00401617  |.  64:A1 0000000>mov     eax, dword ptr fs:[0]
fs:[00000000]=[7FFDF000]=0012F820
eax=7E3E61DC (USER32.MessageBoxTimeoutA)

ahora siguiendo eso vemos en comparacion con algo extrañisimo si el bl es correcto (obviamente cambiando el flag )

0012F744   0012F714  ASCII "CÜêz^*D"
0012F748   0012F77C  Pointer to next SEH record
0012F74C   00430A6A  SE handler
0012F750   FFFFFFFF
0012F754   0012F7B1  ASCII "012345678/012345678//012345678/012"



y sale un mensaje diferente con un !!! en la parte superior
y corresponde al recurso numero 129 de Dialog

{
  DEFPUSHBUTTON   "Aceptar", 1, 33, 36, 50, 14
  CTEXT   "Invalid Key", 1002, 3, 12, 112, 21
}


por lo tanto debe existir alguna segunda forma

extraño o no pues es lo que hay

ahora bien

por lo tanto a deducir por el trabajo
realiza un xoreo como desencripcion de la rutina y de paso terminar con esto pues sigamos
el algoritmo o como se llame el sistema que creo x4uth pues es un poco complejo de entender pero resalto algo en especial

Citar

004017D9   .  8DA424 000000>lea     esp, dword ptr [esp]
004017E0   >  8A4415 84     mov     al, byte ptr [ebp+edx-7C]
004017E4   .  8A4C15 85     mov     cl, byte ptr [ebp+edx-7B]
004017E8   .  32C8          xor     cl, al
004017EA   .  0F94C1        sete    cl
004017ED   .  0AD9          or      bl, cl
004017EF   .  2C 01         sub     al, 1
004017F1   .  884415 84     mov     byte ptr [ebp+edx-7C], al
004017F5   .  3C 4F         cmp     al, 4F
004017F7   .  0F9FC1        setg    cl
004017FA   .  3C 40         cmp     al, 40
004017FC   .  0F9CC0        setl    al
004017FF   .  0AC8          or      cl, al
00401801   .  0AD9          or      bl, cl
00401803   .  83C2 01       add     edx, 1
00401806   .  3BD6          cmp     edx, esi
00401808   .^ 7C D6         jl      short 004017E0
0040180A   .  8995 78FFFFFF mov     dword ptr [ebp-88], edx
00401810   .  885D 83       mov     byte ptr [ebp-7D], bl

ahora bien que pasa con las zonas normales que he marcado

se nota el uso de variables de valores para xorear

ahora bien si tienes un serial 123456 pues es convertido en 234567 y en algunos espacios puede ser convertido a otra cosa ej // o /





otra cosa que decia solid era evitar el ret
que esta en una sección fuera y fue reservado por
00A40000    C3              retn
00A40001    EB 10           jmp     short 00A40013
00A40003    48              dec     eax
00A40004    4F              dec     edi
00A40005    4C              dec     esp
00A40006    41              inc     ecx
00A40007    0000            add     byte ptr [eax], al
00A40009    68 0300A400     push    0A40003                          ; ASCII "HOLA"
00A4000E    0000            add     byte ptr [eax], al




tambien hay cosas raras como


00401856   > \83C2 F6       add     edx, -0A ->deberia valer 23 para ser valido
00401859   .  83FA 19       cmp     edx, 19
0040185C   .  77 15         ja      short 00401873
0040185E   .  84DB          test    bl, bl

luego de ver que al colocar los 23 que son, pues hay otra comparacion que es el bl que viene del lugar donde hay que entender


ahora bien como resumen
1)hay un mensaje cifrado
2) existe un serial valido
3) hay una comprobacion de 23 de largo
4) hay trucos de estilo VM o maquina virtual
5) hay 2 lugares de comprobacion de bp, una por excepcion y otra por control Seh o similar

6)
el invalid mensaje esta en
00438799  27 3F 28 25 20 2D 69 02 2C 30 49 49 00 00 00 0C  '?(% -i,0II....
004387A9  3B 3B 26 3B 49 49 00 0D 2C 2B 3C 2E 69 10 26 3C  ;;&;II..,+<.i&<
004387B9  3B 3A 2C 25 2F 49 49 00 00 00 00 00              ;:,%/II.....

y bajando encontramos algo quizas relacionado con el serial

Citar
00438989  22 37 36 2F 22 37 2A 2C 2D 30 6F 63 2D 2C 34 63  "76/"7*,-0oc-,4c
00438999  34 31 2A 37 26 63 22 63 37 36 37 2C 31 2A 22 2F  41*7&c"c767,1*"/
004389A9  63 79 07 43 43 00 00 38 AF 43 00 40 19 40 00 E0  cyCC..8¯C.@@.à
004389B9  19 40 00                                         @.


el trozo completo seria asi
Citar
004386F9                                        ....°@.7...............(
00438739  ....@.......é..é..8...@@.........................«C@.‡C.u
00438779  ser32.dll..MessageBoxTimeoutA...'?(% -i,0II....;;&;II..,+<.i&<
004387B9  ;:,%/II........®C.e?@. @.@.8@@.ÿh@.$A.—j@.•K@.•K@.˜K@.0@.æ

004387F9  K@. K@.àK@.Éj@.¦K@.Ÿm@.—j@.—j@.—j@.þh@.r@.Tr@. @.&‡@.°@.œj@.w
00438839  i@.—j@.ª@.‡ª@.Øs@.àm@.Ì@.k@.=k@.Mk@.]k@.~k@.Ÿk@.Àk@.ák@.l@.#
00438879  l@.Dl@.il@.Šl@.šl@.ªl@.Ël@.ìl@.m@.=m@.Um@.rm@.rm@.“m@.F«@.~–@.
004388B9  —@.Wi@.@..@.ð@.?@.Æ@.)j@.s¡@.i@.þh@.ûª@.´B@.•K@.n@.n@.¾
004388F9  >@.Ë>@.à@.ÈG@."H@.²G@.¡E@.@@..?@.1?@.J?@.þh@.À@.msg.,‰C.Ì...ÿ
00438939  ÿ......ì9C.....................8...@......................
00438979  ...«C@.L‰C..,-$1"76/"7*,-0oc-,4c41*7&c"c767,1*"/cyCC..8¯C.@@.à
004389B9  @.@.8@@.ÿh@.$A.—j@.•K@.•K@.˜K@.€@.æK@. K@.àK@.Éj@.¦

claramente se ve la indexacion a la api y parte del trozo


me explico si fuera por cambiar el serial o pass es posible
00438779

pues desde aqui se forma la palabra Invalid
00438789                                              00                 .->I
00438799  27 3F 28 25 20 2D 69 02 2C 30 49 49 00 00 00 0C  '?(% -i,0II....
004387A9  3B 3B 26 3B 49 49 00 0D 2C 2B 3C 2E 69 10 26 3C  ;;&;II..,+<.i&<
004387B9  3B 3A 2C 25 2F 49 49 00 00 00 00 00 00 00 00 10  ;:,%/II........

si cambiamos simplemente a
00438789                                              69                 .->I
00438799  69

00438798    6969 3F 2825202>imul    ebp, dword ptr [ecx+3F], 2D20252>


pues simplemente cambiamos el Invalid a valid y creeriamos por lo menos que esta un poco mas sencillo de lograr que un serial..
apareciendo el mensaje

---------------------------
Error
---------------------------
  valid Key
---------------------------
Aceptar   
---------------------------


jeje saludos es solo para que no se piense que no es posible alterar el mensaje sin serial (quizas eso dira x4uth)

saludos a todos Apuromafo

esto es solo un anexo para evitar que digan, pero si me pierdo, si no hay datos , que no hay trozo donde debo buscar, pues creo que estoy bajo la pista, pero no bajo la huella del serial completo

como bien dije es largo y no tengo tiempo mas que el que ven

asi que saludos, y nos vemos oootro dia


resumen
el objetivo que plantea es dificil a nivel newbie-medio

si fuera de crackearlo y hacer simular algo registrado
pues solo basta editar el recurso
y
jugar con

 00438789                                              69                 .->I
00438799  69

saludos Apuromafo




1299  Programación / Ingeniería Inversa / Re: Perdón por la brutalidad en: 18 Agosto 2008, 20:31 pm
yo tambien pase algo similar, y por eso mismo digo, lee las bases y no tendras problemas de escalar

lo base es para que no te enredes o pierdas mientras estas en el hecho,
saludos y espero vayas mejorando :)
esperamos ver tus escritos sobre cosas mas basicas como aporte asi como lo hizo @mericano, karmany, shaddy y otros mas, que tambien comienzan


yo encuentro que la mejor forma de comenzar no va en el programa sino en la experiencia que ganas

a mi esa experiencia fue suficiente como para analizar un troyano que vivia en mi pc y ningun antivirus lo reconocia, pues la version del windows no existian antivirus

por eso mismo buscaba informacion herramientas y al final terminaba con proyectos interesantes

ejemplo crackear el regedit.exe para que acepte las ramas aunque tenga proteccion de escritura jeje

todo es posible en la ingenieria inversa
recien hoy leia que infectaban musica por medio de codex nuevos de descarga, asi que espero te vaya bien en ese proyecto personal

yo te doy como 1 mes de practica y ya lo tienes derrotado

no desconfio que sepas  , pero si requiere tiempo que el que no tengo, solo vengo siempre de pasada a apoyar un poco, pues esto del cracking lo habia dejado de lado, ahora bien comienzan mis estudios y me desaparezco mas o menos 1 vez por semana para poder revisar los foros, y creeme que son muchos

saludos y animo espero te sirva si necesitas informacion de algunos textos
pues busca en mediafire.com/apuromafo
entra en ingenieria inversa y busca en introduccion al cracking o algo asi le coloque , revisa pues tengo mas o menos ordenado esa parte


y si encuentras algo mas como para agregar como los makkako tutorials o los de +orc o alguno similar me lo envias y lo subo

saludos
1300  Programación / Ingeniería Inversa / Re: Perdón por la brutalidad en: 16 Agosto 2008, 22:27 pm
bueno, te comento que el adobe para activar necesita comprobar un archivo o base de datos en archivos compartidos luego de tener listo el serial

y si esta mal, pues expira inmediatamente y se cierra

el serial solo aparece cuando comienza el programa, y pues comienza diciendo que es trial y tienes tanto tiempo y necesitas activarlo
o bien del menu dice activar

te comento del adobe acrobat cs3 en su tiempo cuando lo mire..

ahora bien contra que debes pelear
1) el gran peso
2) la cantidad de verificaciones de archivos sin echar a perder el programa en si
3) el CRC o comprobacion de integridad
4) el serial que en caso que sea valido, pues hara un envio al servidor , para verificar si es cracked o no

sugerencias
borrar muchos registros y archivos que accedia para volver a tener los 30 dias

cuando ya manejas eso es un poco mas facil comenzar

ahora bien
mi otra sugerencia es que uses los que ya han hecho para aprender de las diferencias

normalmente son xoreados algunos segmentos y los crackean con ese xoreo incluso

es peso pesado, SHADDY tiene mas experiencia con los adobe , no recuerdo si lo habra hecho esa version

por lo demas, pues minimo te digo que tardaras unos 15 minutos ya sabiendo que deberas vencer sin reiniciar ninguna vez

y pues bueno animo, y si es de que si existen cracked, pues si los hay

pero para la nueva version

Citar
Bueno me parecio muy bueno este TEU de CS 3 estan

Adobe?© PhotoShop Extendido CS3
Adobe?© Flash Profesional CS3
Adobe?© DreamWeaver CS3
Adobe?© FireWorks CS3
Adobe?© Illustrator CS3
Adobe?© After Effects CS3
Adobe?© Acrobat Profesional 8
Adobe?© InDesign CS3

Todos en español se lo recomiendo a mi me gusto mucho y su creador es monito

intenta guiarte con esa cita en caso que solo buscabas un crack para guiarte


ahora bien resumen
necesitas ya dominar ingenieria inversa
*necesitas conocer de crc y temas similares, colocar bp en apis de archivos y comprobacion
*tener un buen pc para poder cargarlo ojala sobre 512 de ram o tarjeta grafica


saludos Apuromafo  espero este dato te sea util
aunque yo logre muy poco, no comparto la informacion por ser un programa comercial muy cotizado y creo estar inscrito en adobe como un usuario registrado :S (tienen todos mis datos)

jeje bueno saludos se cuida
y si recien estas comenzando con la ingenieria inversa lee bien esto

http://foro.elhacker.net/ingenieria_inversa/iquesteres_nuevo_en_el_foro_lee_esto-t93855.0.html

Páginas: 1 ... 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 [130] 131 132 133 134 135 136 137 138 139 140 141
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines