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 - KJD

#41
Porque la gente no escribe normal, con comas, puntos y saltos de linea, no es por mal, pero escribe mejor, nos facilita las cosas.

Como dije antes, no creo que sea una herramienta anti-cracking a menos que cuando ejecutes estas herramientas tengas corriendo algun programa protegido con gameguard, que supongo es imposible.

Segundo, si tienes alguna aplicacion en vb abierta mientras usas el WKT no podras usarlo te dara el error de las dlls.

Si sigues sin poder hacer nada, o bien montas una pc virtual o formateas la PC.

#42
Ingeniería Inversa / Re: ¿Alguien me aclara?
22 Abril 2009, 03:25 AM
Pues si es asi, diferencia que tienes con el programa activado y que es lo que no tienes con el no activado  ;D

Y dado estas diferencias busca como activarlas, saltearlas, matarlas o modificarlas.

Saludos.
#43
Ingeniería Inversa / Re: ¿Alguien me aclara?
21 Abril 2009, 17:11 PM
Cita de: AmeRiK@nO en 21 Abril 2009, 16:51 PM
Cita de: KJD en 21 Abril 2009, 13:11 PM
Otra cosa que me olvidaba, si cambias el

while ((index <= 7)); por  while ((True));  y el if ((buffer(index) != claves(index)))  por if ((True)) el programa ya esta crackeado siempre y cuando el programa no tenga mas chekeos.

A caso while(true) no es un bucle infinito??, cuando terminaria??  :)

salu2

:rolleyes: todavía estoy dormido.

Cita de: catalinilla en 21 Abril 2009, 16:23 PM
Hola muchas gracias otra vez por la gran ayuda que me estas prestando, verás te cuento:
El programa en cuestión tiene una pantalla con un numero de seriede de 10 digitos y debajo el nombre del programa que yo he sustituido por xxxxx y al lado 8 casillas diferentes para introducir unos numeros en cada una,
debajo un modulo que yo he puesto x1x1x1x con otras 8 casillas y debajo otro modulo x2x2x2x con otras 8 y un pequeño cuadradito que hay que marcar si no se tiene pastilla . Mas abajo un boton que comprueba los numeros que hemos introducido que se supone que van en funcion del numero de serie que aparece, pues bien esto es lo que hace cuando damos a dicho botón:

Catalinilla, el codigo que pusiste confirmo mi supocicion, este programa usa una mochila USB HardKeyStd. Este sistema de proteccion interactua directamente con un dispositivo USB conectado a la pc que hace de llave para que el programa sea registrado (si no es asi que me corrigan pls).

Igualmente, en esta porcion de codigo no tiene una llamada a  ComprueboClavesHARDKeySTD, puede ser que no sea esa la rutina de registro.

Lo Unico que parece que valida o no el serial es hardlock.CheckRealidadVirtual, pero me parece que es una api del sistema de proteccion o una rutina. Fijate si aparece por algun lado que hay dentro de ahi, sino, no podras hacer un keygen.

Si alguien ve algo mas que diga.
#44
Gracias Meta ahora entendi. si, lo mejor siempre es meter una pc de por medio, mas barato y menos problematico.  ;D
#45
Ingeniería Inversa / Re: ¿Alguien me aclara?
21 Abril 2009, 14:58 PM
Bueno, entoces:

la funcion private bool ComprueboClavesHARDKeySTD ingresa con 4 valores

byte[] valores,
byte[] claves,
int Lote,
int Serie;

Primero tendrias que ver que valores toman estas variables, si son fijos o dependen del hard que tengas instalado. Por ejemplo, me parece que la variable "claves" toma el valor del serial ingresado.

Trata de encontrar de donde provienen estas variables, osea que funcion las llama y que valor les asigna.

Despues es solo implementar la misma funcion que tienes y mostrar el valor de Buffer que es donde se guarda el serial valido y listo.

Postea las demas secciones de codigo y te sigo ayudando.

Saludos.
#46
Ingeniería Inversa / Re: ¿Alguien me aclara?
21 Abril 2009, 13:11 PM
Otra cosa que me olvidaba, si cambias el

while ((index <= 7)); por  while ((True));  y el if ((buffer(index) != claves(index)))  por if ((True)) el programa ya esta crackeado siempre y cuando el programa no tenga mas chekeos.
#47
Ingeniería Inversa / Re: ¿Alguien me aclara?
21 Abril 2009, 12:56 PM
Pues tienes suerte de que pudieses decompilarlo, un consejo que te doy, es que empiezes a buscar en el MSDN de microsoft, que hace cada funcion y veas que arroja como resultado. Otra cosa que podrias hacer es crear con el Visual Studio un proyecto, pegar el codigo, que luego tendras que arreglar, y tracearlo haber que es lo que va pasando con las diferentes variables.

PD: Te dejo el codigo en c# del mismo codigo que posteaste tu por si sabes c++ o c#, para entenderlo mejor

