Savedateien cheatsicher?
Übersicht

![]() |
pileBetreff: Savedateien cheatsicher? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, mich würde gern interessieren, wie ihr eure Savedateien cheatsicher macht? Wenn ich z.B. was in einer Textdatei oder ähnliches abspeichere, könnte ich die Datei mit leichtigkeit manipulieren. Und da jeder der Spiele (und auch Programme) programmiert sich mit den Dateien befassen muss, die Variablen auch nach dem ersten Programmlauf verfügbar machen, denke ich das jeder schon vor dieser Frage stand. | ||
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238% |
DjDETE |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nicht mit Writeline sondern mit Writestring![]() ![]() MfG DeTe |
||
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden. |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich empfehle eine Mini-Verschlüsselung mit Xor![]() Code: [AUSKLAPPEN] test$=Xor_Code("Hallo!",100)
Print test$ Print Xor_Code(test$,100) WaitKey() End Function Xor_Code$(txt$,key) ;Key nur von 0 bis 255 sinnvoll Local temp$="" For i=1 To Len(txt$) temp$=temp$+Chr(key Xor Asc(Mid(txt$,i,1))) Next Return temp$ End Function Einfach und effektiv. Klar, kann leicht geknackt werden aber für die Zwecke eines Hobby-Programmierers reicht das schon. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
c64 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
B3DCODE
Code: [AUSKLAPPEN] ; ; SECUREDATA V1.0 ;---------------- ; ; author : C64 ; ;---------------- ; EXAMPLE ; ------- Local bank=CreateBank (10001) For c=0 To 10000 PokeByte (bank,c,Rand(255)) Next saveSecure"testfile.ssc",bank,666 loadSecure"testfile.ssc", 666 Function SaveSecure (filename$,bank,securecode=1) Local checksum Local filelength Local currentbyte Local file file=WriteFile (filename) filelength=BankSize (bank) WriteInt file,filelength For c = 0 To filelength currentbyte=PeekByte (bank,c) WriteByte file,currentbyte checksum=checksum+securecode*(currentbyte+c) Next WriteInt file,checksum Print checksum CloseFile file End Function Function LoadSecure (filename$,securecode=1) Local checksum Local sum Local filelength Local currentbyte Local file Local bank file=OpenFile (filename) If file bank =CreateBank ( ReadInt(File) ) filelength=BankSize ( bank ) For c = 0 To filelength If Eof (file) RuntimeError "?!" Exit currentbyte=ReadByte (file) PokeByte bank,c,currentbyte checksum=checksum+securecode*(currentbyte+c) Next sum=ReadInt (file) If checksum = sum CloseFile file Return bank Else CloseFile file Print checksum RuntimeError "Load failed "+sum EndIf Else RuntimeError "File failed" EndIf End Function BMAXCODE Code: [AUSKLAPPEN] ' SECUREDATA V1.0 '---------------- ' ' author : C64 ' '---------------- Rem ' EXAMPLE ' ------- Local bank:TBank=CreateBank (10001) For Local c:Int=1 To 10000 PokeByte (bank,c,Rand(255)) Next saveSecure"testfile.ssc",bank,666 loadSecure"testfile.ssc", 666 EndRem Function SaveSecure (filename:String,bank:TBank,securecode:Int=1) Local checksum :Int .. ,filelength :Int .. ,currentbyte :Byte .. ,file :TStream .. file=WriteFile (filename) filelength=BankSize (bank) WriteInt file,filelength For Local c:Int = 1 To filelength-1 currentbyte=PeekByte (bank,c) WriteByte file,currentbyte checksum:+securecode*(currentbyte+c) Next WriteInt file,checksum Print checksum CloseFile file EndFunction Function LoadSecure:TBank (filename:String,securecode:Int=1) Local checksum :Int .. ,sum :Int .. ,filelength :Int .. ,currentbyte :Byte .. ,file :TStream .. ,bank :TBank .. file=OpenFile (filename) If file bank =CreateBank ( ReadInt(File) ) filelength=BankSize ( bank ) For Local c:Int = 1 To filelength-1 If Eof (file) Exit currentbyte=ReadByte (file) PokeByte bank,c,currentbyte checksum:+securecode*(currentbyte+c) Next sum=ReadInt (file) If checksum = sum CloseFile file Return bank Else CloseFile file Notify "Load failed "+sum EndIf Else Notify "File failed" EndIf EndFunction SecureCode muss beim Speichern und laden gleich sein, deine Daten in eine Bank und aus dieser heraus zu bekommen musst du allein handeln. mfg. C64 |
||
Betreten verboten! Kinder haften für ihre Eltern! |
![]() |
pile |
![]() Antworten mit Zitat ![]() |
---|---|---|
Super, vielen Dank an Euch. Damit kann ich schon einiges Anfangen! | ||
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238% |
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Art daten zu sichern ist es sie an den komischsten orten abzuspeichern.
z.b. C:\Windows\System32\user88.dat ich schätze mal niemand ändert so gern was in dem ordner, und da muss man auch nichts verschlüsseln. |
||
It's done when it's done. |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine sehr schlechte Idee, weil man normalerweise keinerlei rechte hat, dort irgendetwas zu schreiben, ausser wenn man mit Windows 98 arbeitet oder unter windows XP als administrator. Von beidem ist stark abzuraten, von deiner Lösung auch. | ||
![]() |
kog |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dazu kommt, das man den System32 Ordner zumüllt oder nicht? | ||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, und man kann ganz leicht mit Filemon oder anderen 'besseren' Tools ganz leicht feststellen, wohin ein Datenzugriff stattfindet. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group