Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut] Kodowanie Plików Klienta


Arymanik

Rekomendowane odpowiedzi

Opublikowano

Witam,

 

Ważne!!:

Na wstępie chce zaznaczyć, że jeśli ktokolwiek zrobi podobny poradnik z moim sposobem pakowania plików, to będzie największym sku*****em i cwe**em <---Sprawdź słownik co te słowa tak naprawdę oznaczają.

 

 

 

Dobrze a teraz co do samego sposobu, napiszę wprost, żaden Tim, ani nawet Ymir nie rozpakują tego. Raz spakowane pliki przepadają na zawsze, dlatego potrzebuje kopii rozpakowanych plików.

Dlaczego się spytacie? To czego się po prostu nieda zrobić, jest najlepiej zabezpieczone.

Na czym polega w ogóle ta metoda?

Na stworzeniu sztucznego pliku ze znakiem specjalnym.

 

Jak działają znaki specjalne?

Każdy system nawet Linuxy/Unixy się wysypują podczas rozpakowywania. Czemu? Nazwa pliku musi zawierać standardowe znaki alfabetu + 0-9. System po prostu nie czyta tego kodowania i wykrzacza się.

 

A teraz jak to zrobić:)

 

 

-Posiadamy wypakowane pliku, oraz stworzony plik .xml do pakowania.

 

-Edytujemy przez notepada++ albo zwykłego notepada plik od pakowania w formacie:

 

.xml

 

-I teraz dodajemy następujące przykładowe linijki(przykład na pliku ETC):

 

widzimy takie coś:

 

 

<Buildfile version="1.1">
<Action type="create" output="C:\scieżka gdzie ma stworzyć się plik .epk i eix\ETC">
	<File archivedPath="d:/ymir work/ui/936_guild.dds" type="0"><![CDATA[source\ymir work\ui\936_guild.dds]]></File>
	<File archivedPath="d:/ymir work/ui/936_introempire.dds" type="0"><![CDATA[source\ymir work\ui\936_introempire.dds]]></File>
	<File archivedPath="d:/ymir work/ui/936_intrologin.dds" type="0"><![CDATA[source\ymir work\ui\936_intrologin.dds]]></File>
	<File archivedPath="d:/ymir work/ui/936_introselect.dds" type="0"><![CDATA[source\ymir work\ui\936_introselect.dds]]></File>
	<File archivedPath="d:/ymir work/ui/936_windows.dds" type="0"><![CDATA[source\ymir work\ui\936_windows.dds]]></File>
	<File archivedPath="d:/ymir work/ui/949_guild.dds" type="0"><![CDATA[source\ymir work\ui\949_guild.dds]]></File>
i dalszy kod....

 

Musimy dodać takie coś na początku, dlatego bo packery i unpackery wypakowywują pliki po kolei:

 

	<File archivedPath="d:/ymir work/ahripatch/?????.tga"  type="1"><![CDATA[source\ymir  work\ahripatch\plomykogon.tga]]></File>
	<File archivedPath="d:/ymir work/ui/???????????.dds"  type="0"><![CDATA[source\ymir  work\ui\936_guild.dds]]></File>   

 

I otrzymamy:

 

<Buildfile version="1.1">
<Action type="create" output="C:\scieżka gdzie ma stworzyć się plik .epk i eix\ETC">
	<File archivedPath="d:/ymir work/ahripatch/?????.tga" type="1"><![CDATA[source\ymir work\ahripatch\plomykogon.tga]]></File>
	<File archivedPath="d:/ymir work/ui/???????????.dds" type="0"><![CDATA[source\ymir work\ui\936_guild.dds]]></File>	
	<File archivedPath="d:/ymir work/ui/936_guild.dds"  type="0"><![CDATA[source\ymir  work\ui\936_guild.dds]]></File>
	<File  archivedPath="d:/ymir work/ui/936_introempire.dds"  type="0"><![CDATA[source\ymir  work\ui\936_introempire.dds]]></File>
	<File  archivedPath="d:/ymir work/ui/936_intrologin.dds"  type="0"><![CDATA[source\ymir  work\ui\936_intrologin.dds]]></File>
	<File  archivedPath="d:/ymir work/ui/936_introselect.dds"  type="0"><![CDATA[source\ymir  work\ui\936_introselect.dds]]></File>
	<File  archivedPath="d:/ymir work/ui/936_windows.dds"  type="0"><![CDATA[source\ymir  work\ui\936_windows.dds]]></File>
	<File  archivedPath="d:/ymir work/ui/949_guild.dds"  type="0"><![CDATA[source\ymir  work\ui\949_guild.dds]]></File>
i dalszy kod...

Teraz wyjaśnię dokładnie jak to działa. Otóż tworzymy plik który ma w nazwie "?????", co to daje? To że system nie może stworzyć takiego pliku i poprostu abortuje cały proces.

Jeżeli jakimś cudem zdarzy się że wypakuje to po prostu dodajcie gdzieś po środku dodatkową linijkę taką jak na początku :). Mogą być dwie, trzy, a nawet starczy jedna.

