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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 26
41  Seguridad Informática / Abril negro / Re: [Abril Negro 2009] Concurso de desarrollo de malware en: 24 Abril 2009, 13:56 pm
Para el proximo año prometo postear alguna herramienta en c#, lamentablemente me entere algo tarde del concurso  ;D

Saludos.
42  Programación / Ingeniería Inversa / Re: WKT VB DECOMPILER (ERRO ... VB DLL) desesperacion ... ;) en: 22 Abril 2009, 03:33 am
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.

43  Programación / Ingeniería Inversa / Re: ¿Alguien me aclara? en: 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.
44  Programación / Ingeniería Inversa / Re: ¿Alguien me aclara? en: 21 Abril 2009, 17: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.

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.
45  Programación / .NET (C#, VB.NET, ASP) / Re: Comunicar PC con PC via internet desde visual c# en: 21 Abril 2009, 16:26 pm
Gracias Meta ahora entendi. si, lo mejor siempre es meter una pc de por medio, mas barato y menos problematico.  ;D
46  Programación / Ingeniería Inversa / Re: ¿Alguien me aclara? en: 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.
47  Programación / Ingeniería Inversa / Re: ¿Alguien me aclara? 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.
48  Programación / Ingeniería Inversa / Re: ¿Alguien me aclara? en: 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

Código:
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;
}
49  Programación / .NET (C#, VB.NET, ASP) / Re: Comunicar PC con PC via internet desde visual c# en: 21 Abril 2009, 02:55 am
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.
50  Programación / Ingeniería Inversa / Re: Sugerencias en: 20 Abril 2009, 17:21 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.
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 26
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines