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

[Inne] Projekt Metin2 Patcher


Gość LastPhoenix450

Rekomendowane odpowiedzi

Opublikowano

Witam smile.gif

 

W tym temacie zobaczycie po raz pierwszy kod źródłowy Patchera Metin2 na nasz prywatny serwer.

Będę wprowadzał do niego na bieżąco zabezpieczenie bajerki itp.

Ten Patcher na chwilę obecną jest lepszy od Patchera na PL smile.gif

Dlaczego? Ponieważ posiada funkcje ,których nie posiada Patcher na PL

Po co taki Patcher? Jeśli ktoś nie potrafi zabezpieczyć plików na to może się przydać.

 

Funkcje Patchera:

 

*Posiada zabezpieczenie przed Kamer Modem SF!

*Kasuje plik logu

*Posiada pasek postępu

*Sprawdza rozmiar pliku, jeśli waga nie jest zgodna kasuję i pobiera nowy plik

*Interfejs Patchera na PL

 

Kod mam prawie gotowy (w folderze pack jest sporo plików)

Będę wam dawał sensowne kawałki...

 

Na czym polegają zabezpieczenia?

Kamer Mod SF - Kasuję pliki Kamera i podmienia na dobre

Postaram się wprowadzić zabezpieczenie przed DMG Hackiem lecz pliczki ważą nie mało

i trzeba będzie użyć polecenia kopiuj, którego nie mam do końca opanowanego laugh.gif

 

Aktualizacja pojedynczego pliku:

 

'locale_pl.epk

	If My.Computer.FileSystem.FileExists("pack/locale_pl.epk") Then
		SendKeys.Send(" ")
	Else
		My.Computer.Network.DownloadFile("www.metin2.pl/locale_pl.epk", "pack/locale_pl.epk")
	End If

	Dim fi As FileInfo = New FileInfo("pack/locale_pl.epk")
	Dim waga As Integer = fi.Length
	TextBox2.Text = "" & waga & ""

	TextBox1.Text = "locale_pl.epk jest aktualizowany..."
	If TextBox2.Text = "1795328" Then
		TextBox1.Text = "Plik locale_pl.epk został zaktualizowany"
	Else
		ProgressBar1.Value = "13"
		My.Computer.FileSystem.DeleteFile("pack/locale_pl.epk")			
		My.Computer.Network.DownloadFile("http://metin2.pl/locale_pl.epk", "pack/locale_pl.epk")
		TextBox1.Text = "locale_pl.epk został zaktualizowany"
	End If

	'Koniec patchowania locale_pl.epk

 

Zabezpieczenie przed KamerModem (Primitive biggrin.gif)

 

'Zabezpieczenie przed Kamer Modem
	If My.Computer.FileSystem.FileExists("Metin2Mod.exe") Then
		My.Computer.FileSystem.DeleteFile("Metin2Mod.exe")
		My.Computer.FileSystem.DeleteFile("mod_config.cfg")
		My.Computer.FileSystem.DeleteFile("teleportcords.cfg")
		My.Computer.FileSystem.DeleteFile("whispername.cfg")
		My.Computer.FileSystem.DeleteFile("locale.cfg")
		My.Computer.FileSystem.DeleteFile("AutoPot.cfg")
		My.Computer.FileSystem.DeleteFile("serverinfo.py")
		My.Computer.FileSystem.DeleteFile("AutoLogin.exe")
		ProgressBar1.Value = "1"
		TextBox1.Text = ("Wczytuję")
		'root.epk
		My.Computer.FileSystem.DeleteFile("pack/root.epk")
		My.Computer.Network.DownloadFile("http://metin2.pl/root.epk", "pack/root.epk")
		ProgressBar1.Value = "2"
		'root.eix
		My.Computer.FileSystem.DeleteFile("pack/root.eix")
		My.Computer.Network.DownloadFile("http://metin2.pl/root.eix", "pack/root.eix")
		ProgressBar1.Value = "3"
		'Index
		My.Computer.FileSystem.DeleteFile("pack/Index")
		My.Computer.Network.DownloadFile("http://metin2.pl/Index", "pack/Index")
		ProgressBar1.Value = "4"
		'uiscript.epk
		My.Computer.FileSystem.DeleteFile("pack/uiscript.epk")
		My.Computer.Network.DownloadFile("http://metin2.pl/uiscript.epk", "pack/uiscript.epk")
		ProgressBar1.Value = "5"
		'uiscript.eix
		My.Computer.FileSystem.DeleteFile("pack/uiscript.eix")
		My.Computer.Network.DownloadFile("http://metin2.pl/uiscript.eix", "pack/uiscript.eix")
		ProgressBar1.Value = "6"
		'locale_pl.epk
		My.Computer.FileSystem.DeleteFile("pack/locale_pl.epk")
		My.Computer.Network.DownloadFile("http://metin2.pl/locale_pl.epkl", "pack/locale_pl.epk")
		ProgressBar1.Value = "7"
		'locale_pl.eix
		My.Computer.FileSystem.DeleteFile("pack/locale_pl.eix")
		My.Computer.Network.DownloadFile("http://metin2.pl/locale_pl.eix", "pack/locale_pl.eix")
		ProgressBar1.Value = "8"
	End If
	'Koniecz zabezpieczenia przed Kamerem

 

Usuwanie logu syserr

 

 'Początek usuwania logu
	Try
		If My.Computer.FileSystem.FileExists("syserr.txt") Then
			My.Computer.FileSystem.DeleteFile("syserr.txt")
			ProgressBar1.Value = "9"
		End If
	Catch
		TextBox1.Text = "Plik logu jest używany przez inną osobę lub program!"
	End Try
	'Koniec usuwania logu

 

Projekt zawieszony, to gówno nie zasługuję na kontynuację, musiałbym cały kod przepisać jeszcze raz bo wszędzie trzeba poprawki nanieść, tak to jest jak się zostawia projekt na trzy miesiące żeby uczyć się VB.

EXPmIpC.gif

Opublikowano

Dasz jakiś tut?. Gdzie to wkleić itp :D?

 

Proszę, wysępiłeś właśnie gotowca, cały będzie niedługo.

 

Patcher

 

@2x Down

 

Coś tam zacznę dopracowywać ;)

Aczkolwiek myślę ,że nikt się nie domyśli ;x

Ten Pliczek waży po skompilowaniu 795Kb, a ja jestem amatorem, no cóż...

 

Ja się również cieszę ,iż taki kod wg powstał jeśli byłbyś w stanie udoskonalić

to byłoby wspaniale... To jest chyba jedyny taki Patcher :)

EXPmIpC.gif

Opublikowano

TextBox2.Text = "" & waga & ""

 

Dlaczego nie TextBox2.Text = waga?

 

If TextBox2.Text = "1795328" Then

 

Mogłeś wczytać wagę ze zmiennej fi..

 

If My.Computer.FileSystem.FileExists("Metin2Mod.exe") Then

 

Czyli co, wystarczy zmienić nazwę pliku EXE, a reszta składników KMR moda nie przeszkadza patcherowi?

 

+ część drugą kodu można było napisać znacznie krócej (chociażby przy użyciu pętli)

 

---

 

Pewnie jakbym poszukał jeszcze to kilka 'kwiatków' bym znalazł, ale po prostu mi się nie chce.

Nie ma tragedii, ale o 100% skuteczności bym tutaj nie mówił. :P

Opublikowano

ale zabezpieczenie przed kamer modem, wystarczy odpalic przez ikonke kamera a nie przez patchera i grasz na kmr...

 

Kamer musi być w folderze z metkiem a czy będziesz wypalał przez skrót czy ikone... nie ma znaczenia

EXPmIpC.gif

  • 2 miesiące temu...
Opublikowano

Jeśli metin2.bin nie jest zabezpieczony to chyba jasne wink.gif

 

O, rly?

 

Sam program da się zapisać jako binka używana przez kmrmoda + napisać drugie obejście "dla zmyły", które będzie wywoływało właśnie nasz "kamerowski" metin2.bin (który w rzeczywistości jest naszym programem) za pomocą instrukcji Shell(). Wtedy kmrmod odpali nasz program, który zamknie proces moda, a "normalną" binkę zawsze możesz wrzucić do jakiegoś folderu. Myślenie, panowie ;)

Opublikowano

O, rly?

 

Sam program da się zapisać jako binka używana przez kmrmoda + napisać drugie obejście "dla zmyły", które będzie wywoływało właśnie nasz "kamerowski" metin2.bin (który w rzeczywistości jest naszym programem) za pomocą instrukcji Shell(). Wtedy kmrmod odpali nasz program, który zamknie proces moda, a "normalną" binkę zawsze możesz wrzucić do jakiegoś folderu. Myślenie, panowie ;)

 

