Control antipirateria
Control antipirateria
Compañeros:
Tengo un aplicativo terminado y listo para entregar donde he invertido muchas horas de programación. Para evitar pirateria tengo lo siguiente:
1.- La forma más segura que he encontrado para evitar el copiado (o piratería) es mediante la generación de claves o contra-cuentas asociadas al elemento a controlar, en este caso "nombre de la empresa" + "tlfno". Por ejemplo: Para DISTRIBUCIONES NUBEGRIS, SL + 34665667482 se genera una contraclave del tipo XG23F-G7FS4, en el que el usuario si no la introduce correctamente al entrar por primera vez, el programa se vuelve DEMO y no deja registrar más de 5 clientes, artículos y propuestas y facturas.
2.- He desechado la opción de disco llave USB tal y como se recomienda en este foro.
3.- Para evitar la acción COPIAR-PEGAR en otro PC y tener el programa funcionando en otro PC ilegalmente, he pensado que en el momento de la instalación, se copie un pequeño archivo en otra carpeta y cuando se ejecute el EXE llame al archivo, si no existe se convierte en DEMO. El problema lo tengo en como establezco la ruta de localización de este archivo desde otro terminal de la RED. O bien otra opción sería que en el momento de la instalación quede almacenado "algo" en el registro de Windows de manera que al ejecutar el EXE llame a este "algo" y cumpruebe si existe.
¿ Sabeis vosotros como solucionar esto ?
Mil gracias.
LORENZO.
Tengo un aplicativo terminado y listo para entregar donde he invertido muchas horas de programación. Para evitar pirateria tengo lo siguiente:
1.- La forma más segura que he encontrado para evitar el copiado (o piratería) es mediante la generación de claves o contra-cuentas asociadas al elemento a controlar, en este caso "nombre de la empresa" + "tlfno". Por ejemplo: Para DISTRIBUCIONES NUBEGRIS, SL + 34665667482 se genera una contraclave del tipo XG23F-G7FS4, en el que el usuario si no la introduce correctamente al entrar por primera vez, el programa se vuelve DEMO y no deja registrar más de 5 clientes, artículos y propuestas y facturas.
2.- He desechado la opción de disco llave USB tal y como se recomienda en este foro.
3.- Para evitar la acción COPIAR-PEGAR en otro PC y tener el programa funcionando en otro PC ilegalmente, he pensado que en el momento de la instalación, se copie un pequeño archivo en otra carpeta y cuando se ejecute el EXE llame al archivo, si no existe se convierte en DEMO. El problema lo tengo en como establezco la ruta de localización de este archivo desde otro terminal de la RED. O bien otra opción sería que en el momento de la instalación quede almacenado "algo" en el registro de Windows de manera que al ejecutar el EXE llame a este "algo" y cumpruebe si existe.
¿ Sabeis vosotros como solucionar esto ?
Mil gracias.
LORENZO.
Re: Control antipirateria
Hola Lorenzo,
A mi me va bien (eso creo).
Saludos
Carlos G.
Porqué la has desechado?Loren wrote:2.- He desechado la opción de disco llave USB tal y como se recomienda en este foro.
A mi me va bien (eso creo).
Saludos
Carlos G.
Un Saludo
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Re: Control antipirateria
Fivewidi,FiveWiDi wrote:Hola Lorenzo,
Porqué la has desechado?Loren wrote:2.- He desechado la opción de disco llave USB tal y como se recomienda en este foro.
A mi me va bien (eso creo).
Saludos
Carlos G.
Podrias enviarme tu correo del messenger a wmormar@yahoo.com.mx para charlar sobre la clase USB
gracias de antemano
William, Morales
Saludos
méxico.sureste
Saludos
méxico.sureste
Re: Control antipirateria
Eso es imposible William, no tengo messenger.wmormar wrote:Fivewidi,FiveWiDi wrote:Hola Lorenzo,
Porqué la has desechado?Loren wrote:2.- He desechado la opción de disco llave USB tal y como se recomienda en este foro.
A mi me va bien (eso creo).
Saludos
Carlos G.
Podrias enviarme tu correo del messenger a wmormar@yahoo.com.mx para charlar sobre la clase USB
gracias de antemano
Además tendríamos un problema de horario, yo estoy al otro lado del charco, en Barcelona (bueno cerca).
Ahora bien, mi mail es fwd@telefonica.net para lo que quieras.
Un saludo y gracias a ti.
Carlos G.
Un Saludo
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Re: Control antipirateria
Hola loren
aver si te sirve con esto que hago yo:
1. Crea una base de datos con un solo campo que llamaremos EQUIPO C 20 y ubicala en la carpeta de tu programa
2. Cuando el sistema empieza a ejecutarce utiliza:
cHDD:=ALLTRIM(STR(nSerialHD(CURDRIVE()+':\')))
para cargar el numero de serie del disco en el que tu programa se esta ejecutando, o mejor:
cHDD:=ALLTRIM(STR(nSerialHD('C')))
para obtener el numero de serie del disco duro de la PC donde ejecutas el sistema...
3. Verifica la presencia del numero de serie en la base de datos que creastes para saber si la PC en la que estas ejecutando tu sistema esta en la lista de numeros de serie permitidos.
4. En caso de que el numero de serie de la PC en la que estas ejecutando el programa no se encuentre en la base de datos puedes suministrar una clave de acceso por pantalla para que el sistema registre la "nueva" PC dentro de la lista de equipos permitidos.
5. Para hacer las cosas mas dificiles para los posibles hakers, registra en numero de serie utilizando ENCRYPT(cHDD) para almacenarla encriptada y buscala por medio de DECRYPT(cHDD)
6. Para hacer las cosas mas dificiles para los hakers y mas faciles para ti, deben implementar una funcion que suministre una clave que cambie automaticamente en forma constante ya que si usas una misma clave en algun momento la descubriran. Yo me sirvo de los segundos para generar una clave cambiante y una pequena hoja de excel que uso en mi movil para calular la clave de activacion.
Este metodo nunca me ha fallado y cuento con mas de 400 clientes ademas funciona para hacer que tus programas se ejecuten desde una USB y evitar que te los copien y ejecuten en otras memorias.
Si tiene dudas no duden en preguntar.
Espero te sirva
Saludos desde Panama
aver si te sirve con esto que hago yo:
1. Crea una base de datos con un solo campo que llamaremos EQUIPO C 20 y ubicala en la carpeta de tu programa
2. Cuando el sistema empieza a ejecutarce utiliza:
cHDD:=ALLTRIM(STR(nSerialHD(CURDRIVE()+':\')))
para cargar el numero de serie del disco en el que tu programa se esta ejecutando, o mejor:
cHDD:=ALLTRIM(STR(nSerialHD('C')))
para obtener el numero de serie del disco duro de la PC donde ejecutas el sistema...
3. Verifica la presencia del numero de serie en la base de datos que creastes para saber si la PC en la que estas ejecutando tu sistema esta en la lista de numeros de serie permitidos.
4. En caso de que el numero de serie de la PC en la que estas ejecutando el programa no se encuentre en la base de datos puedes suministrar una clave de acceso por pantalla para que el sistema registre la "nueva" PC dentro de la lista de equipos permitidos.
5. Para hacer las cosas mas dificiles para los posibles hakers, registra en numero de serie utilizando ENCRYPT(cHDD) para almacenarla encriptada y buscala por medio de DECRYPT(cHDD)
6. Para hacer las cosas mas dificiles para los hakers y mas faciles para ti, deben implementar una funcion que suministre una clave que cambie automaticamente en forma constante ya que si usas una misma clave en algun momento la descubriran. Yo me sirvo de los segundos para generar una clave cambiante y una pequena hoja de excel que uso en mi movil para calular la clave de activacion.
Este metodo nunca me ha fallado y cuento con mas de 400 clientes ademas funciona para hacer que tus programas se ejecuten desde una USB y evitar que te los copien y ejecuten en otras memorias.
Si tiene dudas no duden en preguntar.
Espero te sirva
Saludos desde Panama
-
- Posts: 325
- Joined: Sun Feb 03, 2008 11:04 pm
- Location: Argetnina
Re: Control antipirateria
Estimado
muy buena tu sujerencia, ahora si el sistema está instalado en un Servidor, y todas las terminales buscan el ejecutable allí, se puede cargar el numero de serie del disco del Servidor ?
Saludos
David
Argentina
muy buena tu sujerencia, ahora si el sistema está instalado en un Servidor, y todas las terminales buscan el ejecutable allí, se puede cargar el numero de serie del disco del Servidor ?
Saludos
David
Argentina
Re: Control antipirateria
Con el código anterior, que usa CURDRIVE(), creo que necesitas tener conectado el disco duro del servidor a una unidad en cada cliente. Si no puedes hacer esto me temo que no te servirá.
No pienses en UN solo método de protección estático en el tiempo.
Lo ideal es utilizar dos o tres que varíen con el tiempo.
Algunos son tan básicos como crear un archivo inventado por ti en carpetas del sistema que siempre existen y de nombre parecido a algún otro del propio widows, incluso terminado en dll, en fin para liarlo más.
A veces lo más sencillo es lo más difícil de encontrar.
Por otro lado, recuerda que el programa más pirateado del mundo ha dado lugar a una de las fortunas más grandes del planeta...piensa en ello.
Seguramente, tus clientes siempre van a necesitar mantenimiento, incluso si son clientes piratas, un día el ordenador fallará y su mayor valor, los datos, dependerán de ti para ser recuperados.
Saludos.
No pienses en UN solo método de protección estático en el tiempo.
Lo ideal es utilizar dos o tres que varíen con el tiempo.
Algunos son tan básicos como crear un archivo inventado por ti en carpetas del sistema que siempre existen y de nombre parecido a algún otro del propio widows, incluso terminado en dll, en fin para liarlo más.
A veces lo más sencillo es lo más difícil de encontrar.
Por otro lado, recuerda que el programa más pirateado del mundo ha dado lugar a una de las fortunas más grandes del planeta...piensa en ello.
Seguramente, tus clientes siempre van a necesitar mantenimiento, incluso si son clientes piratas, un día el ordenador fallará y su mayor valor, los datos, dependerán de ti para ser recuperados.
Saludos.
Re: Control antipirateria
Alguién dijo alguna vez algo así: "deja que hablen de mi aunque se para mal."Verhoven wrote:Por otro lado, recuerda que el programa más pirateado del mundo ha dado lugar a una de las fortunas más grandes del planeta...piensa en ello.
Seguramente, tus clientes siempre van a necesitar mantenimiento, incluso si son clientes piratas, un día el ordenador fallará y su mayor valor, los datos, dependerán de ti para ser recuperados.
Saludos.
Si tu programa no se puede piratear, cuanta gente crees que lo va a conocer? El que realmente usará tu programa al final lo acabará comprando, simplemente por lo que dice Verhoven: mantenimiento, servició post venta, ampliaciones del programa.
Por cierto pueden piratear una vez, pero cada 'n' actualizaciones cambias el método de protección y quizás te compren el programa en ese momento; es lo que hacen muchas empresas aunque de diferente manera, crean la necesidad y luego venden.
Cuanto vale tu programa? Quien lo piratee, si no pudiera piratearlo lo compraría? O piratearía otro? Buscaría uno free? Entonces cuanto estarías perdiendo?
Se me olvidaba, hace muchos años no me molesté en buscar una copia pirata del programa Contaplus (Sp Editores, en ese tiempo), era tan barato que lo compré en una ¡ Librería ! I(5.000 pesetas de entonces = 30,00 euros actuales)
Esa es otra manera de evitar el pirateo y de expander un producto. Y donde lo instalé lo actualizaron con las siguientes versiones.
Estaremos de acuerdo en que tengo una visión quizás singular del asunto.
En fin, me he ido por las ramas.
Como dicen, mis 2 cents.
Un Saludo
Carlos G.
Un Saludo
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
Carlos G.
FiveWin 19.06 + Harbour 3.2, BCC 7 Windows 10
- Alfredo Arteaga
- Posts: 326
- Joined: Sun Oct 09, 2005 5:22 pm
- Location: Mexico
- Contact:
Re: Control antipirateria
En mi caso genero una contracuenta con el nombre de la empresa pero adicionalmente incluyo limites por documentos, usuarios concurrentes en red, cantidad de empresas o sucursales, fecha de activación, versión y fecha de vencimiento; entre otros controles.
No me preocupa que lo copien, está disponible en mi sitio y es totalmente funcional con sus limitantes. Hoy ya se superan las 50,000 descargas con más de 3,000 usuarios registrados y potenciales clientes.
El cargo es anual. Si se rebasan las condiciones o se deja expirar la licencia el sistema se convierte en demo y permite su uso pero se sale en forma aleatoria permitiendo el registro, consulta o acción máximo de tres procesos.
Creo que conviene hacer un esfuerzo para poner más de un control que otorgue la libertad de uso en forma limitada y dejar que lo copie todo aquel que esté interesado. Si realmente lo usan seguro que lo van a adquirir.
No me preocupa que lo copien, está disponible en mi sitio y es totalmente funcional con sus limitantes. Hoy ya se superan las 50,000 descargas con más de 3,000 usuarios registrados y potenciales clientes.
El cargo es anual. Si se rebasan las condiciones o se deja expirar la licencia el sistema se convierte en demo y permite su uso pero se sale en forma aleatoria permitiendo el registro, consulta o acción máximo de tres procesos.
Creo que conviene hacer un esfuerzo para poner más de un control que otorgue la libertad de uso en forma limitada y dejar que lo copie todo aquel que esté interesado. Si realmente lo usan seguro que lo van a adquirir.
Re: Control antipirateria
Saludos a todos
Bueno he de admitir que el permitir que le copien el programa a uno es una estrategia valida para diseminar nuestro producto. Pero en mi caso, que hago programas que se distribuyen se ejecutan desde memorias USB no me puedo dar ese lujo. Ademas, cuando alguien copia un programa, generalmente copia tambien los datos y por ende permitirlo seria una violacion a la seguridad de la informacion de los clientes que si compraron el producto. Imaginen un inventario de piezas que sea robado por un empleado y vendido a la competencia.
Saludos Lorenzo
Si necesitas ayuda, con mucho gusto...
Con relacion a lo del numero de serie desde un servidor, al ejecutar la aplicacion nSerialHD toma el serial del disco donde se ejecuta la aplicacion asi que no necesitas hacer map... ya que lo que necesitas saber no es el numero de serie del servidor sino el de la PC donde tu quieres que la aplicacion sea utilizada.
Haz lo siguiente:
Una vez que tengas el numero de serie de la PC y hayas validado que no existe en tu lista de equipos permitidos puedes desplegar un dialogo en el cual el usuario pueda ingresar una clave especial que permitiria la ejecución del sistema a partir de ese momento. Como seria una torpeza utilizar la misma clave para todos nuestros sistema, debes implementar una clave que siempre sea distinta. Una forma de hacerlo es utilizando el viejo truco de reemplazar numeros con letras. El problema de este metodo es que si siempre usas la misma letra para un mismo numero, al final todo el mundo sabra cual es tu truco. Asi que lo que debes hacer es una clave en la que la tabla de equivalencias numero – letras sea siempre cambiante. Para hacer esto puedes valerte de la siguiente forma:
• Crea 10 tablas de equivalencias de numeros a letras Ej 0=A 1=B ….. 0=X 1=H
• Lee la hora del sistema y obten el ultimo numero de la hora (segundo)
• Ese numero correspondera a la tabla de equivalencias que debes utilizar de esta forma el usuario observara que no siempre un 1 equivale a una A (por ejemplo)
• Reemplaza los numeros de la hora con sus letras equivalentes y para confundir mas el asunto a tu posible hacker alterna pares con nones….
• El usuario debe ingresar la secuencia correcta de numeros que equivalen a las letras presentadas. Esta es la secuencia de activacion… y la debes suministrar tu cuando tu cliente te llame para dictarte las letras del numero de serie.
• Lo mas recomendable es que en un mobil hagas una hoja de Excel que al ingresar las letras que tu cliente te dicta, te presente los numeros de la clave de activacion para que se los puedas dictar a tu cliente.
PD: En el dialogo que presenta la letras del numero de serie es recomendable presentar palabras cuya inicial correspondan a las letras. Ej. C=charli D=delta P= papa….etc para evitar confusiones sonoras.
Bueno he de admitir que el permitir que le copien el programa a uno es una estrategia valida para diseminar nuestro producto. Pero en mi caso, que hago programas que se distribuyen se ejecutan desde memorias USB no me puedo dar ese lujo. Ademas, cuando alguien copia un programa, generalmente copia tambien los datos y por ende permitirlo seria una violacion a la seguridad de la informacion de los clientes que si compraron el producto. Imaginen un inventario de piezas que sea robado por un empleado y vendido a la competencia.
Saludos Lorenzo
Si necesitas ayuda, con mucho gusto...
Con relacion a lo del numero de serie desde un servidor, al ejecutar la aplicacion nSerialHD toma el serial del disco donde se ejecuta la aplicacion asi que no necesitas hacer map... ya que lo que necesitas saber no es el numero de serie del servidor sino el de la PC donde tu quieres que la aplicacion sea utilizada.
Haz lo siguiente:
Una vez que tengas el numero de serie de la PC y hayas validado que no existe en tu lista de equipos permitidos puedes desplegar un dialogo en el cual el usuario pueda ingresar una clave especial que permitiria la ejecución del sistema a partir de ese momento. Como seria una torpeza utilizar la misma clave para todos nuestros sistema, debes implementar una clave que siempre sea distinta. Una forma de hacerlo es utilizando el viejo truco de reemplazar numeros con letras. El problema de este metodo es que si siempre usas la misma letra para un mismo numero, al final todo el mundo sabra cual es tu truco. Asi que lo que debes hacer es una clave en la que la tabla de equivalencias numero – letras sea siempre cambiante. Para hacer esto puedes valerte de la siguiente forma:
• Crea 10 tablas de equivalencias de numeros a letras Ej 0=A 1=B ….. 0=X 1=H
• Lee la hora del sistema y obten el ultimo numero de la hora (segundo)
• Ese numero correspondera a la tabla de equivalencias que debes utilizar de esta forma el usuario observara que no siempre un 1 equivale a una A (por ejemplo)
• Reemplaza los numeros de la hora con sus letras equivalentes y para confundir mas el asunto a tu posible hacker alterna pares con nones….
• El usuario debe ingresar la secuencia correcta de numeros que equivalen a las letras presentadas. Esta es la secuencia de activacion… y la debes suministrar tu cuando tu cliente te llame para dictarte las letras del numero de serie.
• Lo mas recomendable es que en un mobil hagas una hoja de Excel que al ingresar las letras que tu cliente te dicta, te presente los numeros de la clave de activacion para que se los puedas dictar a tu cliente.
PD: En el dialogo que presenta la letras del numero de serie es recomendable presentar palabras cuya inicial correspondan a las letras. Ej. C=charli D=delta P= papa….etc para evitar confusiones sonoras.
Re: Control antipirateria
yo usaba en un tiempo el serial del disco duro,
pero si formateas la maquina , te da otro serial diferente , esto es molesto para el cliente..
saludos...
pero si formateas la maquina , te da otro serial diferente , esto es molesto para el cliente..
saludos...
Cesar Cortes Cruz
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
Re: Control antipirateria
Si pero todo eso se cobra... ademas con el metodo descrito puedes suministrar el serial por telefono...
Re: Control antipirateria
bueno cobras si es que tu formateas el equipo, pero mis clientes tienen sus propios tecnicos,
y no puedes cobrarle por darle de alta otro numero de serie,
bueno cada quien , yo prefiero controlarlo de una forma que si formatean el equipo, solo
tengan que volver a instalar y listo.
saludos..
y no puedes cobrarle por darle de alta otro numero de serie,
bueno cada quien , yo prefiero controlarlo de una forma que si formatean el equipo, solo
tengan que volver a instalar y listo.
saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
-
- Posts: 257
- Joined: Wed May 16, 2007 9:40 pm
- Location: Iquique Chile
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Re: Control antipirateria
Todo candado, tiene su cerrajero,
Bajo este principio es imposible evitar que copien nuestras aplicaciones, es mas, programas sofisticados como las herramientas CAD, el mismo WINDOWS, OFFICE y otros tantos que viene con seriales complicadas, son copiados, pirateados, creackeados etc etc etc, y me pregunto,,, ¿Debo lidiar con los piratas?, o mejor afino mis sistemas...
El modo de trabajo de ALfredo me parece interesante, personalmente hago lo siguiente:
1- Genero una clave a partir del nombre de la empresa cliente mas su numero registral
2- La aplicacion se compila con ese serial y el nombre de la empresa, es decir va un exe "personalizado"
3- Luego al iniciar por 1ra vez la aplicacion, verifica que en la base de datos este registrado el numero del MAC de la tarjeta de red, si no lo esta, pide el serial que debe ser proporcionado a la empresa.. luego este serial es de responsabilidad de la misma...
Como se indica, es dificil evitar un copia ilegal, pero si podria ser una copia controlada, asi el numero de usuarios ve en aumento,,,,
Salu2
Bajo este principio es imposible evitar que copien nuestras aplicaciones, es mas, programas sofisticados como las herramientas CAD, el mismo WINDOWS, OFFICE y otros tantos que viene con seriales complicadas, son copiados, pirateados, creackeados etc etc etc, y me pregunto,,, ¿Debo lidiar con los piratas?, o mejor afino mis sistemas...
El modo de trabajo de ALfredo me parece interesante, personalmente hago lo siguiente:
1- Genero una clave a partir del nombre de la empresa cliente mas su numero registral
2- La aplicacion se compila con ese serial y el nombre de la empresa, es decir va un exe "personalizado"
3- Luego al iniciar por 1ra vez la aplicacion, verifica que en la base de datos este registrado el numero del MAC de la tarjeta de red, si no lo esta, pide el serial que debe ser proporcionado a la empresa.. luego este serial es de responsabilidad de la misma...
Como se indica, es dificil evitar un copia ilegal, pero si podria ser una copia controlada, asi el numero de usuarios ve en aumento,,,,
Salu2