Ver Mensaje Individual
  #18 (permalink)  
Antiguo 01/07/2012, 21:56
chobbyg
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Seguridad contra PIRATAS??

Saludos

He estado en una idea para crear un sistema anti-pirateria

Le daré la idea para ver si pueden ayudarme…

Es crear una llave encriptada por ejemplo encriptar la llave “hola-mundo”
Ejemplo de los datos encriptado cada carácter en su código ascii + un carácter especifico adicionado, numero o como quieras encriptado de forma segura.
Ejemplo llave encriptada “retoalograr”
Option Explicit
'//For Action parameter in EncryptString
Const ENCRYPT = 1
Const DECRYPT = 2
Public Function EncryptString( _
UserKey As String, Text As String, Action As Single _
) As String
Dim UserKeyX As String
Dim Temp As Integer
Dim Times As Integer
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim rtn As String
'//Get UserKey characters
n = Len(UserKey)
ReDim UserKeyASCIIS(1 To n)
For i = 1 To n
UserKeyASCIIS(i) = Asc(Mid$(UserKey, i, 1))
Next
'//Get Text characters
ReDim TextASCIIS(Len(Text)) As Integer
For i = 1 To Len(Text)
TextASCIIS(i) = Asc(Mid$(Text, i, 1))
Next

'//Encryption/Decryption
If Action = ENCRYPT Then
For i = 1 To Len(Text)
j = IIf(j + 1 >= n, 1, j + 1)
Temp = TextASCIIS(i) + UserKeyASCIIS(j)
If Temp > 255 Then
Temp = Temp - 255
End If
rtn = rtn + Chr$(Temp)
Next
ElseIf Action = DECRYPT Then
For i = 1 To Len(Text)
j = IIf(j + 1 >= n, 1, j + 1)
Temp = TextASCIIS(i) - UserKeyASCIIS(j)
If Temp < 0 Then
Temp = Temp + 255
End If
rtn = rtn + Chr$(Temp)
Next
End If

'//Return
EncryptString = rtn
End Function
El asunto esta en que…
La llave este dividida de forma que cada versión de tu software pueda contener un desencryptador para poder comparar, aquí es lo interesante

Que el programa no valide una llave de texto de caracteres igualado sino que busque un carácter especifico y actúe de una forma para desencriptar.

Id llave guardada en el programa “hola-mundo”

Ejemplo simple para abrir las ideas

Función del desencryptador con la llave introducida y creada por el encryptador


'//introducciendo la llave escritada
Dim string Millave = retoalograr

Validator = rtn

‘Para abrir el producto

If Millave = validator then
I = 0
For I = totaldeformulario
Idformulario(0).enable =true
I = i +1
Else
Msgbox(“la llave del producto no es valida”)
Next i

NOTA: El codigo de arriba es copiado de un tutorial

Pero la idea que quiero lograr es que luego de tener un texto desencriptado quiero poder crear un interpretador de caracteres que me interprete la llave inscrita en el código del programa ejemplo “hola-mundo”
E=h %=-
A=o w=m
Q=l e=u
S=a u=n
L=d
A=o
Para asi si se Le aplica ingenieria inversa a mi software se Le pueda hacer dificir conocer La llave interna....

Espero abrir las ideas