Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MCKSys Argentina

#4211
Perdón, pero no me pude contener:


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.
#4212
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
#4213
Esta noche, si hago tiempo, lo bajo y lo miro a ver que tal...

Saludos!
#4214
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!
#4215
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...
#4216
Y la CONSULTA es... ? Cómo haces para mejorar tu método? Cómo hacerlo de otra forma? Cuál es?
#4217
Foro Libre / Re: ¿Cuantos años teneis?
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
#4218
Lee la parte de caracteres imprimibles: http://es.wikipedia.org/wiki/ASCII

Si no lees, no puedes aprender.

Saludos!
#4219
Comparandolos.

En el bucle del ejemplo:

Código (vb) [Seleccionar]

dim i as long
dim j as long

for j = 1 to len(text1.text)
  i = j + 1846823
  if asc(mid(text1.text, j, 1)) = 32 then
    bytearray(i) = 0
  else
    bytearray(i) = asc(mid(text1.text, j, 1))
  end if
next j
#4220
Cita de: Danyfirex en 15 Enero 2013, 19:34 PM
Lo se  :P.

igual gracias por aclarar.

La aclaracion era para asdexiva

:xD

Saludos!