Uhh...

 

Nie odkopujemy starych tematów, archeologia - to nie to forum...

Ciekawe jak to zapiszesz jako binka?

Wujku... może najpierw uzasadnij a potem wnoś nie potrzebny szum.

Bo na przykład ja nie wiem jak to zrobić i co? No i nic mi z twojego posta nie przyszło.

 

Ale szczerze mówiąc pomysł ciekawy...

EXPmIpC.gif

Opublikowano

Możesz wrzucić projeekt patchera tzn gdy nacisne 2x wyświetli się wygląd + kod czyli edycja. Stary link wygasł. Potrzebuje do projektu.

EXPmIpC.gif

Opublikowano

@Topic , pięknie ! Tego potrzebował każdy z nas . Pozdro.

Dajcie tuta, jeszcze jak to dokladniej zrobić , itp itd .

Witam smile.gif

 

W tym temacie zobaczycie po raz pierwszy kod źródłowy Patchera Metin2 na nasz prywatny serwer.

Będę wprowadzał do niego na bieżąco zabezpieczenie bajerki itp.

Ten Patcher na chwilę obecną jest lepszy od Patchera na PL smile.gif

Dlaczego? Ponieważ posiada funkcje ,których nie posiada Patcher na PL

Po co taki Patcher? Jeśli ktoś nie potrafi zabezpieczyć plików na to może się przydać.

 

Funkcje Patchera:

 

*Posiada zabezpieczenie przed Kamer Modem SF!

*Kasuje plik logu

*Posiada pasek postępu

*Sprawdza rozmiar pliku, jeśli waga nie jest zgodna kasuję i pobiera nowy plik

*Interfejs Patchera na PL

 

Kod mam prawie gotowy (w folderze pack jest sporo plików)

Będę wam dawał sensowne kawałki...

 

Na czym polegają zabezpieczenia?

Kamer Mod SF - Kasuję pliki Kamera i podmienia na dobre

Postaram się wprowadzić zabezpieczenie przed DMG Hackiem lecz pliczki ważą nie mało

i trzeba będzie użyć polecenia kopiuj, którego nie mam do końca opanowanego laugh.gif

 

Aktualizacja pojedynczego pliku:

 

'locale_pl.epk

	If My.Computer.FileSystem.FileExists("pack/locale_pl.epk") Then
		SendKeys.Send(" ")
	Else
		My.Computer.Network.DownloadFile("www.metin2.pl/locale_pl.epk", "pack/locale_pl.epk")
	End If

	Dim fi As FileInfo = New FileInfo("pack/locale_pl.epk")
	Dim waga As Integer = fi.Length
	TextBox2.Text = "" & waga & ""

	TextBox1.Text = "locale_pl.epk jest aktualizowany..."
	If TextBox2.Text = "1795328" Then
		TextBox1.Text = "Plik locale_pl.epk został zaktualizowany"
	Else
		ProgressBar1.Value = "13"
		My.Computer.FileSystem.DeleteFile("pack/locale_pl.epk")			
		My.Computer.Network.DownloadFile("http://metin2.pl/locale_pl.epk", "pack/locale_pl.epk")
		TextBox1.Text = "locale_pl.epk został zaktualizowany"
	End If

	'Koniec patchowania locale_pl.epk

 

Zabezpieczenie przed KamerModem (Primitive biggrin.gif)

 

