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 ... 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 [471] 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 ... 620
4701  Programación / Ingeniería Inversa / Re: Ollydbg Error: Unable to locate data in executable file. en: 17 Enero 2013, 21:18 pm
Si estas haciendo un parche, trata de ponerlo lo mas cerca posible del codigo. Si no tienes espacio, puedes agregar una sección nueva al EXE o bien, buscar una "cueva" donde meter el codigo. Por supuesto, si escribes en una sección que no es ejecutable, habra errores, por lo que deberas cambiarla.
4702  Programación / Ingeniería Inversa / Re: Ollydbg Error: Unable to locate data in executable file. en: 17 Enero 2013, 12:49 pm
Ese mensaje sale porque estas tratando de guardar información que no existe en el ejecutable físico.

Las secciones de un ejecutable tienen 2 tamaños: 1 "real" (raw) y 1 virtual. Cuando el EXE está en disco, cada sección ocupa lo especificado en el RAW Size de la sección.

Pero, cuando se lo mapea en memoria, el valor usado es el Virtual Size.

Si agarras cualquier EXE, verás que en la gran mayoría, Virtual Size es mayor que Raw Size.

El problema surge cuando cambias bytes que están fuera de lo abarcado por el Raw Size.

No sé si me he explicado bien, pero por las dudas lee un poco sobre el formato PE y las secciones de un ejecutable.

Saludos!
4703  Programación / Ingeniería Inversa / Re: Crackme v2 (6 en 1) Intenta resolverlos todos en: 17 Enero 2013, 04:29 am
Perdón, pero no me pude contener:

Código:
1) Sacar nag

Cambiar byte de orden de Form (en GUITable)

Intercambiar bytes en offset 17C4h por byte en offset 1814h

2) Enable it

El boton no tiene definida la propiedad enabled en la GUITable. Se le asigna por código.
Hay 2 opciones para activar el boton:
a) Hacer que Enabled reciba TRUE en vez de FALSE.
b) Parchar el form_load para que no se ejecute nada (la propiedad Enabled por default es TRUE)

Por la forma en que está el código, es más sencillo hacer b.

Se ensambla en 405730 un RET (Byte en offset 5730 se pone en C3h)

3) Serial it

Para hallar el serial, ponemos un BP en 405902 (MSVBVM60.__vbaStrCmp), ingresamos un serial y damos "Hit".
Cuando para, vemos que nuestro serial se compara con "melocotón" (sin comillas).

NOTA: En Olly v1.10 no muestra el string en el stack (al menos no ahora :) ) porque tiene problemas para reconocer la "ó" como caracter válido. Basta con hacer "Follow in dump" del valor de ESP y listo.

4) Serial it v2

Igual que antes, ponemos un BP en 405CBA (MSVBVM60.__vbaStrCmp), ingresamos serial y damos "Hit".
Vemos que ESP apunta al string "madantrax " (sin comillas).

5) Serial it v3

Igual que antes, ponemos un BP en 405FE8 (MSVBVM60.__vbaStrCmp), copiamos un serial en el portapapeles (o Clipboard como les guste XD ) y cuando pegamos salta el BP.
Vemos que ESP apunta al string "Nag Screen" (sin comillas).

NOTA: Este string es el Caption de la Nag Screen.

6) Code inyect

Para hacer que sume en vez de restar, cambiamos el "SUB DX, 5" de 4061A7 por un "ADD DX, 5".
Osea cambiar el byte en offset 61A9h a C2h.
4704  Programación / Ingeniería Inversa / Re: Crackme ¿Eres capaz de resolverlo? en: 17 Enero 2013, 03:20 am
Bueno, lo he mirado y está divertido. Lo recomiendo para quienes se están iniciando, como práctica.

Por lo pronto, algunos datos:

1) Para desempacar el exe original, recordar lo básico sobres los EP de los EXEs hechos en VB5/6 (El runtime es la clave para llegar al OEP! (y para restaurarlo)).

2) Una vez desempacado el primero, basta con revisar un poco el código para ver que está sacando el segundo EXE de los recursos. (CUSTOM)

3) Por último, para desempacar el segundo EXE, es sencillo, y la técnica de PUSHAD-POPAD es suficiente (Por cierto, el packer usado es MPRESS: http://www.matcode.com/mpress.htm)

Luego, basta con seguir el código. Para esto, nos podemos valer de VBDecompiler o mejor aún, usar los puntos magicos de VB (en el caso de VB6, hay que buscar F3A5FFD08BE55D8945FC8B45FC5F5EC9C20C00)

Por las dudas, como se dijo antes, se usa StrCmp para comparar el serial cifrado con el serial correcto (cifrado tambien).

La tecnica de encriptacion usada es caesar y se distribuye asi:

abcdefghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz{|}01

Como es evidente, poniendo un BP en msvbvm60.__vbaStrCmp vamos a ver ambos strings y usando el alfabeto anterior sale la password, la cual es: un superhéroe con capa roja.

Como dije antes, está bueno para practicar.

Saludos!

PD: Por las dudas, si alguien lo quiere ver desde cero, dejo referencias sobre VB:

Disassembling Visual Basic Applications por Sanchit Karve
Visual Basic Image Internal Structure Format por Alex Ionescu
Visual Basic Reversed - A decompiling approach por AndreaGeddon
Teorías sobre VB de la web de Ricardo Narvaja (www.ricardonarvaja.info)
-Teoría 011-Olly y Visual Basic por COCO
-Teoría 012-Olly y Visual Basic 2 por COCO
-Teoría 061-Olly y Visual Basic 3 por COCO
-Teoría 190-Olly y Visual Basic 4 por COCO
-Teoría 235-Punto Magico VB6 por ARAPUMK
-Teoría 236-Punto MagicoII VB6 por ARAPUMK
-Teoría 242-OEP en VB por ARAPUMK
4705  Programación / Ingeniería Inversa / Re: Crackme ¿Eres capaz de resolverlo? en: 16 Enero 2013, 18:58 pm
Esta noche, si hago tiempo, lo bajo y lo miro a ver que tal...

Saludos!
4706  Programación / Programación Visual Basic / Re: SendKeys CONSULTA en: 16 Enero 2013, 18:55 pm
Algo así. La idea seria iniciar un juego y ver las paginas que carga el navegador, el contenido de la memoria (deberas correr el navegador con un debugger), etc.

Al menos, asi lo encararia, aunque admito que lo primero que haria es buscar si ya alguien no ha hecho algo parecido...  :P

Saludos!
4707  Programación / Programación Visual Basic / Re: SendKeys CONSULTA en: 16 Enero 2013, 03:45 am
Bueno, creo que lo primero que habría que hacer es examinar la pagina web que corre el juego, buscando información que permita automatizar el envío de teclas...
4708  Programación / Programación Visual Basic / Re: SendKeys CONSULTA en: 16 Enero 2013, 02:19 am
Y la CONSULTA es... ? Cómo haces para mejorar tu método? Cómo hacerlo de otra forma? Cuál es?
4709  Foros Generales / Foro Libre / Re: ¿Cuantos años teneis? en: 15 Enero 2013, 23:04 pm
1) Cotilla: En el siglo XIX, la mujer usaba una cotilla apretada bajo el vestido.
2) Cotilla: Mi vecino es un cotilla, un chismoso incurable.

Asumo que es la opción 2...  :xD
4710  Programación / Programación Visual Basic / Re: pequeñisima duda hex en: 15 Enero 2013, 23:02 pm
Lee la parte de caracteres imprimibles: http://es.wikipedia.org/wiki/ASCII

Si no lees, no puedes aprender.

Saludos!
Páginas: 1 ... 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 [471] 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 ... 620
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines