• Domingo 22 de Diciembre de 2024, 08:23

Autor Tema:  Instalacion Segura Igual A Office  (Leído 3109 veces)

_EL_DJ_LU

  • Miembro activo
  • **
  • Mensajes: 78
    • Ver Perfil
Instalacion Segura Igual A Office
« en: Viernes 19 de Noviembre de 2004, 00:09 »
0
Hola como les decia en mensajes anteriores... estoy a punto de vender mi programa... bueno mejor dicho instalacines de mi programa...

Bueno lo que queria sabes es como puedo hacer que mi programa despues de instalado solo funcione en esa maquina...osea si copian la carpeta de mi programa a otra PCB que esta no funcione en dicha segunda PCB... De la misma forma que pasa con Office... por que cuando lo instalas en un PcA... y luego copias solo la carpeta a otra PcB  .. en esta PcB no funciona... sale un mensaje de error que dice:

"El sistema operativo no esta configurado para ejecutar esta aplicacion"

Bueno quiero que algo parecido pase con mi programa... por que yo vendere el programa  y ire a instalar maquina por maquina... es decir no les vendere el instalador.... bueno esto para que no me pirateen el programa..... se que sera un poco dificil... pero que me de el tiempo suficiente para recuperar un poco de dinero ..... jejeje

Muchas gracias por su ayuda amigos de SOLOCODIGO... gracias a usteds pude terminar mi programa... jeje ;)

DJ

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Instalacion Segura Igual A Office
« Respuesta #1 en: Viernes 19 de Noviembre de 2004, 00:28 »
0
TIENES MUCHAS PERO MUCHAS, MUCHAS.
DIJE MUCHAS :blink:
OPCIONES.
1.) UTILIZA EL REGISTRO PARA GUARDAR VALORES EN ESTA MAQUINA.
2.) UTILIZA dll EN LA PCA, PARA QUE SOLO FUNCIONE EN ESA.
3.) UTILIZA ARCHIVOS QUE LO PRIMERO QUE VA HACER TU PROGRAMA ES LEERLOS SINO ESTAN EN LA PCA, TONCES NO SIRVE
4.) UTILIZA UN PRIMER EJECUTABLE PARA QUE GUARDE TODOS LOS VALORES DE ESTOS ARCHIVOS

Y SI NO?
SORRY MAN  ;)
El pasado son solo recuerdos, el futuro son solo sueños

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: Instalacion Segura Igual A Office
« Respuesta #2 en: Viernes 19 de Noviembre de 2004, 01:57 »
0
Lo que puedes hacer es crear archivos sentinelas, y cada vez que entres a tu programa buscar esos archivos si no lo encuentra es porque copio tu programa en otra pc, pero el problema es que se puede monitorear con otro tipo de aplicacion y asi copiarian ese archivo que esta en la maquina original.

Otra opcion es que tu al instalar el programa en la pc de tu cliente corras un programa aparte para que te copie la serial del disco duro en la parte final de tu programa exe encriptado si es posible, cada vez que entres a tu programa comparar la serial almacenada en tu programa con la del HDD.

Suerte

Cyclop
Icotext Evolution v0.5 para los amantes del ASCII Art
http]

_EL_DJ_LU

  • Miembro activo
  • **
  • Mensajes: 78
    • Ver Perfil
Re: Instalacion Segura Igual A Office
« Respuesta #3 en: Sábado 20 de Noviembre de 2004, 01:15 »
0
Justo habia escuchado algo de eso... de copiar la serie.. ya sea de procesador o del disco duro...

Serias tan amable de decirme como hago eso...??'

y a que te refieres con eso de poner en la parte final de mi exe... podrias explicarme eso plz...

Muchas gracias amigos...

DJ

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: Instalacion Segura Igual A Office
« Respuesta #4 en: Sábado 20 de Noviembre de 2004, 02:13 »
0
A ver si me dejo explicar bien

Esto va en el programa Parchador

Código: Text
  1. Private Declare Function GetVolumeInformation& Lib "kernel32" Alias
  2. "GetVolumeInformationA" (ByVal lpRootPathName As String,
  3. ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long,
  4. lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long,
  5. lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String,
  6. ByVal nFileSystemNameSize As Long)
  7.  
  8. Private Sub cmdParche_Click()
  9.   Dim cad1 As String * 255
  10.   Dim cad2 As String * 255
  11.   Dim numSerie As Long
  12.   Dim longitud As Long
  13.   Dim flag As Long
  14.   unidad = "C:\"
  15.   Call GetVolumeInformation(unidad, cad1, 255, numSerie, longitud,flag, cad2,255)
  16.   numSerie = Trim(Replace(numSerie, Chr(0), ""))
  17.   Open "Programa.Exe" For Binary As #1
  18.   sId = Space(2)
  19.   Get #1, LOF(1)-2, sId
  20.   If sId <> "id" Then
  21.      numSerie = Trim(numserie)
  22.      sBuffer$ = numSerie + Chr(Len(numSerie)) + "id"
  23.      Put #1, LOF(1) + 1, sBuffer$
  24.    Else
  25.      MsgBox "La aplicacion ya fue parchada"
  26.   Endif
  27.   Close #1
  28. End Sub
  29.  
  30.  

