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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10
11  Programación / .NET (C#, VB.NET, ASP) / Enviar click a ventana externa (de forma especial) en: 25 Enero 2014, 14:04 pm
Hola hackeros! xd

Pues veréis, le he puesto ese título al tema porque no sabía muy bien como describirlo de forma corta jeje.
El tema es que quería haceros una pregunta, para ver si eso sería posible, o si por el contrario (que será lo más seguro) es imposible. El tema es que quiero mandar clicks continuos al control de una ventana externa a mi aplicación, pero claro, aquí viene lo "especial", querría que la ventana no se inmutara ante ello, es decir que el control que recibe el click actúe pero que por ejemplo pueda arrastrar la ventana.

Lo estoy haciendo de esta manera:

Código
  1. public static void EnviarClic(IntPtr handle, int x, int y)
  2.        {
  3.            SendMessage(handle, 0x0201, new IntPtr(1), new IntPtr(y * 0x10000 + x));
  4.            SendMessage(handle, 0x0202, new IntPtr(1), new IntPtr(y * 0x10000 + x));
  5.        }
  6.  

pero claro, si me pongo a dragear la ventana, en el momento que le llega el click me la suelta. A ver si me podéis echar un cable, como siempre ;)

Un saludo!!!
12  Programación / .NET (C#, VB.NET, ASP) / Re: Sistema de login muy seguro en: 24 Octubre 2013, 14:56 pm
Por no hablar que una protección por HWID limita al usuario y le da problemas si se actualiza su PC, cambia de disco, formatea o compra más memoria RAM por ejemplo.

Yo creo que partiendo del punto en que no hay ninguna protección incrackeable, lo mejor es buscar una protección que combine una alta seguridad y tengo un impacto mínimo en el usuario y en la compañía.

(Un servidor de licencias + comprobación por HWID tienen impacto grande sobre la empresa y usuario final, como ya expliqué)

Pero es que eso también depende, depende de la difusión que le vayas a dar al programa. Por ejemplo, yo lo quiero para un programa que no voy a comercializar de forma pública, sino a unas pocas personas de forma privada, pero que no puedo permitir que entre esas personas se lo intercambien, ya que la idea es cobrar a cada una de ellas una cantidad X. E incluso podría darse el caso de cobrarles por períodos de tiempo, lo cual me haría necesario incluso comprobar la fecha de algún servidor...
Es decir, que tampoco me sería muy complicado hacer diferentes códigos para cada HWID, aunque este cambie en un momento determinado, pero está claro que si lo que se intenta hacer es un programa público y comercial, sería algo inviable claro...
13  Programación / .NET (C#, VB.NET, ASP) / Re: Sistema de login muy seguro en: 24 Octubre 2013, 13:43 pm
Es como si el administrador de una web se pone la contraseña más difícil del mundo, pero viene un listo y se la saca del auto-guardado de su navegador.

Y claro, si tienes el HWID de un usuario legítimo, está claro que podrás descifrar el programa.Claro, pero es que si tienes que robarme mi HWID, no puedes, a menos que me metas un virus (que tampoco es fácil) y me robes el HWID.
De otra manera, no sabes dónde vivo, no sabes la contraseña de mi red (y no la vas a encontrar, uso WPA2 con una contraseña jodida), no sabes qué ordenador (y cuándo) usará el programa...Claro que no hay nada que no se pueda crackear.
Pero si se cifra el software y sólo yo (por ejemplo, claro) puedo usarlo, a menos que te conectes a mi red (y me snifees mientras uso el programa) o me metas un troyano, no podrás descifrar el archivo en menos de 1.000.000 años con un PC de los más potentes que existen. :P

Y para el colmo, si queréis que sea más seguro, podéis implementar un sistema PGP para que la clave no se pueda sniffear.
Así, sólo se podría obtener el archivo descifrado con un troyano / acceso directo a un PC con un HWID válido.

Claro, pero es que otros usuarios a los cuales les de permiso (o les venda) mi programa podrán pasar su HWID a otros para que lo crackeen, o crackearlo ellos mismos, así es que eso no sirve de mucho...
14  Programación / .NET (C#, VB.NET, ASP) / Re: Sistema de login muy seguro en: 22 Octubre 2013, 01:15 am
Cito de una respuesta que me dieron en otro hilo de este foro, y que es bastante interesante, eso si, parece que tiene su complejidad, sobre todo en cuanto a la carga dinámica de la dll.

Si te logeas contra un server, podrias hacer que el proggie use una DLL que este solo en el server y que se envie al user al loguearse. La DLL no deberia escribirse en disco, sino cargarse dinamicamente. Con ya te sacas de encima a varios...  :P

Para el login podrias usar un hashing tipo sha256, haciendo que el sistema sea mas seguro.

Puedes usar la MAC address, serial del disco, CPUID, etc, etc.

Por supuesto, en .NET deberas usar algo mas que ofuscacion y ademas, para hacer la proteccion "bien jodida" deberías implementar checkeos aleatorios y aislados dentro del codigo, para verificar la autenticidad de user.

El nivel de protección aumentará proporcionalmente al tiempo que le dediques a la misma.

Saludos!
15  Programación / .NET (C#, VB.NET, ASP) / Re: Sistema de login muy seguro en: 19 Octubre 2013, 23:38 pm
Pues yo tengo una solución verdaderamente segura, con la que es 99.9% imposible crackear tu aplicación.

Primero: encriptas el .exe compilado de tu programa con algún cifrado con contraseña (tipo AES, así, el archivo varía según la contraseña, por lo tanto, es imposible recuperar el archivo original sin esa contraseña)

Luego, creas un "loader" que se encargará de enviar el Hardware ID (HWID) al servidor.
En el servidor, compruebas que el HWID esté en la base de datos. Si lo está, envías la contraseña al cliente para que desencripte el programa original y se pueda ejecutar. Si no es un HWID que esté en tu base de datos de HWIDs válidos, envías una contraseña aleatoria y el archivo no podrá ser descifrado.

Esto es imposible de crackear (eso sí, si la contraseña es 12345, no esperes que dure mucho). Si pones una contraseña larga y jodida, nadie podrá jamás ejecutar ese código, ya que, para bruteforcear eso, necesitas muchísimos años de crackeo.

No tiene mala pinta lo que planteas, bueno, en general lo que planteáis todos está bien.
Pero, en cuanto a tu método, que me dices si lo que se crackea es el loader, de tal mantera que el HWID que es enviado al servidor sea un HWID perteneciente al de otro usuario, bien crackeando la obtención de este HWID o bien crackeando el HWID que se le envía al servidor.
Que opinas de eso?
Gracias por las respuestas a todos ;)
16  Programación / .NET (C#, VB.NET, ASP) / Re: Sistema de login muy seguro en: 10 Octubre 2013, 21:59 pm
Claro que la comprobación de credenciales la haces en el lado del servidor, pero luego le tendrás que responder al cliente con algo, no? con una aceptación o con algo, y eso es lo que digo que pueden crackear, esa respuesta xd
17  Programación / Ingeniería Inversa / Re: Sistema de login muy seguro en: 26 Septiembre 2013, 19:09 pm
Ok perfecto, muchísimas gracias ;)

En cuanto a lo de la carga dinámica de la dll, parece interesante, pero también parece bastante complicado.
Exactamente que podría hacer esa dll? contener parte de la comprobación de credenciales?

Algo que también he pensado, y que podría estar bien sería hacer otro programita a parte que funcione como de logger únicamente y que este reciba la dll, la cual sea usada para lanzar el programa principal.
Porque también cuento con otra ventaja, y es que podría hacer programitas personalizados y dlls personalizadas para cada usuario del programa, ya que no sería un programa para mucha gente.
18  Programación / Ingeniería Inversa / Sistema de login muy seguro en: 26 Septiembre 2013, 14:21 pm
Hola gente.
Cito textualmente un mensaje que escribí en otra zona del foro (.NET) para ver si aquí podrían ayudarme, ya que creo que está algo relacionada con el tema de ingeniería inversa, aunque lo que quiera sea evitarla xdd

Sabrían decirme los métodos que podría utilizar para hacer un login altamente seguro?
La cuestión sería que se envíen los datos de logeo a una base de datos remota y que esta devuelva si son correctos o no.
No pido como hacer la petición remota ni nada de eso, sino como debería cifrar la respuesta y comprobarla posteriormente (no con un simple if) de tal manera que no sea fácil de crakear.

Y ya aprovecho también, para preguntar sobre que "identificador" o algún número de serie o algo que me permita identificar un ordenador para así hacer que mi programa únicamente funcione en un pc concreto.
De esta manera podría basar también la respuesta de la base de datos en base a ese identificador también, para así cerciorarme de que se ejecuta únicamente en ese pc, y así hacer más difícil aún el crakeado.

A ver si me podéis orientar un poco algunos que hayáis tenido que usar algo de esto.
Muchas gracias!
19  Programación / .NET (C#, VB.NET, ASP) / Sistema de login muy seguro en: 24 Septiembre 2013, 21:49 pm
Hola gente.

Sabrían decirme los métodos que podría utilizar para hacer un login altamente seguro?
La cuestión sería que se envíen los datos de logeo a una base de datos remota y que esta devuelva si son correctos o no.
No pido como hacer la petición remota ni nada de eso, sino como debería cifrar la respuesta y comprobarla posteriormente (no con un simple if) de tal manera que no sea fácil de crakear.

Y ya aprovecho también, para preguntar sobre que "identificador" o algún número de serie o algo que me permita identificar un ordenador para así hacer que mi programa únicamente funcione en un pc concreto.
De esta manera podría basar también la respuesta de la base de datos en base a ese identificador también, para así cerciorarme de que se ejecuta únicamente en ese pc, y así hacer más difícil aún el crakeado.

A ver si me podéis orientar un poco algunos que hayáis tenido que usar algo de esto.
Muchas gracias! ;)
20  Programación / Programación C/C++ / Re: Duda Inyección DLL en proceso con varias ventanas en: 4 Septiembre 2013, 13:23 pm
Hola.
Decir que era bastante sencillo como hacerlo, ya que cuando se lanza el mensaje HCBT_ACTIVATE, el parámetro wParam contiene el handle de la ventana que se va a activar, y así con findwindow capturo el handle de la ventana que quiero, y simplemente comparándolo con el wParam pues ya se si se trata de la ventana que busco o no.

;)
Páginas: 1 [2] 3 4 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines