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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 69
301  Programación / Ingeniería Inversa / Re: Ayuda con crack en: 17 Junio 2008, 09:32 am
Es fácil, si te das cuenta el mismo dialogo que te pide el password se encuentra aquí:

00455A93  |.  FF53 28       call ds:[ebx+28]

¿como lo encontramos?, pues yo por ejemplo cuando aparece, paro el flujo directamente (F12), y luego voy retornando hasta ver el bucle de la ventana (en este caso por ser delphi es fácilmente reconocible).

Citar
004487E1  |> /8B03          /mov eax,ds:[ebx]
004487E3  |. |E8 D42D0000   |call Rubik.0044B5BC
004487E8  |. |8B03          |mov eax,ds:[ebx]
004487EA  |. |80B8 8C000000>|cmp byte ptr ds:[eax+8C],0
004487F1  |. |74 0F         |je short Rubik.00448802
004487F3  |. |8B45 FC       |mov eax,[local.1]
004487F6  |. |C780 34020000>|mov dword ptr ds:[eax+234],2
00448800  |. |EB 14         |jmp short Rubik.00448816
00448802  |> |8B45 FC       |mov eax,[local.1]
00448805  |. |83B8 34020000>|cmp dword ptr ds:[eax+234],0
0044880C  |. |74 08         |je short Rubik.00448816
0044880E  |. |8B45 FC       |mov eax,[local.1]
00448811  |. |E8 26FDFFFF   |call Rubik.0044853C
00448816  |> |8B45 FC       |mov eax,[local.1]
00448819  |. |8B80 34020000 |mov eax,ds:[eax+234]
0044881F  |. |85C0          |test eax,eax
00448821  |.^\74 BE         \je short Rubik.004487E1

entonces metes un BP justo debajo del JE y parará cuando termines con la ventana.. de ésta manera irás retornando hasta llegar justo debajo del CALL que te dije.

Entonces si te fijas ves que hay varias comparaciones:

Citar
00455A69  |.  807B 30 00    cmp byte ptr ds:[ebx+30],0
00455A6D  |.  74 43         je short Rubik.00455AB2
00455A6F  |.  F643 20 10    test byte ptr ds:[ebx+20],10
00455A73  |.  75 21         jnz short Rubik.00455A96
00455A75      807B 26 00    cmp byte ptr ds:[ebx+26],0
00455A79  |.  75 1B         jnz short Rubik.00455A96
00455A7B  |.  66:837B 2A 00 cmp word ptr ds:[ebx+2A],0
00455A80  |.  74 14         je short Rubik.00455A96

tomando como referencia ésta:

00455A75      807B 26 00    cmp byte ptr ds:[ebx+26],0

pones un BP ahi reinicias y verás que compara un solo byte de una direccion. Que si le metes un HBP on access al inicio te darás cuenta que hay una línea que mueve un 00 al principio y le pones un 1 y queda registrado..

otra manera de llegar sería:

Citar
0049765C      8078 26 00    cmp byte ptr ds:[eax+26],0
00497660  |.  75 5F         jnz short Rubik.004976C1
00497662  |.  8D55 E8       lea edx,[local.6]
00497665  |.  A1 F4C04900   mov eax,ds:[49C0F4]
0049766A  |.  E8 915DF9FF   call Rubik.0042D400
0049766F  |.  8D45 E8       lea eax,[local.6]
00497672  |.  BA E8784900   mov edx,Rubik.004978E8                   ;  ASCII "  *UNREGISTERED*"

ahi se hace la misma comparacion.


Salu2..



302  Programación / Ingeniería Inversa / Re: Ayuda con crack en: 17 Junio 2008, 01:15 am
joer, pero si es el byte ese XD, pro no se porque lo pone a 0 xD, mañana lo miro, pro amos, los cambios esos son pa lo mismo al fin y al cabo :).

Salu2..
303  Programación / Ingeniería Inversa / Re: Ayuda con crack en: 16 Junio 2008, 21:53 pm
Bueno como vi que dijiste que no te hacían caso, lo miré por encima, no os centréis siempre en la verificación de User & Pass, cualquier tipo de limitación es condicionada... prueba dejando esto así:

00455A20      C646 26 01    mov byte ptr ds:[esi+26],1

con ese byte registras el programa.

Salu2..
304  Programación / Ingeniería Inversa / Re: Crackmes para novatos en: 16 Junio 2008, 21:43 pm
Que manía tenéis con el VB... el VB nunca son casos reales, probad con c, delphi o asm..
305  Programación / Ingeniería Inversa / Re: Ayuda con crack en: 16 Junio 2008, 21:43 pm
GetTickCount simplemente te da el tiempo trascurrido desde que se inició windows, y se utiliza para generar valores aleatorios, como muchas API... Así que dudo que esa tenga que ver mucho en un número de serie.

Salu2..
306  Programación / Ingeniería Inversa / Re: Ayuda VBasic+olly+serial!!! en: 11 Junio 2008, 08:47 am
bueno, si no sabes mucho de VB te recomiendo el VB Decompiler Pro.

Salu2..
307  Programación / Ingeniería Inversa / Re: Decompilar Ejecutable para obtener codigo fuente en: 9 Junio 2008, 13:32 pm
decompilar y compilar no es realmente posible, solamente una orientación y si quieres lo haces a mano, pero un programa que lo haga, al menos que yo sepa, de momento no existe.

Salu2...
308  Programación / Ingeniería Inversa / Re: JECXZ y JCXZ en: 30 Mayo 2008, 09:21 am
hola, no encuentro un foro de assembler, supongo este ser el mejor.

consulto OPCODES de hutch y me dice que ambas son 1Byte

programo y tengo problemas: JCXZ y JECXZ deberian ser identicas

pues no, JCXZ ocupa 2Bytes

¿error del compilador?

saludos



y bueno, si, jcxz ocupa 2 bytes.

Citar
The JECXZ and JCXZ instructions differs from the other Jcc instructions because they do not check the status flags. Instead they check the contents of the ECX and CX registers, respectively, for 0. Either the CX or ECX register is chosen according to the address-size attribute. These instructions are useful at the beginning of a conditional loop that terminates with a conditional loop instruction (such as LOOPNE). They prevent entering the loop when the ECX or CX register is equal to 0, which would cause the loop to execute 2 32 or 64K times, respectively, instead of zero times.

All conditional jumps are converted to code fetches of one or two cache lines, regardless of jump address or cacheability.
Operands    Bytes    Clocks
near8    2    1    PV
near16    3    1    PV

Fuente: http://jsimlo.sk/docs/cpu/index.php/jcxz.html

Será un error de hutch, porque el opcode de JCXZ es "67 E3" y el de JECXZ es "E3".

Salu2..
309  Programación / Ingeniería Inversa / Re: configurar ollydbg en: 29 Mayo 2008, 22:50 pm
Le das al boton derecho en la ventana de desensamblado por ejemplo, y vas a "Appearance - Highlighting (o algo así xd) - Christmas All.

Aunque lo puedes poner tu a tu gusto.

Salu2...
310  Programación / Ingeniería Inversa / Re: Como modificar una palabra por otra mas larga en V Basic en: 26 Mayo 2008, 23:26 pm
Bueno, ten en cuenta que es el compilador el que asigna según el tamaño de la variable los espacios de las secciones así como de todo el código. Quiero decir que o te haces un injerto o añadir será algo bastante complicado.

Salu2..
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 69
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines