Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Seguridad Anticopias en VB6 "El Proyecto" por (Geovanny Avila)

Estas en el tema de Seguridad Anticopias en VB6 "El Proyecto" por (Geovanny Avila) en el foro de Visual Basic clásico en Foros del Web. Metiéndome un poco en el asunto y con algo de curiosidad, abrí uno de mis programas, y me delató en la segunda línea que lo ...

  #61 (permalink)  
Antiguo 23/09/2005, 14:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 9 meses
Puntos: 839
De acuerdo

Metiéndome un poco en el asunto y con algo de curiosidad, abrí uno de mis programas, y me delató en la segunda línea que lo hice con vb6, navegando un poco más, también delató que accedía a la clave HKEY_LOCAL_MACHINE\SOFTWARE...... con el WScript y hasta me mostró el nombre de mi Form , entonces, nada más que decir, ni en el Block de Notas ahora se puede confiar, jeje
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #62 (permalink)  
Antiguo 23/09/2005, 14:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 9 meses
Puntos: 839
De acuerdo

Otras más, las llamadas API, todas todas, los Captions de los Controles, a ver qué más..... Información del Proyecto, un bloque Select...., en síntesis, para quien sepa nada es seguro... como ya lo dijeron algunos jeje , buen aporte de todas formas....
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #63 (permalink)  
Antiguo 18/10/2005, 14:24
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola geoAvila

varias consultas

este numero de serie del que hablas es el id del disco duro o el id del volumen
ya que si es el del volumen tiene la desventaja que cada vez que formates ala maquina se te va a gererar un id distinto en cambio si es el del disco rigido no importa cuantas veces formates el disco siempre sera el mismo id

luego cuando aplico el programa la función me devuelve un numero negativo
esta bien?


yo tengo un windows 2000 sp4 en español


No sería más seguro el id de la tarjeta madre??

con respecto al ultimo comentario utilizando las apis podrían explicarlo un poco más por favor que no se que hace cada api

Muchas Gracias..
  #64 (permalink)  
Antiguo 18/10/2005, 15:32
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años, 2 meses
Puntos: 53
Cita:
Iniciado por RonAraya
Hola geoAvila

varias consultas

este numero de serie del que hablas es el id del disco duro o el id del volumen
ya que si es el del volumen tiene la desventaja que cada vez que formates ala maquina se te va a gererar un id distinto en cambio si es el del disco rigido no importa cuantas veces formates el disco siempre sera el mismo id
bueno el asunto era generar un proyecto bastante parecidgo de hecho podrías decir que muy pocos discos duros tendrán la misma etiqueta o bien ninguno además el serial para el disco duro sería algo muy parecido porque igual el la etiqueta se monta cuando formateas el disco duro entonces en cada formato tiene una nueva etiqueta.. amenos que podas formatear el disco duro sin tocar la etiqueta se te volvería vulnerable o bien que puedan copiar el número de etiqueta, pero si estas buscando un programa que no puedad ser robado nunca lo vas a encontrar..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #65 (permalink)  
Antiguo 20/10/2005, 10:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 9 meses
Puntos: 839
Cita:
Iniciado por RonAraya
Hola geoAvila

varias consultas

este numero de serie del que hablas es el id del disco duro o el id del volumen
ya que si es el del volumen tiene la desventaja que cada vez que formates ala maquina se te va a gererar un id distinto en cambio si es el del disco rigido no importa cuantas veces formates el disco siempre sera el mismo id

luego cuando aplico el programa la función me devuelve un numero negativo
esta bien?


yo tengo un windows 2000 sp4 en español


No sería más seguro el id de la tarjeta madre??

con respecto al ultimo comentario utilizando las apis podrían explicarlo un poco más por favor que no se que hace cada api

Muchas Gracias..
¿que no sabes que es una API? pues entonces vas lento....
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #66 (permalink)  
Antiguo 20/10/2005, 10:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 9 meses
Puntos: 839
De acuerdo

A ver, veamos te diré de una forma sencilla, toda la API está en las librerías de Windows... son en realidad funciones existentes en tales librerías....
La sintaxis de una llamada API en vb sería simplemente declararla al inicio del Modulo y finalmente llamarla como un Sub o Function Normal...
Por ejemplo:
Código:
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Es una llamada API, la función está contenida en la Librería kernel32.dll y el nombre dentro de ésta es GetWindowsDirectoryA, pero lo declaramos como GetWindowsDirectory y este será el nombre con el que lo utilizaremos en nuestro programa.... (P.D. Es una declaración de alcance Público, Private para alcance Privado...)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #67 (permalink)  
Antiguo 20/10/2005, 10:42
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 19 años, 4 meses
Puntos: 0
Saludos

GeoAvila,

Geoavila te comentaba acerce del serial del volumen ya que como sabes existen programas que clonan los discos duros y entonces se clona también el erial del volumen

en cambio con el serial del disco duro si te clonan el dico duro no te clonan ese serial, lo que no se es con cual api puedo averiguar el serial(en ocaciones llamdo modelo) del disco duro, No crees que sería mejor

Otra pregunta, Que diferencia existe si registro mi clave en el regedit o si no lo hago

David

Gracias por tu explicacíon de apis pero lo que yo no entendía que que hacían las respectivas apis que estaban explicadas

Gracias a ambos
  #68 (permalink)  
Antiguo 22/10/2005, 12:20
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 20 años, 3 meses
Puntos: 4
Sonrisa Seguridad

el metodo que usas no es nuevo, por no decir anticucho en fin la logia tiene muchos errores y le falta muchisimo como para ser un codigo de seguridad, pues como dijo alguien es mas facil y seguro guardar los valores encriptados en el registro asi como lo hace el mismo win, en fin es mi opinion pronto sacare mi propia version de algo parecido a esto espero poder terminarla a tiempo ah sin ofensas son solo opiniones. :)
  #69 (permalink)  
Antiguo 26/10/2005, 05:45
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 20 años, 2 meses
Puntos: 6
Cita:
Iniciado por Bellenger
el metodo que usas no es nuevo, por no decir anticucho en fin la logia tiene muchos errores y le falta muchisimo como para ser un codigo de seguridad, pues como dijo alguien es mas facil y seguro guardar los valores encriptados en el registro asi como lo hace el mismo win, en fin es mi opinion pronto sacare mi propia version de algo parecido a esto espero poder terminarla a tiempo ah sin ofensas son solo opiniones. :)
me parece ke vos no tenes logica loko..mira es simple

Private Declare Function GetVolumeInformation& Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long)

Private Sub Form_Load()
Dim cad1 As String * 256
Dim cad2 As String * 256
Dim numSerie As Long
Dim longitud As Long
Dim flag As Long
unidad = "C:\"
Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)
label1 = numSerie
If Val(label1) <> -1943758465 Then 'el Nro: -1943758465 es el del HD de la PC ke le instalaré el sistema de mi tesis, si lo kieren pasar a otra PC les tira error de pirateria y les cierra el SW :P es cuestion de un pokito de logica no ?
MsgBox "Intento de pirateria", vbCritical, "Error !!!"
End
End If
MsgBox "Numero de Serie de la unidad " & unidad & " = " & numSerie
End Sub
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #70 (permalink)  
Antiguo 26/10/2005, 12:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 9 meses
Puntos: 839
Desacuerdo

Cita:
Iniciado por aldo1982
me parece ke vos no tenes logica loko..mira es simple

Private Declare Function GetVolumeInformation& Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long)

Private Sub Form_Load()
Dim cad1 As String * 256
Dim cad2 As String * 256
Dim numSerie As Long
Dim longitud As Long
Dim flag As Long
unidad = "C:\"
Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)
label1 = numSerie
If Val(label1) <> -1943758465 Then 'el Nro: -1943758465 es el del HD de la PC ke le instalaré el sistema de mi tesis, si lo kieren pasar a otra PC les tira error de pirateria y les cierra el SW :P es cuestion de un pokito de logica no ?
MsgBox "Intento de pirateria", vbCritical, "Error !!!"
End
End If
MsgBox "Numero de Serie de la unidad " & unidad & " = " & numSerie
End Sub
Está remal eso que dices, mira, pues para instalar a otra PC entonces deberás volver a compilar el ejecutable??????? impensable.... no podrías crear un programa de instalación....
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #71 (permalink)  
Antiguo 26/10/2005, 13:23
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 19 años, 4 meses
Puntos: 0
David

Una consulta,

