Hi
Ich zeige euch, wie ihr euren Client schützen könnt ohne eine eigene Verschlüselung zu haben:
Gleich im Vorraus: die Idee ist von
Vorraussetzungen:
- Patcher für euren Clienten, der direkt nach dem Patchvorgang den Clienten startet
- meine EXE
Idee:
Die EIX-Dateien im Clienten werden in den ersten paar Sekunden nach dem Clientstart ausgelesan und dannach nicht mehr gebraucht. Jetzt stellt ihr euren Patcher so ein, dass er die EIX Dateien ert am Ende des Patchvorgags runterlädt. Das geht schnell, weil die EIX Dateien nur wenige KB groß sind. Dann startet der Patcher sofort meine EXE, die den Clienten startet, wartet bis er geladen hat und danach alle EIX Dateien aus dem pack-Ordner löscht. Das ist nicht 100% sicher aber mann muss sehr schnell sein, um die EIX Dateien zu bekommen. (Ohne die EIX Dateien ist es unmöglich den Clienten zu entpacken)
Hier der Source Code meiner EXE (AutoIT):
PHP Code:
#Include <File.au3>
#NoTrayIcon
Global $url = "http://127.0.0.1/patch/files/" ;URL zu dem Server, auf dem die eix.txt liegt
Global $fenstername = "METIN2" ;Fenstername eures Clienten
Global $exe = "metin2.dll" ;Die eigentliche EXE, die den Clienten startet
If FileExists("eix.txt") Then
FileDelete("eix.txt")
EndIf
InetGet($url&"/eix.txt", "eix.txt")
Run($exe)
WinWaitActive($fenstername)
$lines = _FileCountLines(@ScriptDir & "/eix.txt")
While ($lines > 0)
$file = FilereadLine("eix.txt", $lines)
FileDelete($file)
$lines = $lines -1
WEnd
FileDelete("eix.txt")
Exit
Ihr müsst auf euren Patchserver noch eine eix.txt hochladen, und als Inhalt alle eure eix Dateien in der Form:
Code:
patch/root.eix
patch/etc.eix
...
Hier eine eix.txt für den ungemoddeten 2007er Clienten:
Code:
pack/BGM.eix
pack/Effect.eix
pack/ETC.eix
pack/guild.eix
pack/icon.eix
pack/indoordeviltower1.eix
pack/indoormonkeydungeon1.eix
pack/indoormonkeydungeon2.eix
pack/indoormonkeydungeon3.eix
pack/indoorspiderdungeon1.eix
pack/item.eix
pack/locale_de.eix
pack/Monster.eix
pack/monster2.eix
pack/NPC.eix
pack/npc2.eix
pack/Outdoor.eix
pack/OutdoorA1.eix
pack/OutdoorA2.eix
pack/OutdoorA3.eix
pack/OutdoorB1.eix
pack/OutdoorB3.eix
pack/OutdoorC1.eix
pack/OutdoorC3.eix
pack/outdoordesert1.eix
pack/outdoorduel.eix
pack/outdoorempirebattle1.eix
pack/outdoorfielddungeon1.eix
pack/outdoorflame1.eix
pack/outdoorgmguildbuild.eix
pack/outdoorguild1.eix
pack/outdoorguild2.eix
pack/outdoorguild3.eix
pack/outdoormilgyo1.eix
pack/OutdoorSnow1.eix
pack/outdoort1.eix
pack/outdoort2.eix
pack/outdoort3.eix
pack/outdoort4.eix
pack/outdoortrent.eix
pack/outdoortrent02.eix
pack/outdoorwedding.eix
pack/PC.eix
pack/pc2.eix
pack/Property.eix
pack/Psyco.eix
pack/root.eix
pack/season1.eix
pack/season2.eix
pack/Sound.eix
pack/sound2.eix
pack/Terrain.eix
pack/textureset.eix
pack/Tree.eix
pack/uiloading.eix
pack/uiscript.eix
pack/Zone.eix
mfg poll7979