Są jeszcze dodatkowe znaki, których systemy nie czytają i po prostu jak stworzą taki plik łapiecie BSOD'a albo restartuje Wam się system.

 

Informacja od Autora:

Udostępniam ten sposób, aby wszystkie klienty były zakodowane, jak powiem Wam jak ukryć w pełni porty połączenia, wtedy już nigdy żaden cheat nie zadziała na żadnym serwerze. A do tego mi niedaleko :)

Mam nadzieję że poradnik Wam się bardzo przyda, dlatego prosiłbym Was o limity +++++, a mogę Wam obiecywać że dowiecie się więcej. Coś za coś :). Pozbędę się każdego syfu, który psuję tą grę, bez anty cheatów.

Pozdrawiam Aryman

 

 

PS. Jeżeli temat dla Ciebie jest niezrozumiały to nie zabieraj się za robienie serwera :) i klienta.

admin2r.png
  • Odpowiedzi 70
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Szerokie posunięcie... Zrozumiałem to jak napisałeś do mnie

Co do pakowania:

Pakuj w ten sposób każdy plik .epk .eix:

dodaj na początku, w pierwszej linii że pakuje jakikolwiek plik z Twoich plików i daj mu nazwę DOCELOWĄ "???????.???????????"

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

Nie ma lipy ; >

@up Przed hackami tym się nie obronisz.

Jeśli pracowałeś nad clientem naprawde długo, i nie chcesz żeby ktoś od tak sobię go przywłaszczył, to właśnie można zrobić coś takiego.

Opublikowano

Nie ma lipy ; >

@up Przed hackami tym się nie obronisz.

Jeśli pracowałeś nad clientem naprawde długo, i nie chcesz żeby ktoś od tak sobię go przywłaszczył, to właśnie można zrobić coś takiego.

No zobaczymy, he :D Część osób kombinujących z dmg to zatrzyma.

Opublikowano

Tym zabezpieczeniem nie zablokujesz DMG, bo pliki są 'podmienialne', czyli mogę podmienić je na swoje. Jedynie zablokujesz swoją pracę , która jest w środku ^^

Saying Java is good because it works on all operating systems is like saying anal sex is good because it works on all genders.

Opublikowano

tego potrzebowalem ;)

+ dla ciebie

 

@EDIT : @Arymanik :

thx za +

to ja ci dam 2 +

 

@EDIT2 : znowu ktos dal - -.-

 

;Script by ziuto
;Source-code Autoit v3
$User = InputBox("Twoj nick", "Podaj swoj nick", "tu go wpisz")
If $User = "ziuto" Then
$gui = GUICreate("User " & $User, 175, 100, -1, -1, 0x00080000)
$button_lubie_cie = GUICtrlCreateButton("Sam sie lubie", 50, 10)
$button_dam_ci_5_gwiazdek = GUICtrlCreateButton("Dam sobie 5 gwiazdek", 30, 40)
ElseIf $User <> "ziuto" Then
MsgBox(0, "Powitanie", "Siema " & $User)
$gui = GUICreate("User " & $User, 175, 100, -1, -1, 0x00080000)
$button_lubie_cie = GUICtrlCreateButton("Lubie cie ziuto", 47, 10)
$button_dam_ci_5_gwiazdek = GUICtrlCreateButton("Dam ci 5 gwiazdek ziuto", 25, 40)
EndIf
GUISetState(@SW_SHOW, $gui)
While $User = "ziuto"
$msg = GUIGetMsg()
Select
Case $msg = -3
ExitLoop
Case $msg = $button_lubie_cie
MsgBox(0, "Lubie sie", "Sam sie lubie :o")
Case $msg = $button_dam_ci_5_gwiazdek
MsgBox(0, "Dam sobie 5 gwiadek", "Ze bym to ja mogl sam sobie dac")
EndSelect
WEnd
While $User <> "ziuto"
$msg = GUIGetMsg()
Select
Case $msg = -3
ExitLoop
Case $msg = $button_lubie_cie
MsgBox(0, "Lubie cie", "A za co ?")
InputBox("A za co ?", "Za co mnie lubisz ?", "???")
MsgBox(0, "Za to", "Aha" & @CRLF & "Dobrze to wiedziec xD" & @CRLF & "Nq")
ShellExecute("http://www.mpcforum.pl/")
ExitLoop
Case $msg = $button_dam_ci_5_gwiazdek
ShellExecute("http://www.mpcforum.pl/user/259390-ziuto/")
EndSelect
WEnd


Opublikowano

@UP Być może po to żeby nikt nie upoważniony nie grzebał ci w kliencie??

 

@TOPIC Dałem ci już + zaraz podkleje w spisie.

235761444056892195480.gif

Opublikowano

Jak przeczytałem tytuł tematu myślałem że dałeś lz_key-a czy coś w tym stylu ^^ Ale ten sposób jest zajebisty ;)

Opublikowano

Jak przeczytałem tytuł tematu myślałem że dałeś lz_key-a czy coś w tym stylu ^^ Ale ten sposób jest zajebisty ;)

 

heh , sposób nawet fajny , ale i tak tak jak wojtek powiedział będzie możliwa podmiana pliki... niestety ale to nam nie zastąpi iz_keya