utilizando el codigo de aldo1982, que sucede si en lugar de comparar el volumen contra un valor específico mas bien lo relalizamos de la siguiente forma:

en el momento de la instalación el priograma nos obtiene ese volumen. a este numero le aplicamos algun tipo de "encriptación" y el valor resultante pasa a convertirse en la clave del programa.

Entonces cada vez que el programa arranca desincripta la llave para el obtener el valor original y luego obtiene nuevamente el serial del volumen y si no coinciden no puede ejecutarse el programa

Evidentemente el programa generador de la clave sería independiente al programa en cuestión

de esta forma no se tendría que generar el exe por cada PC

Te agradecería mucho tus comentarios.....

Saludos
  #72 (permalink)  
Antiguo 26/10/2005, 13:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 9 meses
Puntos: 839
De acuerdo

Pues precisamente esa sería la forma correcta, que el instalador obtuviera la clave del Disco, y lo guardara por alguna parte, así entonces, pues, el programa compara el valor guardado por el instalador y el valor actual de la serie del volumen, si difieren, PIRATA, en tanto si son iguales, pues arranca el programa....
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #73 (permalink)  
Antiguo 26/10/2005, 15:05
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años, 2 meses
Puntos: 53
bueno señores creo que tendré que hacer esta aplicación con encripción en el registro md5.. porque veo muchos no entendieron el tema.. o bien buscarme otra manera de darle a esto...
creo que esta vez lo vamos a hacer con el numero de serie del procesador...
haber que pero me ponen ahora.. me van a decir que no se va poder... porque se pueden llevar su procesador a otra máquina. jajaja

bueno les digo como quedaría.. nos vemos..
nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila

Última edición por GeoAvila; 27/10/2005 a las 13:15
  #74 (permalink)  
Antiguo 27/10/2005, 10:14
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 19 años, 4 meses
Puntos: 0
Lo estaremos esperando
solo como comentario, He leido por ahí que los procesadores que traen numero de serie son los pentium II en adelante, solo para que lo cheques

pero igual espero pronto lo puedas terminar y de esta forma realizar seguridad cruzada : serial del HD + serial del Procesador

:)

Saludos y suerte
  #75 (permalink)  
Antiguo 27/10/2005, 12:39
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 20 años, 2 meses
Puntos: 6
Cita:
Iniciado por David el Grande
Está remal eso que dices, mira, pues para instalar a otra PC entonces deberás volver a compilar el ejecutable??????? impensable.... no podrías crear un programa de instalación....
o sea me funciona..pero es verdad, para instalar en otra Pc hay ke volver a compilar..pero bue a mi me sirve y es lo ke importa :P
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #76 (permalink)  
Antiguo 27/10/2005, 12:42
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 20 años, 2 meses
Puntos: 6
usa buena solucion

bue se me ocurriolosiguiente:

crear una base de datos en la cual se pondria el numero de serie del disco en tonces en ves de compilar cada ves el proyecto, solo cambiams el serial deldisco desde la base de datos... ke opinan ???
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #77 (permalink)  
Antiguo 27/10/2005, 12:45
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años, 2 meses
Puntos: 53
Cita:
Iniciado por aldo1982
bue se me ocurriolosiguiente:

crear una base de datos en la cual se pondria el numero de serie del disco en tonces en ves de compilar cada ves el proyecto, solo cambiams el serial deldisco desde la base de datos... ke opinan ???
para hacer esto mejor se guarda en el registro de windows y lo encriptamos en MD5 y listo.. jeje

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #78 (permalink)  
Antiguo 27/10/2005, 12:52
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 20 años, 2 meses
Puntos: 6
Cita:
Iniciado por GeoAvila
para hacer esto mejor se guarda en el registro de windows y lo encriptamos en MD5 y listo.. jeje

