01/07/2012, 21:56
|
| | Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 15 años, 3 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 |