Esto va en tu Aplicacion de Venta
Código: Text
  1. Private Sub Form_Load()
  2.   Dim cad1 As String * 255
  3.   Dim cad2 As String * 255
  4.   Dim numSerie As Long
  5.   Dim longitud As Long
  6.   Dim flag As Long
  7.   unidad = "C:\"
  8.   Call GetVolumeInformation(unidad, cad1, 255, numSerie, longitud,flag, cad2,255)
  9.   numSerie = Trim(Replace(numSerie, Chr(0), ""))
  10.   Open "Programa.Exe" For Binary As #1
  11.   sSerie = ""
  12.   sId = Space(2)
  13.   Get #1, LOF(1)-2, sId
  14.   If sId = "id" Then
  15.      sLen = Space(1)
  16.      Get #1, LOF(1)-3, sLen
  17.      nLen = Asc(sLen)
  18.      sSerie = Space(nLen)
  19.      Get #1, LOF(1)-(nLen + 3), sSerie
  20.   Endif
  21.   Close #1
  22.   If sSerie = numSerie Then
  23.      ' Es correcto la copia
  24.    Else
  25.      MsgBox "Copia no valida ... por favor cosulte con su proveedor de sistema juasss XP"
  26.      End
  27.   EndIf
  28. End Sub
  29.  
  30.  

Pd. Esta rutina ahun no fue testeado ... por lo que puede contener algun error de sintaxis o de logica de programacion.

Salu2

Cyclop
Icotext Evolution v0.5 para los amantes del ASCII Art
http]

_EL_DJ_LU

  • Miembro activo
  • **
  • Mensajes: 78
    • Ver Perfil
Re: Instalacion Segura Igual A Office
« Respuesta #5 en: Sábado 20 de Noviembre de 2004, 06:19 »
0
Hola amigo... la idea me parece.. chevere... muy buena..

Pero no me funciona.. nose que es lo que pasa.... al parecer parcha normal al programa  pero cuando quiero ejecutar el programa hay error en la lectura..

Aca les dejo el codigo tenia que hacerle unas modificaciones

Código: Text
  1. 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)
  2. Private Sub cmdParche_Click()
  3.  Dim cad1 As String * 255
  4.  Dim cad2 As String * 255
  5.  Dim numSerie As Long
  6.  Dim longitud As Long
  7.  Dim flag As Long
  8.  unidad = "C:\"
  9.  Call GetVolumeInformation(unidad, cad1, 255, numSerie, longitud, flag, cad2, 255)
  10.  sHex = Trim(Hex(numSerie))
  11.  Open "C:\WINDOWS\Escritorio\proyecto1.exe" For Binary As #1
  12.  sId = Space(2)
  13.  Get #1, LOF(1) - 2, sId
  14.  If sId <> "id" Then
  15.     sHex = Trim(sHex)
  16.     sBuffer$ = sHex + Chr(Len(sHex)) + "id"
  17.     Put #1, LOF(1) + 1, sBuffer$
  18.   Else
  19.     MsgBox "La aplicacion ya fue parchada"
  20.  End If
  21.  Close #1
  22. End Sub
  23.  
  24.  
  25.  

esa fue del parche ahi no hay problema al momento de marchar.. bueno el problema es cuando quiere volver a leer la ultima parte del programa

Código: Text
  1. 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)
  2. Private Sub Form_Load()
  3.  Dim cad1 As String * 255
  4.  Dim cad2 As String * 255
  5.  Dim numSerie As Long
  6.  Dim longitud As Long
  7.  Dim flag As Long
  8.  unidad = "C:\"
  9.  Call GetVolumeInformation(unidad, cad1, 255, numSerie, longitud, flag, cad2, 255)
  10.  sHex = Trim(Hex(numSerie))
  11.  Open "C:\WINDOWS\Escritorio\proyecto1.exe" For Binary As #1
  12.  sSerie = ""
  13.  sId = Space(2)
  14.  Get #1, LOF(1) - 2, sId          'error aca...plz
  15.  If sId = "id" Then
  16.     sLen = Space(1)
  17.     Get #1, LOF(1) - 3, sLen
  18.     nLen = Asc(sLen)
  19.     sSerie = Space(nLen)
  20.     Get #1, LOF(1) - (nLen + 3), sSerie
  21.  End If
  22.  Close #1
  23.  If sSerie = sHex Then
  24.     ' Es correcto la copia
  25.   Else
  26.     MsgBox "Copia no valida ... por favor cosulte con su proveedor de sistema juasss XP"
  27.     End
  28.  End If
  29. End Sub
  30.  
  31.  
  32.  

EL ERROR OCURRE EN ESTA LINEA

Get #1, LOF(1) - 2, sId          

Me sale este error...

error '458' el tiempo de ejecucion:
La variable usa un tipo de automatizacion no admitido en visual basic

Espero me puedan ayudar por que esa me parece una muy buena idea para proteger mi programa..
Muchas gracias por tu ayuda gentita..

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: Instalacion Segura Igual A Office
« Respuesta #6 en: Domingo 21 de Noviembre de 2004, 01:29 »
0
Prueba con esto al principio de la rutina:

Código: Text
  1. Dim sId As String
  2. Dim sLen As String
  3. Dim sSerie As String
  4. Dim nLen As Byte
  5.  
  6.  

o

Código: Text
  1. sId$ = Space(2)
  2. Get #1, LOF(1) - 2, sId$          'error aca...plz
  3. If sId$ = "id" Then
  4.    sLen$ = Space(1)
  5.    Get #1, LOF(1) - 3, sLen$
  6.    nLen = Asc(sLen$)
  7.    sSerie$ = Space(nLen)
  8.    Get #1, LOF(1) - (nLen + 3), sSerie$
  9. End If
  10.  
  11.  

Prueba encriptandolo para mayor seguridad.

 :suerte:

Cyclop
Icotext Evolution v0.5 para los amantes del ASCII Art
http]