|
You last visited: Today at 08:01
Advertisement
AutoIt - .ini verschlüsseln
Discussion on AutoIt - .ini verschlüsseln within the AutoIt forum part of the Coders Den category.
12/19/2010, 13:08
|
#1
|
elite*gold: 5
Join Date: Oct 2010
Posts: 12
Received Thanks: 0
|
AutoIt - .ini verschlüsseln
Hallo,
Ich mache gerade ein Spiel und speicher die Settings in einer save.ini datei.
Meine Frage, damit man das Level nicht auf Hundert setzen kann oder so, wäre:
Wie kann ich die .ini in meiner Gamedatei verschlüsseln, aber so, das sie autoit auch noch erkennt?
Mfg
|
|
|
12/19/2010, 13:17
|
#2
|
elite*gold: 177
Join Date: Apr 2008
Posts: 283
Received Thanks: 143
|
da musst du dir einen Algorythmus ausdenken wie der etwas verschüsselt und wie wieder entschlüsselt den solltest du dir selber ausdenken damit niemand drauf kommt btw wenn du ein spiel mit Autoit machst solltest du dir was zum crypten holen z.B. Themida damit man es nicht einfach decompiled und so den Algorythmus raus kriegt bzw den quelltext Obfuscaten damit der nicht zu einfach gelesen wird! wenn du ihn nicht Cryptest
Alternativ kannst du die Highscores auch in der Registry sprichern da solltest du aber auch alles Obfuscaten bzw den Highscore verschlüsseln
/edit habe dir mal ein Beispiel Programm geschrieben(scheib mich mit deinem skype namen an wenn du einen hast um das zu kriegen!)
|
|
|
12/19/2010, 20:28
|
#3
|
elite*gold: 5
Join Date: Oct 2010
Posts: 12
Received Thanks: 0
|
Hab leider kein Skype
|
|
|
12/19/2010, 20:38
|
#4
|
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
|
es gibt auch ganz einfache möglichkeiten:
1. das lvl unteradrem namen abspeichern
2. die .ini im Temp ordner abspeichern
3. Die .ini einem andren namen geben und nicht save.ini
4. eine eigene Verschlüsselung schreiben z.b 1 ist A und 2 ist B
usw...
ansonsten schließe ich mich dem oberen an
|
|
|
12/19/2010, 21:36
|
#5
|
elite*gold: 0
Join Date: Jan 2010
Posts: 360
Received Thanks: 249
|
_StringEncrypt()
|
|
|
12/20/2010, 18:15
|
#6
|
elite*gold: 5
Join Date: Oct 2010
Posts: 12
Received Thanks: 0
|
Okey Danke
|
|
|
12/20/2010, 19:35
|
#7
|
elite*gold: 177
Join Date: Apr 2008
Posts: 283
Received Thanks: 143
|
_StringEncrypt() das ist ja toll einfach drcompilen und passwort auslesen deshalb ist eine verbindung aus beidem Methoden gut 1=a.... und _StringEncrypt() so habe ich es gemacht(kann ich dir wenn du willst schicken
1. das lvl unteradrem namen abspeichern tya einfach mal alles ändern ftw
2. die .ini im Temp ordner abspeichern-toll dann is sie i wann gelöscht
3. Die .ini einem andren namen geben und nicht save. ini-boah das ist klug aber wenn nur eine ini da ist warum nich die einfach öffnen?
|
|
|
12/20/2010, 22:13
|
#8
|
elite*gold: 0
Join Date: Jan 2010
Posts: 360
Received Thanks: 249
|
Quote:
Originally Posted by lolerrr
_StringEncrypt() das ist ja toll einfach drcompilen und passwort auslesen deshalb ist eine verbindung aus beidem Methoden gut 1=a.... und _StringEncrypt() so habe ich es gemacht(kann ich dir wenn du willst schicken
1. das lvl unteradrem namen abspeichern tya einfach mal alles ändern ftw
2. die .ini im Temp ordner abspeichern-toll dann is sie i wann gelöscht
3. Die .ini einem andren namen geben und nicht save. ini-boah das ist klug aber wenn nur eine ini da ist warum nich die einfach öffnen?
|
wenn du mit der logik dran gehst dann kannst du sowieso machen was du willst, weil wenn man es decompiled, dann ists egal was du anwendest. man kanns immer herausfinden.
|
|
|
12/20/2010, 22:49
|
#9
|
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
|
das beste ist immer noch alles über einen server zu machen, wo das lvl und andere wichtige daten gespeichert sind
|
|
|
12/21/2010, 08:23
|
#10
|
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
|
Quote:
Originally Posted by maxi39
das beste ist immer noch alles über einen server zu machen, wo das lvl und andere wichtige daten gespeichert sind
|
ich bezweifle das jemand der noch keine Konfigurationsdatei verschlüsseln kann, einen Server skripten kann...
@Topic:
1. werte in ini abspeichern
2. Datei mit einer bereits vorhandenem Algorythmus verschlüsseln
beim auslesen einfach rückwärts... also entschlüsseln und danach werte lesen
Edit:
Hab im Forum gesucht:
Quote:
Code:
Func _XXTEA_Encrypt($Data, $Key)
$Data = Binary($Data)
Local $DataLen = BinaryLen($Data)
If $DataLen = 0 Then
Return ""
ElseIf $DataLen < 8 Then
$DataLen = 8
EndIf
Local $Opcode = '0x83EC14B83400000099538B5C2420558B6C242056578B7C9DFCF7FB89C683C606C74424180000000085F68D76FF0F8EEA000000896C24288D4BFF8D549D00894C2410895424148974242081442418B979379E8B4C2418C1E90281E103000000894C241C31F6397424107E568B5424288BCF8B6CB204C1E9058D14AD0000000033CA8BD58BC7C1EA03C1E00433D003CA8B5424188BDE81E303000000335C241C8B4424308B1C9833D533DF03D333CA8B542428010CB28B0CB2463974241089CF7FAA8B5424288BCF8B2AC1E9058D14AD0000000033CA8BD58BC7C1EA03C1E00433D003CA8B5424188BDE81E303000000335C241C8B4424308B1C9833D533DF03D3FF4C242033CA8B542414014AFC8B4AFC8B54242089CF420F8F2DFFFFFF5F31C05E5D5B83C414C21000'
Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]")
DllStructSetData($CodeBuffer, 1, $Opcode)
Local $V = DllStructCreate("byte[" & Ceiling($DataLen / 4) * 4 & "]")
DllStructSetData($V, 1, $Data)
Local $K = DllStructCreate("byte[16]")
DllStructSetData($K, 1, $Key)
DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
"ptr", DllStructGetPtr($V), _
"int", Ceiling($DataLen / 4), _
"ptr", DllStructGetPtr($K), _
"int", 0)
Local $Ret = DllStructGetData($V, 1)
$CodeBuffer = 0
$V = 0
$K = 0
Return $Ret
EndFunc
Func _XXTEA_Decrypt($Data, $Key)
$Data = Binary($Data)
Local $DataLen = BinaryLen($Data)
If $DataLen = 0 Then Return ""
Local $Opcode = '0x83EC10B83400000099538B5C241C55568B742420578B3EF7FB69D0B979379E81C256DA4CB5895424180F84DD000000897424248D4BFF8D149E894C2410895424148B4C2418C1E90281E103000000894C241C8B742410837C2410007E528B5424248B6CB2FC8BCD8BD7C1E905C1E20233CA8BD78BC5C1EA03C1E00433D003CA8B5424188BDE81E3030000008B44242C33D7335C241C8B1C9833DD03D333CA8B542424290CB28B0CB24E89CF85F67FAE8B5424148B6AFC8BCD8BD7C1E905C1E20233CA8BD78BC5C1EA03C1E00433D003CA8B5424188BDE81E3030000008B44242C33D7335C241C8B1C9833DD03D333CA8B542424290A8B0A89CF814424184786C861837C2418000F8535FFFFFF5F31C05E5D5B83C410C21000'
Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]")
DllStructSetData($CodeBuffer, 1, $Opcode)
Local $V = DllStructCreate("byte[" & Ceiling($DataLen / 4) * 4 & "]")
DllStructSetData($V, 1, $Data)
Local $K = DllStructCreate("byte[16]")
DllStructSetData($K, 1, $Key)
DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
"ptr", DllStructGetPtr($V), _
"int", Ceiling($DataLen / 4), _
"ptr", DllStructGetPtr($K), _
"int", 0)
Local $Ret = DllStructGetData($V, 1)
$CodeBuffer = 0
$V = 0
$K = 0
Return $Ret
EndFunc
Func _RC4($Data, $Key)
Local $Opcode = "0xC81001006A006A005356578B551031C989C84989D7F2AE484829C88945F085C00F84DC000000B90001000088C82C0188840DEFFEFFFFE2F38365F4008365FC00817DFC000100007D478B45FC31D2F775F0920345100FB6008B4DFC0FB68C0DF0FEFFFF01C80345F425FF0000008945F48B75FC8A8435F0FEFFFF8B7DF486843DF0FEFFFF888435F0FEFFFFFF45FCEBB08D9DF0FEFFFF31FF89FA39550C76638B85ECFEFFFF4025FF0000008985ECFEFFFF89D80385ECFEFFFF0FB6000385E8FEFFFF25FF0000008985E8FEFFFF89DE03B5ECFEFFFF8A0689DF03BDE8FEFFFF860788060FB60E0FB60701C181E1FF0000008A840DF0FEFFFF8B750801D6300642EB985F5E5BC9C21000"
Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]")
DllStructSetData($CodeBuffer, 1, $Opcode)
Local $Buffer = DllStructCreate("byte[" & BinaryLen($Data) & "]")
DllStructSetData($Buffer, 1, $Data)
DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
"ptr", DllStructGetPtr($Buffer), _
"int", BinaryLen($Data), _
"str", $Key, _
"int", 0)
Local $Ret = DllStructGetData($Buffer, 1)
$Buffer = 0
$CodeBuffer = 0
Return $Ret
EndFunc
Beispiel code:
Code:
$satz=Inputbox("","Gib den zu verschlüsselnden Satz ein")
$key=Inputbox("","Gib das passwort ein")
$encrypt=_XXTEA_Encrypt($satz, $key)
Msgbox(0,"test",$encrypt)
$decrypt=_XXTEA_Decrypt($encrypt, $key)
$decrypt=BinarytoString($decrypt)
Msgbox(0,"test",$decrypt)
|
ungetestet
Made by Shadow992
|
|
|
12/21/2010, 13:27
|
#11
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
|
da musst du dir einen Algorythmus ausdenken wie der etwas verschüsselt und wie wieder entschlüsselt den solltest du dir selber ausdenken damit niemand drauf kommt
|
blödsinn, er sollte einen bekannten wie AES nehmen.
ist doch schwachsinn, sich einen total schlechten und unsicheren selbst auszudenken; lass das mal lieber die profis machen.
Quote:
Quote:
_StringEncrypt() das ist ja toll einfach drcompilen und passwort auslesen deshalb ist eine verbindung aus beidem Methoden gut 1=a.... und _StringEncrypt() so habe ich es gemacht(kann ich dir wenn du willst schicken
1. das lvl unteradrem namen abspeichern tya einfach mal alles ändern ftw
2. die .ini im Temp ordner abspeichern-toll dann is sie i wann gelöscht
3. Die .ini einem andren namen geben und nicht save. ini-boah das ist klug aber wenn nur eine ini da ist warum nich die einfach öffnen?
|
|
nein, das ist totaler müll.
wenn man einfach decompilen kann um das passwort für StringEncrypt zu lesen, kann man es auch einfach für deine methode machen.
wie gesagt, nimm eine richtige verschlüsselung und speicher das passwort im internet ab.
autoit ist wegen der dekompilierfreude eine recht unsicherer sprache und deshalb nicht wirklich für verschlüsselungen geeignet, die das passwort im code enthalten.
wenn du es aus dem internet ausliest (am besten da auch verschlüsselt) machst du es den leuten ein bisschen schwerer, als wenn du es statisch im programm hast (selbst in anderen sprachen könnte man durch reverse engineering den key finden).
der algorithmus darf ruhig bekannt sein (alles andere ist auch blödsinn, schließlich kann man ihn ja leicht herausfinden), aber das passwort muss geheim gehalten werden.
mein tipp: wenn du spiele schreibst, ist autoit eh nicht die geeigneste sprache.
Quote:
|
das beste ist immer noch alles über einen server zu machen, wo das lvl und andere wichtige daten gespeichert sind
|
^this
Quote:
|
ich bezweifle das jemand der noch keine Konfigurationsdatei verschlüsseln kann, einen Server skripten kann...
|
bitte was???
das würde gerade mal ein bisschen php verlangen und wenn er autoit kann sollte eben php lernen auch kein problem sein.
holt er sich noch nen free webspace mit ftp und mysql und fertig.
|
|
|
12/21/2010, 20:20
|
#12
|
elite*gold: 177
Join Date: Apr 2008
Posts: 283
Received Thanks: 143
|
Quote:
|
der algorithmus darf ruhig bekannt sein (alles andere ist auch blödsinn, schließlich kann man ihn ja leicht herausfinden), aber das passwort muss geheim gehalten werden.
|
jo das ist das haupt problem da kann man auch string encrypt nehmen wenn man das Programm evrschlüsselt(crypted) mit Themida oder so (ja unacker und so) dann is das nicht so das Problem mit dem decompilen.....
Quote:
mein tipp: wenn du spiele schreibst, ist autoit eh nicht die geeigneste sprache.
Zitat:
das beste ist immer noch alles über einen server zu machen, wo das lvl und andere wichtige daten gespeichert sind
|
joa server is nich sooo toll wegen sql injection und so was wenn man das mit php macht und wenn man es decompiled könnte man auch so falsche high scores an den server schicken....
jo mach i was anderes wie c++ für dein spiel wird wohl am besten sein
|
|
|
12/22/2010, 00:11
|
#13
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
wenn man vernünftig escapet ist das kein problem.
und mal ganz ernsthaft:
sql injection ist unwahrscheinlicher, als dass sich ein 0815 noob nen decompiler schnappt und das programm decompilet.
|
|
|
12/22/2010, 09:53
|
#14
|
elite*gold: 5
Join Date: Oct 2010
Posts: 12
Received Thanks: 0
|
Ich kann einigermaßen php. Aber wie liest man den Server bitte aus?
|
|
|
12/22/2010, 10:14
|
#15
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,583
Received Thanks: 808
|
speicher doch alles auf einen free ftp server ab ...^^
|
|
|
 |
|
Similar Threads
|
epk eix verschlüsseln?
11/25/2010 - Metin2 Private Server - 6 Replies
hey com,ist es möglich die epk und eix so zu verschlüsseln das der 2010er client sie lesen kann aber mir keiner in meinen datein rumpfuschen kann? also sie nicht entpacken kann?
|
Pc Dateien verschlüsseln
09/14/2010 - Metin2 Private Server - 15 Replies
hallo Epvp,
ich habe schon gesucht etc.. google.de alles nichts gefunden!
Vllt. habt ihr ahnung :D also
ich würde gerne wissen, wie man in einem Metin clienten die PC dateien verschlüsseln kann?
Lieben Gruß
|
Autoit Dateien Verschlüsseln und Entschlüsseln?
08/12/2010 - AutoIt - 15 Replies
Abend!
Ist es irgendwie möglich in AutoIT einen Text zu Verschlüsseln der nicht über den Editor zu berarbeiten ist aber dennoch später wieder mit AutoIT zu Entschlüsseln.Möchte damit eine "Speicherdatei" anlegen aber da man dan diese Datei mit Editor o.ä Ändern könnte das man z.b statt normalerweise Level 2, Level 99 hinschreibt ist das auch blöd sonst würde ich es ja über eine .ini Datei machen.
Hoffe ihr könnt mir helfen
|
Scripts verschlüsseln
05/15/2010 - Diablo 2 Programming - 3 Replies
Hat jemand ne idee ob es möglich ist die bot scripts zu verschlüsseln ,dass sie von menschen nicht mehr gelesen werden können aber noch problemlos von der engine interpretiert werden?
Ich denke nicht ,dass es geht aber vllt. lieg ich ja falsch.
Wenn ich mein zeugs release hab ich wenig lust drauf ,dass es von so abzockern wie
:: BotTronics || The ONLY Bot for Diablo II ::
geklaut und verkauft wird :(
|
verschlüsseln
05/12/2008 - Kal Online - 0 Replies
also ich hab das pw von unity v2 herausgefunden und will jetzt die jobsystem-e datei wechseln also lösch ich die eine und tuh die neue rein muss jetzt noch die neue verschlüseln aber das klappt nicht ich hab schon viele sachenn gedownloaded und probiert die verschlüsseln alle aber das klappt trotztdem nie.deswegen wollt ich fragen wie ich es verschlüsseln soll.mit winrar verschlüsselt das garnet wen ich probiere.hab das jobsystem-e von zogga benutz der hat hier ma ein tut geschrieben.
und das...
|
All times are GMT +1. The time now is 08:01.
|
|