C/Visual C - Como puedo proptegerlo???

 
Vista:

Como puedo proptegerlo???

Publicado por Juan Carlos (2 intervenciones) el 05/09/2003 08:49:47
Hola,

Desarrolle un programa comercial pero tengo un problema muy serio, no deseo que me lo copien (pirateen) y no se me ocurre ninguna forma eficiente de hacerlo,

Les detallo que la aplicacion es super grande manega muchos archivos el tamaño total son 3 GB de datos e imagenes.

Como la aplicacion trabaja bajo MSDOS, la idea es que mi cliente reciba la aplicacion en un disco duro.

Mi solucion pasa por una rutina en C que pueda compilar con djgpp.

Ojala me puedan ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como puedo proptegerlo???

Publicado por chuidiang (677 intervenciones) el 05/09/2003 09:34:03
Siento no poder darte una solución concreta ni detalles, pero te voy a dar un par de ideas para que investigues a ver si es posible.

- En unix hay una funcion de C, gethostid() que devuelve un id unico para CPU. En visual c++ he visto que existe esa funcion, pero no se si hace lo mismo. Comprobando el host id, tu programa puede correr solo en una cpu. En unix esto es "pirateable". Hay que reemplazar la librería del sistema que tiene la función gethostid() para que te devuelva el valor que tu quieras

- Si el ordenador tiene tarjeta de red, puedes pedirle a la tarjeta su direccion MAC. Esta dirección es única para cada tarjeta de red. Haces depender tu programa de una tarjeta de red concreta, pero bueno, es una opción.

- Otra opción es ver si es posible buscar algún id o número de serie del disco duro.

- Otra opción más tonta es mirar la etiqueta del disco duro. Si tu cliente no es demasiado experto en informática no sabra copiar el disco. Despista aun mas si en el nombre de la etiqueta pones un caracter que no se vea (un espacio al final de la etiqueta o un caracter no imprimible entre medias).

- No sé como, pero también hay forma de meter datos en un sector fijo del disco duro. Tu programa puede buscar en ese sector fijo un dato concreto. Esto evita copias con copy, pero creo que no evita copias de diskcopy. De todas formas esto último no se suele hacer para copiar un programa.

En general, no hay una forma segura 100% de evitar pirateos (ahi tienes los cracks, etc) y cuanto más segura es una forma, más compleja suele ser de programar. De todas formas, cualquier medida, por tonta que sea (como la etiqueta del
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como puedo proptegerlo???

Publicado por Juan Carlos (2 intervenciones) el 05/09/2003 19:30:26
Gracias.

Me gusto la idea de la dirección MAC, ahora: como puedo obtener ese dato desde MSDOS????

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como puedo proptegerlo???

Publicado por chuidiang (677 intervenciones) el 06/09/2003 07:02:36
En unix, el comando ifconfig te la da.
En windows el comando es ipconfig /all.

Tanto en unix como en windows, si no te quieres complicar la vida, bastaría llamar a ese comando con un popen() y obtener su salida (en visual c++ creo que es _popen())

Para ms-dos no tengo ni idea, pero si es capaz de controlar una tarjeta de red, seguramente tenga un comando que diga la IP, configuración y demás.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar