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

#4521
Ingeniería Inversa / Re: KeygenMe01 - C++
20 Julio 2012, 02:02 AM
La comprobacion del serial esta mal. Si ingresas un UserName de 3 caracteres (por ej. abc), el calculo se hace en forma incorrecta.

En esta parte:


00401579    C745 84 00000000        MOV DWORD PTR SS:[EBP-7C],0
00401580    8B45 84                 /MOV EAX,DWORD PTR SS:[EBP-7C]
00401583    3B45 9C                 |CMP EAX,DWORD PTR SS:[EBP-64]
00401586    7D 27                   |JGE SHORT KeygenMe.004015AF
00401588    8D45 F8                 |LEA EAX,DWORD PTR SS:[EBP-8]
0040158B    0345 84                 |ADD EAX,DWORD PTR SS:[EBP-7C]
0040158E    83E8 10                 |SUB EAX,10
00401591    0FBE10                  |MOVSX EDX,BYTE PTR DS:[EAX]
00401594    8D45 F8                 |LEA EAX,DWORD PTR SS:[EBP-8]
00401597    0345 84                 |ADD EAX,DWORD PTR SS:[EBP-7C]
0040159A    83E8 0E                 |SUB EAX,0E
0040159D    0FBE00                  |MOVSX EAX,BYTE PTR DS:[EAX]
004015A0    31D0                    |XOR EAX,EDX
004015A2    83C0 09                 |ADD EAX,9
004015A5    8945 94                 |MOV DWORD PTR SS:[EBP-6C],EAX
004015A8    8D45 84                 |LEA EAX,DWORD PTR SS:[EBP-7C]
004015AB    FF00                    |INC DWORD PTR DS:[EAX]
004015AD  ^ EB D1                   \JMP SHORT KeygenMe.00401580


Aqui se calcula un DWORD que despues sera usado para XORear.

En resumen, despues de ejecutar el bucle, lo que hace esto es:

xordw2 = (username[2] xor username[4]) + 9

Como ven, si el Username tiene 3 chars, entonces username[4] lee un byte de afuera del string.

En resumen, el serial se calcularia asi:

xordw1 = username[3] + 02Dh
xordw2 = (username[3] xor username[5]) + 9
xordw3 = (xordw2 xor xordw1) + 7
xordw4 = (xordw3 xor xordw2) + 019h

serial = xordw3 + xordw4 + 02Dh

Pero bueno, calculo que se podria hacer un keygen para Usernames ede largo 4 a 10...  ;D

Saludos!
#4522
Ingeniería Inversa / Re: KeygenMe01 - C++
19 Julio 2012, 23:47 PM
MCKSys
353
:P

PD: Si hago tiempo, sale keygen...
#4523
Ingeniería Inversa / Re: Generar clave
17 Julio 2012, 18:06 PM
Si mis ojos no me engañan, s no se usa en el codigo.

Ademas, calcular s1 en base a este codigo es muy sencillo.

Estudia el codigo. Miralo por partes. Cuando comprendas que es lo que hace cada parte del programa, podras invertirlo y asi podras calcular el string...

#4524
Si la funciones se acceden desde menues, puedes deshabilitarlos.

Si tiene toolbar y menu, deberas buscar la funcion que llaman c/u y colocarle un RET, NOPearla o modificarla para que salga sin hacer nada.

Esto siempre depende del programa (lenguaje, etc). Digo, para evitar crashes y demas yerbas...
#4525
Ingeniería Inversa / Re: Debugger linux.
10 Julio 2012, 21:04 PM
Cita de: daniyo en  8 Julio 2012, 15:24 PM
Instalando edb, en una pagina web lei que existia un paquete de edb, asi que solo habia que usar sudo apt-get install edb en la terminal, ejecute el comando y se instalo en mi ordenador el GNU Emacs 23. ¿Alguien sabe por que?

Quizas por dependencias?

Otro tema: Probaste con gdb? :http://sources.redhat.com/gdb/

No solo es un excelente dbg, sino tambien tiene varios GUIs con los que los puedes usar:

www.gnu.org/software/ddd/
www.kdbg.org/
http://sources.redhat.com/insight/faq.php

Saludos!
#4526
No es un ejecutable. Como te dije antes, analiza el programa. Si es un file de Cryptkey vas a tener que trabajar bastante, pero no es imposible...

Saludos!
#4527
Normalmente los sys son ejecutables. Este no es el caso.

Para saber que tiene dentro, vas a tener que analizar el programa que lo abre y lo decodifica...

Saludos!
#4528
Analizando el codigo del proggie...

Debes aprender que hace cada API y que devuelve. Asi podras saber cuando recupera el largo del serial ingresado y lo compara con el correcto.

Aunque hay muchas veces en que el largo no es tenido en cuenta, o bien, es comprobado sin necesidad de usar las API "standard" para hacer el trabajo.

Debes analizar el codigo siguiente a la API.
#4529
Si pones un BP en la sección de codigo, al momento de escribir deberia saltar.

Si salta antes de que puedas escribir algo, quizas este usando Timers. Busca la funcion SetTimer y ponle un BP. Reinicia el proggie y fijate que funcion es el callback del timer. Ahi ya puedes ver la funcion y verificar que esta haciendo con el texto...

Tambien puedes probar con GetDlgItemTextA, GetDlgItemInt, GetWindowTextA, etc...

Saludos!
#4530
Ingeniería Inversa / Re: Sistema Holistor
28 Junio 2012, 20:19 PM
El tutorial fue bajado de la web de Ricardo para evitar problemas legales.

Te dejo un link para que lo bajes: http://freakshare.com/files/q2ihaoqj/Tut07_Emulando_HARDKey_Discovery_3_40_SP1_por_MCKSys.rar.html

Saludos!