private bool ComprueboClavesHARDKeySTD(byte[] valores, byte[] claves, int Lote, int Serie)
{
    int num3 = valores(3);
    int num4 = valores(7);
    int num5 = (((num3 + num4) * num3) + num4);
    int num = (int)Math.Round(Conversion.Val(Strings.Mid(Serie.ToString, 1, 3)));
    int num2 = (int)Math.Round(Conversion.Val(Strings.Right(Serie.ToString, 2)));
    Serie = (int)Math.Round(Conversion.Fix(Math.Abs((double)((double)(Serie * num2) / (double)num))));
    int num6 = (int)Math.Round(Math.Abs((double)((double)(((num5 + Lote) + Serie) * Serie) / 30)));
    while ((num6 > 0x2710)) {
        num6 = (int)Math.Round(Conversion.Fix((double)((double)num6 / 2)));
    }
    byte[] buffer = new byte[8];
    try {
        buffer(0) = this.ObtengoByte((int)Math.Round(Conversion.Fix((double)(((double)num6 / (double)valores(0)) + 1))));
        buffer(1) = this.ObtengoByte((int)Math.Round(Conversion.Fix((double)(((double)num6 / (double)valores(1)) + 2))));
        buffer(2) = this.ObtengoByte((int)Math.Round(Conversion.Fix((double)(((double)num6 / (double)valores(2)) + 4))));
        buffer(3) = this.ObtengoByte((int)Math.Round(Conversion.Fix((double)(((double)num6 / (double)num3) + 8))));
        buffer(4) = this.ObtengoByte((int)Math.Round(Conversion.Fix((double)(((double)num6 / (double)valores(4)) + 16))));
        buffer(5) = this.ObtengoByte((int)Math.Round(Conversion.Fix((double)(((double)num6 / (double)valores(5)) + 32))));
        buffer(6) = this.ObtengoByte((int)Math.Round(Conversion.Fix((double)(((double)num6 / (double)valores(6)) + 64))));
        buffer(7) = this.ObtengoByte((int)Math.Round(Conversion.Fix((double)(((double)num6 / (double)num4) + 128))));
    }
    catch (Exception exception1) {
        ProjectData.SetProjectError(exception1);
        Exception exception = exception1;
        this.CodigoError = 0x2710;
        ProjectData.ClearProjectError();
        return false;
    }
    int index = 0;
    do {
        if ((buffer(index) != claves(index))) {
            this.CodigoError = 0x378;
            return false;
        }
        index += 1;
    }
    while ((index <= 7));
    return true;
}
#48
bueno si, ovbio que la placa tiene que  ser ethernet  ;D, pero talvez no me exprese bien, lo que quise decir es si al pic se le conecta directamente la ficha ethernet o al pic se lo conecta a una placa de red ethernet comercial y de ahi se controla.
#49
Ingeniería Inversa / Re: Sugerencias
20 Abril 2009, 17:21 PM
Cita de: Gabeznico en 11 Abril 2009, 06:22 AM
Cita de: zart en  9 Enero 2009, 14:04 PM
Podriamos comentar hilos interesantes de foros "importantes" en inglés de temas interesates? O comentar también nosotos los nuestros.

Yo he visto y se me ocurren varios del tipo

-¿Qué protector es el mejor para ti de todos los que hay?
-¿Es todo crackeable o hay algo incrackeable? (Lo correcto sería decir craqueable pero para que se entienda mejor xD)
-¿Cual seria la protección perfecta?
-¿Queda algo por hacer en el mundo de la protección de software O está ya todo inventado y todo lo que hay es un reinvento una y otra vez de la rueda?
-¿Ha desaparecido la scene como tal (Me refiero a la investigación no a 0days)? y ahora solo hay más que lammers pidiendo cracks,etc.
-¿Por qué desde a algún tiempo hasta ahora hay esa moda de no compartir información y conocimientos con los demas?
-¿Qué es mejor; Un protector basado en protección ring0 o uno basado en ring3?

etc,etc

A ver que le parece a la peña! xD

Con respecto a la pregunta de si hay algo incrackeable: Hecha la ley, hecha la trampa ::)
Te doy un ejemplo, se prometio que la PSP sería totalmente incrackeable...  ;-)
al rato dark_alex desencriptó todo el XMB :laugh:
Atari con su nuevo TPM (Trusted Platform Module) cree que dejara a muchos hackers de cara  >:(  :xD
Te explico amigo, cuanto mayor sea el reto para el programador, mayor motivado estará y seguramente superará hasta lo "imposible" para dar con su cometido.
NADA!, y repito, nada es incrackeable :)

Con respecto a Atari, no se si sabian, pero tuvieron que hacer un convenio con Razor1911 para que no saquen el crack del Riddick antes del 24 de abril para que puedan vender algunas licencias y no fundirce y en teoria el DRM era incrackeable.
#50
Gente bastante interesante los proyectos, sobre todo lo de el pic directamente a la ethernet, o eso entendi, ahora se puede conectar el pic directamente a la ethernet, o se tiene que acoplar a una tarjeta de red como vi en algunos lados???


urban fury, pudiste con el programa??? si no le encontras solucion postea los codigos que tengas y le echo un vistazo.

Meta, lo mismo para ti, que problemas tienes con tu aplicacion???

Saludos.