'Zabezpieczenie przed Kamer Modem
	If My.Computer.FileSystem.FileExists("Metin2Mod.exe") Then
		My.Computer.FileSystem.DeleteFile("Metin2Mod.exe")
		My.Computer.FileSystem.DeleteFile("mod_config.cfg")
		My.Computer.FileSystem.DeleteFile("teleportcords.cfg")
		My.Computer.FileSystem.DeleteFile("whispername.cfg")
		My.Computer.FileSystem.DeleteFile("locale.cfg")
		My.Computer.FileSystem.DeleteFile("AutoPot.cfg")
		My.Computer.FileSystem.DeleteFile("serverinfo.py")
		My.Computer.FileSystem.DeleteFile("AutoLogin.exe")
		ProgressBar1.Value = "1"
		TextBox1.Text = ("Wczytuję")
		'root.epk
		My.Computer.FileSystem.DeleteFile("pack/root.epk")
		My.Computer.Network.DownloadFile("http://metin2.pl/root.epk", "pack/root.epk")
		ProgressBar1.Value = "2"
		'root.eix
		My.Computer.FileSystem.DeleteFile("pack/root.eix")
		My.Computer.Network.DownloadFile("http://metin2.pl/root.eix", "pack/root.eix")
		ProgressBar1.Value = "3"
		'Index
		My.Computer.FileSystem.DeleteFile("pack/Index")
		My.Computer.Network.DownloadFile("http://metin2.pl/Index", "pack/Index")
		ProgressBar1.Value = "4"
		'uiscript.epk
		My.Computer.FileSystem.DeleteFile("pack/uiscript.epk")
		My.Computer.Network.DownloadFile("http://metin2.pl/uiscript.epk", "pack/uiscript.epk")
		ProgressBar1.Value = "5"
		'uiscript.eix
		My.Computer.FileSystem.DeleteFile("pack/uiscript.eix")
		My.Computer.Network.DownloadFile("http://metin2.pl/uiscript.eix", "pack/uiscript.eix")
		ProgressBar1.Value = "6"
		'locale_pl.epk
		My.Computer.FileSystem.DeleteFile("pack/locale_pl.epk")
		My.Computer.Network.DownloadFile("http://metin2.pl/locale_pl.epkl", "pack/locale_pl.epk")
		ProgressBar1.Value = "7"
		'locale_pl.eix
		My.Computer.FileSystem.DeleteFile("pack/locale_pl.eix")
		My.Computer.Network.DownloadFile("http://metin2.pl/locale_pl.eix", "pack/locale_pl.eix")
		ProgressBar1.Value = "8"
	End If
	'Koniecz zabezpieczenia przed Kamerem

 

Usuwanie logu syserr

 

 'Początek usuwania logu
	Try
		If My.Computer.FileSystem.FileExists("syserr.txt") Then
			My.Computer.FileSystem.DeleteFile("syserr.txt")
			ProgressBar1.Value = "9"
		End If
	Catch
		TextBox1.Text = "Plik logu jest używany przez inną osobę lub program!"
	End Try
	'Koniec usuwania logu

 

Uwaga

 

Kamer jest moim bogiem i mam plakat jego kotka (avka)

na ścianie ale zabezpieczenie musi być sad.gif

Sory

Więcej straci ten co to wszystko liczy...

Wigilia 24 Grudnia 2011 ROK SϒS™ Obchodzi 14 Wigilię w Swoim Życiu..

Życzę wszystkim wesołych,pogodnych świąt ,tym czasem ja kończę zabawę w forumowanie i idę

z D&G'em polować na łanie =)

Opublikowano

Hmm to zabespieczenie ciekawe choć tak naprawdę bardzo proste do ominięcia :) Nie wiem jak to zrobić ,ale wg. mnie ja bym zabespieczył klienta przed modem 3 warunkami:

-MD5

-CRC32

-rozmiar

Choć wydaję mi się ,że najlepszym zabespieczniem jest sprawdzanie sumy MD5.

Wiadro Bluba Rura Blant

 

(̅__(̲̲̲̲̲̅̅̅̅̅̅(̅_̅_̲̅м̲̅a̲̅я̲̅i̲̅h̲̅u̲̅a̲̅n̲̅ a̲̅ ̅_̅_̅((()ڪ

Opublikowano

OMG, nie ma to jak dawać sobie lajki z dwóch multikont, co nie LastPhoenix450 ?

 

Nie tworzymy spamu w temacie :)

Pisz na statusie xD...

No nie ma ;d

I to było w czasach jak były plusy jeszcze ;d

Byłem wtedy jeszcze dzieckiem ;x

 

@Up

 

Oczywiście ,że tak lecz ja jestem totalnym newbie ;)

 

@SϒS™

 

Sarkazm?

Właśnie robię nową wersję xD

Więc dam tuta ;d

 

@Edit

 

@TheMorteMaster

 

Wrzucę jak skończę nową wersję, starej już nie mam ;)

Mam Accounta Premium na speedyshare (nie ma to jak się powozić)

więc nie będzie wygasał i będę miał spokój...

 

Czekaj na tutorial ode mnie.

EXPmIpC.gif

  • 1 miesiąc temu...
Opublikowano

Amatorskie hobby, górniku...

Uczę się, cała wiedza zebrana z netu,

teraz się nudzę z jego poprawką i usunąłem ten pasek.

EXPmIpC.gif

  • 1 rok później...

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...