nos vemos..
ok me parece exelente la idea...pero estemm...podrias poner un ejemplo? nunca hice eso de md5 :(( yno trabajé mucho con el reg de windows :( bue sino no hay problema
salu2 y gracias
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #79 (permalink)  
Antiguo 27/10/2005, 13:13
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años, 2 meses
Puntos: 53
Cita:
Iniciado por aldo1982
ok me parece exelente la idea...pero estemm...podrias poner un ejemplo? nunca hice eso de md5 :(( yno trabajé mucho con el reg de windows :( bue sino no hay problema
salu2 y gracias

deja que elaboro un ejemplo ya terminado para que no queden dudas y lo monto a mi sition..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #80 (permalink)  
Antiguo 27/10/2005, 13:29
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 20 años, 2 meses
Puntos: 6
ok muchas gracias geo
salu2
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #81 (permalink)  
Antiguo 23/12/2005, 16:29
 
Fecha de Ingreso: julio-2004
Mensajes: 104
Antigüedad: 20 años, 7 meses
Puntos: 0
Tampoco es muy recomendable en el instalador.

yo no recomendaria que se coloque los algoritmos de encripción o validación en el instalador, ya que los archivos MSI son muy vulnerables, basta con abrirlos con el INSTALLSHIELD para descubrir todos los secretos, datos del registro, Codigos de encrypciòn, rutas de lo que instala, etc. etc. mejor dejarselo a un EXE o DLL externo. Como creen que vuelan algunos seriales que usan el instalador. Simplemente cambian la validación o cancelan el Link y recompilan el instalador o le hacen una "Actualización", por cierto no es tan dificil.
__________________
Podria no estar de acuerdo con lo que dices....., pero daria mi vida por el derecho que tienes de decirlo.
  #82 (permalink)  
Antiguo 24/12/2005, 08:15
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años, 2 meses
Puntos: 53
Cita:
Iniciado por GabrielDR
yo no recomendaria que se coloque los algoritmos de encripción o validación en el instalador, ya que los archivos MSI son muy vulnerables, basta con abrirlos con el INSTALLSHIELD para descubrir todos los secretos, datos del registro, Codigos de encrypciòn, rutas de lo que instala, etc. etc. mejor dejarselo a un EXE o DLL externo. Como creen que vuelan algunos seriales que usan el instalador. Simplemente cambian la validación o cancelan el Link y recompilan el instalador o le hacen una "Actualización", por cierto no es tan dificil.
mira nosotros no queremos hacer un software inposible de ser crackeado simplemente darle un tanto deseguridad.. si lees todos los post veras cual es la intención..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #83 (permalink)  
Antiguo 24/12/2005, 23:22
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 19 años, 8 meses
Puntos: 0
Bueno, les muestro lo que hice yo:

Esto va cuando ejecuta el programa:
Cita:
Private Declare Function GetVolumeInformation& Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long)
Dim cad1 As String * 256
Dim cad2 As String * 256
Dim numSerie As Long
Dim longitud As Long
Dim flag As Long

Private Sub Command1_Click()
If (Val(Reg1.Text) = (numSerie + 1500)) And (Val(Reg2.Text) = (numSerie + 1600)) And (Val(Reg3.Text) = (numSerie + 1900)) Then
MsgBox "El programa ha sido registrado", vbInformation, ""
SaveSetting App.Title, Me.Name, Me.Reg1.Name, Me.Reg1.Text
SaveSetting App.Title, Me.Name, Me.Reg2.Name, Me.Reg2.Text
SaveSetting App.Title, Me.Name, Me.Reg3.Name, Me.Reg3.Text
Form1.Show
Unload Me
Else
MsgBox "El numero introducido es incorrecto", vbCritical, ""
End If
End Sub

Private Sub Form_Initialize()
If (Val(Reg1.Text) = (numSerie + 1500)) And (Val(Reg2.Text) = (numSerie + 1600)) And (Val(Reg3.Text) = (numSerie + 1900)) Then
Form1.Show
Unload Me
End If
End Sub

Private Sub Form_Load()

unidad = "C:\"
Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)
Text1.Text = numSerie
Reg1.Text = GetSetting(App.Title, Me.Name, Reg1.Name, vbChecked)
Reg2.Text = GetSetting(App.Title, Me.Name, Reg2.Name, vbChecked)
Reg3.Text = GetSetting(App.Title, Me.Name, Reg3.Name, vbChecked)
Text1.Text = numSerie

End Sub
Private Sub Form_Unload(Cancel As Integer)
SaveSetting App.Title, Me.Name, Me.Reg1.Name, Me.Reg1.Text
SaveSetting App.Title, Me.Name, Me.Reg2.Name, Me.Reg2.Text
SaveSetting App.Title, Me.Name, Me.Reg3.Name, Me.Reg3.Text
End Sub
Y este es el generador de serials:

Cita:
Private Declare Function GetVolumeInformation& Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long)
Dim cad1 As String * 256
Dim cad2 As String * 256
Dim numSerie As Long
Dim longitud As Long
Dim flag As Long
Private Sub cmdGenerar_Click()

unidad = "C:\"

Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)
numSerie = primera.Text
registro1.Text = (numSerie + 1500)
registro2.Text = (numSerie + 1600)
registro3.Text = (numSerie + 1900)
End Sub

Private Sub cmdSalir_Click()
If MsgBox("¿Está usted seguro que desea Salir de SerialZax?", _
vbQuestion + vbYesNo, "Pregunta") = vbYes Then
End
End If
End Sub

Private Sub Form_Load()

unidad = "C:\"
Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)

primera.Text = numSerie
End Sub
Qué les parece? Hasta ahora me funciona perfecto. Seguramente hay errores o variables de más, pero lo hice apurado.

Salu2!
__________________
diegoz.com.ar

Última edición por Frehley; 25/12/2005 a las 01:42
  #84 (permalink)  
Antiguo 26/12/2005, 16:41
Avatar de UID
UID
 
Fecha de Ingreso: febrero-2004
Ubicación: Villahermosa tabasco cent
Mensajes: 251
Antigüedad: 21 años
Puntos: 0
una pregunta.. como hago para que un programa que tiene sentencias o comandos visual basic scritp ( los ta famososo archivos test.vbs ) no se si los conosca... el punto s..
mi programa tiene ese tipo de comandos y cualquier antivirus lo dectecta omo virus o software malicioso ... :S por que??? y como puedo hacer para que no pase eso.??? a y otra.. como comprimo un ejecutable.???
__________________
http://www.xpresatelibre.com La Xpresion Al Maximo Nivel
  #85 (permalink)  
Antiguo 27/12/2005, 14:38
Usuario baneado!
 
Fecha de Ingreso: febrero-2005
Mensajes: 116
Antigüedad: 20 años
Puntos: 0
Todo lo que estáis hablando de cruzar IDs de procesadores, discos duros y demás hardware es inútil.

Como dijo MaxExtreme hace meses: Con un simple salto la comprobación no se ejecuta.

Un ejemplo para que lo entendáis. Aldo escribió:

Código:
If Val(label1) <> -1943758465 Then ' Nº del procesador
    MsgBox "Intento de pirateria", vbCritical, "Error !!!"
    End
End If
Bien, una idea brillante, pero, ¿qué ocurra si hago esto?

Código:
GoTo Saltar:

If Val(label1) <> -1943758465 Then ' Nº del procesador
    MsgBox "Intento de pirateria", vbCritical, "Error !!!"
    End
End If

Saltar:
Como es fácil de ver: El código se pasa de largo, se _SALTA_.

Eso es lo que ocurre. Vendéis el ejecutable .EXE, un tipo lo abre, añade el "goto" (evidentemente en código máquina), y adiós protección. Ya funciona en cualquier ordenador.

¿Queda claro que _cualquier cosa_ escrita en Visual Basic, por difícil que sea, se puede crackear en cuestión de horas?
  #86 (permalink)  
Antiguo 28/12/2005, 12:46
Avatar de Hager  
Fecha de Ingreso: mayo-2005
Ubicación: Bogota, Colombia
Mensajes: 106
Antigüedad: 19 años, 9 meses
Puntos: 2
Bueno, la verdad no lo veo tan optimo, lees el volumen del disco, y agregas una especie de crack para activar el programa ¿acaso no seria lo mismo si usas variables del registro? ¿no seria lo mismo que el programa leyera el registro y buscara una variable con el id optimo?

En mi opinion, lo k tienes sirve para aplicaciones distribuidas de control, donde el aplicativo se instala en determinado equipo, al conectar con el hosting se almacenará el serial en una base de datos. en la cual se activara o no segun lo que se necesite, si formatearan el elquipo cliente no cambiarian los permisos de acceso, segun el serial del disco del cliente y segun lo que este guardado en el servidor accederas o no....
__________________
:cool: Nadie enseña a nadie...
todos aprendemos de todos....!!!
  #87 (permalink)  
Antiguo 28/12/2005, 13:12
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años, 2 meses
Puntos: 53
Cita:
Iniciado por cabeza_nispero
Como es fácil de ver: El código se pasa de largo, se _SALTA_.

Eso es lo que ocurre. Vendéis el ejecutable .EXE, un tipo lo abre, añade el "goto" (evidentemente en código máquina), y adiós protección. Ya funciona en cualquier ordenador.

¿Queda claro que _cualquier cosa_ escrita en Visual Basic, por difícil que sea, se puede crackear en cuestión de horas?
claro, claro pero aqui no tratamos de hacer un software que sea seguro al 100%(que no existe), lo que tratamos es ponerle un poco de seguridad a nuestras aplicaciones para que no las agarren y las instalen nada mas asi por asi cualquier usuario empirico de las sistemas si se lo roba es una persona que esta muy debajo del porcentaje que conocimientos que cualquier otro usuario que podamos encontrar de cada 100 o mas encontraremos una persona que lo sabe hacer.. asi que.... nosotros no queremos hacer algo invulnerable a un hacker y esto es tal como lo venimos diciendo en todo el post.. por favor antes de hacer este tipo de comentarios en este post por favor leer toda la historia del mismo no solo el ultimo post que han agregado y gracias a todos por seguir aportando...
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #88 (permalink)  
Antiguo 29/12/2005, 03:25
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 19 años, 8 meses
Puntos: 0
Pero estan perdiendo el punto. Yo si vendo, por ejemplo, un programa para gestionar una remiseria, me interesa que solo el comprador lo use. Si se lo vende a la remiseria de al lado estoy perdiendo plata. Este tipo de seguridad apunta a los usuarios básicos de la aplicación. En general quien compra este tipo de aplicaciones no tiene idea de como crackear nada.

Salu2!
__________________
diegoz.com.ar
  #89 (permalink)  
Antiguo 02/01/2006, 10:58
 
Fecha de Ingreso: julio-2004
Mensajes: 104
Antigüedad: 20 años, 7 meses
Puntos: 0
Tranquilos, tranquilos....
Como dice nuestro buen amigo "Kissero", estamos perdiendo el Hilo, nos hemos dado vuelo destrozando la buena intencion del iniciador del foro (por cierto es gratificante comerse a alguien de vez en cuando...), es cierto que la seguridad, es un tema muy complejo y muy trillado, pero la intensión de Avila es la de crear una aplicación que cumpla con algunos preceptos de seguridad.. ¿o no?, ahora bien... ¡SABELOTODOS!. (incluyendome por criticon)
aportemos, seamos positivos, demos algo a esta basura de mundo que al fin de cuentas estamos en él y si contribuimos... en algun punto.. este será mejor que antes.
Pues entonces empecemos. Propuestas para crear un software seguro. comencemos con la base de que un sistema de seguridad no se basa solo en la cerradura de la puerta, siempre es un "sistema" es decir un conjunto de acciones o procesos que trabajan en conjunto para lograr un objetivo.
En este caso: Hacer un software seguro.
Ya se ha dicho demostrado ampliamente que centrar la seguridad en el EXE no es muy buena idea, ya que se puede crackear "relativamente facil", tambien expuse que poner un serial en el instalador es mala idea, ademas expuse que las claves y accesos a las bases de datos son transparentes con el Block de notas, por aqui he visto muy buenos codigos para tomar info del serial. y lo del registro de windows no me parece tan mala idea.
Ahora porque no conjuntamos técnicas y hacemos algo que no solo dependa del EXE. Usemos la tecnica de la fortaleza invertida:
__________________
Podria no estar de acuerdo con lo que dices....., pero daria mi vida por el derecho que tienes de decirlo.
  #90 (permalink)  
Antiguo 02/01/2006, 11:11
Usuario baneado!
 
Fecha de Ingreso: febrero-2005
Mensajes: 116
Antigüedad: 20 años
Puntos: 0
Es cierto que los compradores seguramente no sepan como crackear nada, pero aquí intentamos hacer las cosas lo mejor posible, ¿no?

En cualquier caso, GabrielDR, no sé de que "preceptos de seguridad" hablas. Por favor, explica eso de que "dependa sólo del EXE".
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:38.