Your superman is here, bitch!

Opublikowano

heh , sposób nawet fajny , ale i tak tak jak wojtek powiedział będzie możliwa podmiana pliki... niestety ale to nam nie zastąpi iz_keya

 

Podmiana plików? A co za problem przenieść plik z root.epk i root.eix o nazwie game.py do folderu "PC" i dać w każdym roocie import /ściezka/game :)?

Pozdrawiam

admin2r.png
Opublikowano

Arymanik :) lepszy sposób od mojego ^^ , bo tu się nie da tego nawet rozpakować ^^ wreszcie moja praca nie pójdzie na pustynie -.-

1std.png

 

"Nigdy nie kłóć się z idiotą. Szybko sprowadzi Cię do swojego poziomu i pokona doświadczeniem."

 

Start projektu WSLR Dnia 27.11.12r. Godz. 9.00

Opublikowano

Arymanik :) lepszy sposób od mojego ^^ , bo tu się na da tego nawet rozpakować ^^ wreszcie moja praca nie pójdzie na pustynie -.-

 

Jest jeszcze druga metoda, która rozwala system, osobie rozpakowywującej, ale chodzi teraz tylko o folder PC/PC2, bo będą zajmować po 120Mb :P, tworzymy po prostu około 1 miliona katalogów w jednym folderze :), system wtedy siada i wita Was BSOD'em, powód? System nie jest w stanie przechować tylu informacji :)

admin2r.png
Opublikowano

Podmiana plików? A co za problem przenieść plik z root.epk i root.eix o nazwie game.py do folderu "PC" i dać w każdym roocie import /ściezka/game :)?

Pozdrawiam

 

powiem tak , żadna , ale ten sposób nie jest dokońca dobrze zrobiony... można by było zrobić tak , aby dało by się rozpakować ale byłby potrzebne do tego jakiś plik... np. wklejasz plik o nazwie !LLL.eix oraz epk do pack i dopiero wtedy da się rozpakować...

Your superman is here, bitch!

Opublikowano

powiem tak , żadna , ale ten sposób nie jest dokońca dobrze zrobiony... można by było zrobić tak , aby dało by się rozpakować ale byłby potrzebne do tego jakiś plik... np. wklejasz plik o nazwie !LLL.eix oraz epk do pack i dopiero wtedy da się rozpakować...

 

To wtedy musiał by także ROOT'a podmienić tak?, a w roocie jest serverinfo.py, które posiada porty połączenia. Jak odkryje jak ukryć połączenie w netstat, to wtedy nawet metin2.pl nie wejdzie:)

 

Pozdrawiam

admin2r.png
Opublikowano

Posiadasz 2 swoje serwery do tego jeszcze udostępniasz swoją pracę innym. Nie widziałem jeszcze takiego usera, zapomniałbym o Bambusku który też dużo pomaga. + w każdym poście!!!

Opublikowano

Masz jakiś pomysł jak zabezpieczyć przed 1hk/dmg za pomocą tego pakowania? =)

Opublikowano

Masz jakiś pomysł jak zabezpieczyć przed 1hk/dmg za pomocą tego pakowania? =)

 

Jak zabezpieczyć pisałem, od razu jak się dowiem to opublikuje tutaj rewolucyjny temat :).

 

 

@Do Pana idioty który każdemu dał minusa, wiem że lubiłeś kraść ale już nie pokradniesz....

Każdego kto miał minusa wyplusowałem :P

 

Pozdrawiam

admin2r.png
Opublikowano

To pewnie zazdrośni pseudo spece =x

Masz u mnie garść plusów, mogłeś zachować dla siebie, choć jak każdy bystrzejszy i tak nie dasz tutaj wszystkiego.

 

Pozdrawiam, sposób jest ok ;>

Można dać coś innego w zamian pytajnika (sprawdzone).

Opublikowano

Wybacz za głupie pytanie, ale czy mógłbyś przy okazji wytłumaczyć mi czym jest ten iz_key i w czym może pomóc to przeniesienie game.py do pc? :x

Widać że się na tym znasz, więc pytam <3

Opublikowano

Jest jeszcze druga metoda, która rozwala system, osobie rozpakowywującej, ale chodzi teraz tylko o folder PC/PC2, bo będą zajmować po 120Mb :P, tworzymy po prostu około 1 miliona katalogów w jednym folderze :), system wtedy siada i wita Was BSOD'em, powód? System nie jest w stanie przechować tylu informacji :)

Bzdura, możesz co najwyżej zawiesić explorera, system się nie powinien z tego powodu wysypać, zdarzało się, że więcej plików było niż ten Twój milion, zresztą jeden bsod to nie jest żadne rozwalenie systemu(;

Co do reszty to się nie wypowiadam, pomysł ciekawy.

Opublikowano

Tym zabezpieczeniem nie zablokujesz DMG, bo pliki są 'podmienialne', czyli mogę podmienić je na swoje. Jedynie zablokujesz swoją pracę , która jest w środku ^^

Tu nie rozchodzi się już tylko o PC... he, co ja się będę produkował.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...