kopierschutz und verschlüsselung
-
Gruezi,
wie kann ich eine .exe, die auf CD-ROM ausgeliefert wird, am besten gegen Vervielfältigung schützen? Zudem benötige ich eine Verschlüsselung der Textdateien, mit denen die .exe arbeitet.thanks in advance
pablo
-
Hehe, wenn Du darauf eine Antwort gefunden hast, dann sag mir bitte die Lösung, dann verkauf ich dass an die Spielehersteller und werde Millionär
Einen wirklichen Schutz gegen Vervielfältigung gibt es (noch) nicht (zum Glück).
Zum Verschlüßeln von Text/Daten gibts haufenweise Bibliotheken in den jeweiligen Sprachen. Aber ob das was hilft?
-
@Ingo aka Desert Hawk,
einen 100% Schutz gegen das Kopieren von
digitalen Daten wird es nie geben.
Ein Kopierschutz bewirkt nur, das es komplizierter
ist die Daten zu vervielfälltigen.Bye Peter.
-
vielleicht kannst du das gebrauchen. (dann musst du aber schon seeeehr verzweifelt sein...)
#include <iostream> #include <fstream> using namespace std; #define bigBuf 1024 // // int main (int argc, char *argv[]) // int main(int argc, char *argv[]) { int i = 0; int key; int array[bigBuf]; char string[bigBuf]; const char fileName[] = "Code.txt"; cout << "Enter String, max. " << bigBuf << " characters:\n"; cin.get (string, bigBuf); cout << "Key-Number: "; cin >> key; ofstream fout(fileName, ios::out); if (argc == 2) { if (!strcmp (argv[1], "text")) { for (int j = 0; j <= strlen(string) - 1; ++j) { i = (char(string[j])) * key; cout << j << ": " << i << endl; fout << i << "\n"; } goto LClose; } } for (int j = 0; j <= strlen(string) - 1; ++j) { i = (char(string[j])) * key; fout << i << "\n"; } LClose: fout.close(); return 0; }
kodiert den text.
ein anfang, wenn auch kein guter, weil vom mir#include <iostream> #include <fstream> using namespace std; #define bigBuf 1024 void save (int j, int array[bigBuf]); // // int main (int argc, char *argv[]) // int main(int argc, char *argv[]) { int i, j, k; // k für key int array[bigBuf]; const char fileName[] = "Code.txt"; j = 0; ifstream fin(fileName, ios::in); if(!fin) { cout << "Unable to open " << fileName << endl; return 0; } cout << "key: "; cin >> k; while (fin >> i) { array[j] = i; ++j; } fin.close(); ofstream fout(fileName, ios::out); if (argc == 2 && !strcmp (argv[1], "save")) save (j, array); for (int temp = 0; temp <= j - 1; ++temp) { i = array[temp]; i /= k; fout << char(i); } fout << endl; fout.close(); cout << "File encoded.\n"; return 0; } void save (int j, int array[bigBuf]) { ofstream fout ("StringSave.txt", ios::out); if (!fout) { cout << "Copy can't be created.\nCouldn't open 'StringSave.txt'\n"; return; } cout << "Creating Copy...\n"; for (int i = 0; i < j; ++i) fout << array[i] << endl; fout.close(); cout << "Copy created\n"; }
mögliche argumente an das programm:
encode: text -> gibt dir die anzahl int's und die dazugehörigen codierten chars aus.
decode: save -> der codierte text wird nochmal woanders abgespeichert.mfg
-
mir fällt gerade auf, dass das ein sch**** (schlechtes ^^) programm ist. warum
if(... && i <= strlen(irgendwas) -1)
nehmen, wenn man auch
if(... && i < strlen(irgendwas)
nehmen kann?!
mfg
-
Ingo aka Desert Hawk schrieb:
Einen wirklichen Schutz gegen Vervielfältigung gibt es (noch) nicht (zum Glück).
Deswegen schreibe ich ja, dass ich nach der besten (nicht immer ==perfekt) Methode suche.
Habe mir auch schon überlegt, das ganze mit 'nem Dongle zu schützen.
Fällt noch jemandem was ein?mfg
pablo