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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Sistema de seguridad "anticopias" vb6
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sistema de seguridad "anticopias" vb6  (Leído 7,026 veces)
AntonioPalma

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Sistema de seguridad "anticopias" vb6
« en: 4 Octubre 2011, 16:01 pm »

Hola! estoy desarrollando mi propio Software de pago y quisiera saber qué métodos me recomendarían para evitar el pirateo de mi aplicación.

Había pensado que tal vez MySQL sería una buena idea...

Alguna sugerencia¿
Saludos.


En línea

n0more

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Sistema de seguridad "anticopias" vb6
« Respuesta #1 en: 4 Octubre 2011, 17:10 pm »

MySQL como sistema antipirateria?? hola??


Eso depende de tu ingenio... Juega con el número de serie del disco, crea un algoritmo que te devuelva un secuencia de números/letras en función del número de serie del disco duro, aplica un semilla, ten en cuenta el día, mes, año, tamaño del pie del comprador....


Si piensas un pelín, veras como salen algoritmos "sencillos" que no son tan sencillos... :D.


Ten en cuenta que tienes que realizar la comprobación de lo que devuelva tu programa para comprobar que es correcto...



Salu2!


En línea

AntonioPalma

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Sistema de seguridad "anticopias" vb6
« Respuesta #2 en: 4 Octubre 2011, 19:33 pm »

Vale vale, he creado un sistema que usa el número de serie del disco duro donde esté instalado el sistema operativo en uso y el serial que el usuario debería introducir sería el siguiente:

Numero de serie de la unidad: DriveNum
Serial que el usuario debe introducir para iniciar la aplicación: DriveNum + 123

Supongamos que el número de serie de la unidad es: 12345678111. Pues el usuario debería introducir en un campo de texto el serial: 12345678111 + 123 = 12345678234 para que la aplicación inicie.
Esto lo compruebo con el código:
Código:
if text1.text = DriveNum + 123 then
me.enabled=true
else
msgbox "Serial incorrecto"
end if

Pero he averiguado que esto es muy facil de crackear (hasta yo he podido con OllyDBG)... Mi pregunta es: ¿Cómo hago para que esto sea más dificil de crackear?

Saludos y gracias x la respuesta.
En línea

Maurice_Lupin


Desconectado Desconectado

Mensajes: 356

GPS


Ver Perfil WWW
Re: Sistema de seguridad "anticopias" vb6
« Respuesta #3 en: 4 Octubre 2011, 20:51 pm »

Bueno yo también he tratado de buscar un método, y quisiera saber si es fácil de evadir. Encontre esta función que utiliza el objeto WinMgmts.

La aplicacion que tengo lee datos del disco duro y si coinciden con los que tiene en una variable dentro del programa, se inicia. Estoy pensando en hacer que compruebe el disco duro, no sólo al inicio del programa.

Me pregunto si se puede evadir este método de comprobar el disco duro más de una vez durante la ejecución del programa.

Código
  1. Function ObtenerSerieDiscoRigido() As String
  2.    Dim SerialDisco, modelo As String
  3.    Dim Disco As Object
  4.    On Error Resume Next
  5.    ObtenerSerieDiscoRigido = ""
  6.    SerialDisco = ""
  7.    modelo = ""
  8.    With GetObject("WinMgmts:")
  9.  
  10.         If SerialDisco = "" Then
  11.            For Each Disco In .InstancesOf("Win32_DiskDrive")
  12.                SerialDisco = Replace(Trim(Disco.Model), "-", "")
  13.                modelo = Disco.signature
  14.                If SerialDisco <> "" Then
  15.                    Exit For
  16.                End If
  17.            Next
  18.        End If
  19.  
  20.        If SerialDisco = "" Then
  21.            For Each Disco In .InstancesOf("Win32_PhysicalMedia")
  22.                SerialDisco = Trim(Disco.SerialNumber)
  23.                modelo = Disco.Model
  24.                If SerialDisco <> "" Then
  25.                    Exit For
  26.                End If
  27.            Next
  28.        End If
  29.    End With
  30.  
  31.    On Error GoTo 0
  32.        ObtenerSerieDiscoRigido = (SerialDisco & "-" & modelo)
  33. End Function
  34.  
En línea

Un error se comete al equivocarse.
Hasseds

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: Sistema de seguridad "anticopias" vb6
« Respuesta #4 en: 4 Octubre 2011, 21:57 pm »

Hola, Todo se puede crackear... pero al menos deberás complicarlo lo mas posible, no solo llamando a la funcion que te devuelve el serial al principio del programa sinó varias veces en el codigo (y requiriendo distintas partes del serial, para que el retorno no sea una "variable-constante",   especialmente cuando llamas a cada una de las funciones de tu progama ,,,  tambien combinar esto con otras "cosillas" que se te vayan ocurriendo....

Solo una acotación, si el código que utilizas para obtener el serial del disco duro es con el API GetVolumeInformation ... dicho serial no es el real, solo es un serial de  "formateo" (por llamarlo de alguna manera) dicho serial es otorgado por el S.O (no por el fabricante) obviamente que cambia si el usuario de tu aplicación formatea y quiere suguir usando el mismo ejecutable.

Con WMI (Win32_DiskDrive) tengo entendido que para discos Duros...este dato  es opcional del fabricante, al margen que por ejemplo en W7 con UAC activado... WMI no está disponible ( por favor corrijan si me equivoco )

Saludos

En línea

Sergio Desanti
Maurice_Lupin


Desconectado Desconectado

Mensajes: 356

GPS


Ver Perfil WWW
Re: Sistema de seguridad "anticopias" vb6
« Respuesta #5 en: 4 Octubre 2011, 22:31 pm »

Bueno lo que tengo pensado es comprobar más de una vez el disco duro en mi aplicación.

Aqui te dejo código que encontre googleando, me funciona en winXP y win7 32bits, pero en el win7 ejecutarlo con click derecho compatibilidad winxp, funciona hasta ahora bien  :xD Detecta discos duros, no me he puesto a investigar pues hace lo mismo que la función anterior, pero utilizando las APIs.

Aqui el ejemplo
En línea

Un error se comete al equivocarse.
Hasseds

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: Sistema de seguridad "anticopias" vb6
« Respuesta #6 en: 4 Octubre 2011, 23:19 pm »

Si ya habia visto ese code y otro similar, Una pregunta Maurice_Lupin (o el que pueda ayudar), como podria usar ese code en XP, modo Usuario o Invitado.

En línea

Sergio Desanti
Maurice_Lupin


Desconectado Desconectado

Mensajes: 356

GPS


Ver Perfil WWW
Re: Sistema de seguridad "anticopias" vb6
« Respuesta #7 en: 5 Octubre 2011, 00:45 am »

Si no eres administrador no deberia poderse,y no se puede. Aunque quizá alguien sabe como... jaja

parece que si, aún no lo reviso

http://www.perio.unlp.edu.ar/amnti/?q=node/5
« Última modificación: 5 Octubre 2011, 01:06 am por Maurice_Lupin » En línea

Un error se comete al equivocarse.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines