Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 08:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



AutoIt - .ini verschlüsseln

Discussion on AutoIt - .ini verschlüsseln within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #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
Nakroma2 is offline  
Old 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!)
lolerrr is offline  
Old 12/19/2010, 20:28   #3
 
elite*gold: 5
Join Date: Oct 2010
Posts: 12
Received Thanks: 0
Hab leider kein Skype
Nakroma2 is offline  
Old 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
maxi39 is offline  
Old 12/19/2010, 21:36   #5
 
ZeraPain's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 360
Received Thanks: 249
_StringEncrypt()
ZeraPain is offline  
Old 12/20/2010, 18:15   #6
 
elite*gold: 5
Join Date: Oct 2010
Posts: 12
Received Thanks: 0
Okey Danke
Nakroma2 is offline  
Old 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?
lolerrr is offline  
Old 12/20/2010, 22:13   #8
 
ZeraPain's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 360
Received Thanks: 249
Quote:
Originally Posted by lolerrr View Post
_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.
ZeraPain is offline  
Old 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
maxi39 is offline  
Old 12/21/2010, 08:23   #10
 
-AmA-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
Quote:
Originally Posted by maxi39 View Post
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
-AmA- is offline  
Old 12/21/2010, 13:27   #11


 
MrSm!th's Avatar
 
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.
MrSm!th is offline  
Old 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
lolerrr is offline  
Old 12/22/2010, 00:11   #13


 
MrSm!th's Avatar
 
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.
MrSm!th is offline  
Old 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?
Nakroma2 is offline  
Old 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 ...^^
Loveskill is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.