Register for your free account! | Forgot your password?

You last visited: Today at 00:34

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

Advertisement



[RELEASE]InGame MD5 protection

Discussion on [RELEASE]InGame MD5 protection within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2010
Posts: 26
Received Thanks: 21
Cool [RELEASE]InGame MD5 protection


Explanation :
As you know, hacks like "dmg hack" or "x7 hack" are usualy epk and eix archives.
If you don't know how to crypt files or the encryption doesn't work well (it happens to me) you can't do almost nothing to stop those hacks.
So I created in python a little code which check files MD5 and if it's wrong the client will show an error and will close.

Before starting I want to tell you that : it's the first time for me in python (really ) so I think there may be performance complication so i suggest to check only the Indexes (.eix files) and the "Index" file because those are smaller. As I said it's my first time in python so I assume any mistake
Another thing : check your indent!

How it works? When it finds a file that is wrong it will display a message and after user click OK the client will close.
Image :


Download link :
Virus total :

Tutorial :
Step 1 :
Unpack root. Open constinfo.py and add this :

Code:
## START FileCheck by Cataclismo (yeah ... TheBeast223 = Cataclismo @ pro-area.com = me :D )
FILECHECK_SEPARATOR = " ###md5: "
FILECHECK_MESSAGE = "Clientul are nevoie de update!!"
FILECHECK_URL = "http://digitalmt2.ro/files.md5"
## END FileCheck
Step 2:
Download the archive i post above and put all files from root from archive in your root and all the files from lib folder in your lib folder in client.

Step 3 :
In your root open intrologin.py with Notepad++ (or any other GOOD editor - avoid windows text editors) and search :
Code:
import uiScriptLocale
And add after :
Code:
import urllib
import md5
import threading
Step 4 :
Search in intrologin.py the code :
Code:
app.ShowCursor()
And add this BEFORE :
Code:
		t = threading.Thread(target=self.FileCheck(), args = (self))
		t.daemon = TRUE
		t.start()
And this add AFTER :
Code:
	def FileCheck(self):
		files = None
		md5_list = []
		files_list = []
		fname = "list.md5"
		data = None
		md5 = None
		## Download list
		urllib.urlretrieve (constInfo.FILECHECK_URL, fname)
		## Read list
		f = open(fname)
		files = f.readlines()
		f.close()
		## Clear list
		f = open(fname, "w")
		f.write("")
		f.close()
		## Split
		i = 0
		while i < len(files):
			data = files[i].split(constInfo.FILECHECK_SEPARATOR)
			files_list.append(data[0])
			md5_list.append(data[1])
			i += 1
		
		## Check files md5
		i = 0
		while i < len(files_list):
			md5 = self.md5_for_file(files_list[i])
			original_md5 = md5_list[i].lower()
			original_md5 = original_md5.replace(" ", "")
			original_md5 = original_md5.replace("\n", "")
			if md5 != original_md5:
				self.PopupNotifyMessage(constInfo.FILECHECK_MESSAGE, self.__ExitGame)
				break
			i += 1
		
	## File MD5 : 
	def md5_for_file(self, fname):
		f = open(fname, 'rb')
		data = f.read()
		m = md5.new()
		if len(data)>0:
			m.update(data)
			f.close()
			return m.hexdigest()
	##
Step 5 :
Create the list with files and md5 with a Patch Lister. If you don't have one use this :
Upload list and make shure the url is exactly like FILECHECK_URL!
The separator MUST be exactly like FILECHECK_SEPARATOR .
Ex: pack/root.eix ###md5: 123123123
###md5: is the separator

You can also edit the message from FILECHECK_MESSAGE.

If you followed my steps it have to work correctly.
Good luck!

OFF: Kunterica is a liar and a stealer! doesn't belong to him! It's maked by NistorAlex @ pro-area.com !
TheBeast223 is offline  
Thanks
17 Users
Old 10/10/2013, 14:27   #2
 
Red Firestar's Avatar
 
elite*gold: 0
The Black Market: 185/0/0
Join Date: Jul 2012
Posts: 5,520
Received Thanks: 1,350
Nice Thanks I'll use it.
Red Firestar is offline  
Old 10/10/2013, 14:30   #3
 
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
Not bad, but with URLLIB. If your Webspace is offline the Client won`t work or?
xGr33n is offline  
Old 10/10/2013, 14:33   #4
 
elite*gold: 0
Join Date: Jan 2010
Posts: 26
Received Thanks: 21
Quote:
Originally Posted by xGr33n View Post
Not bad, but with URLLIB. If your Webspace is offline the Client won`t work or?
No... That's the idea...if they block website with antivirus just to use hacks!?
TheBeast223 is offline  
Old 10/10/2013, 15:09   #5
 
Spartan#117's Avatar
 
elite*gold: 0
Join Date: Apr 2013
Posts: 151
Received Thanks: 149
Clientside protection is always useless, because it can be manipulated in too many ways. Just redirect the http-request to another webserver where you have a modified md5-checksums file and the client will work because it only receives the manipulated file.
Spartan#117 is offline  
Old 10/10/2013, 15:17   #6
 
elite*gold: 0
Join Date: Jan 2010
Posts: 26
Received Thanks: 21
Quote:
Originally Posted by Spartan#117 View Post
Clientside protection is always useless, because it can be manipulated in too many ways. Just redirect the http-request to another webserver where you have a modified md5-checksums file and the client will work because it only receives the manipulated file.
Yeah... good minds cand manipulate it, but not everyone ... they could also edit the intrologin.py, but as i said not everyone can do those things.
TheBeast223 is offline  
Old 10/10/2013, 16:10   #7
 
elite*gold: 121
Join Date: Feb 2008
Posts: 654
Received Thanks: 411
Thanks for sharing the PY Modules.. mainly.. but either I have a different Idea of how a "thread" or "backgound thread" is supposed to work, or Your threading.py module doesn't work the way It should.

A separated thread from the main thread should never lock/freeze the main thread in any way, no matter how much work it needs to process, yet your thread module freezes the client everytime I run my filecheck.

And yes, I'm having it check all files, including the bigger EPK ones just to test it.
Legend2007 is offline  
Old 10/10/2013, 16:31   #8
 
elite*gold: 0
Join Date: Jan 2010
Posts: 26
Received Thanks: 21
Quote:
Originally Posted by Legend2007 View Post
Thanks for sharing the PY Modules.. mainly.. but either I have a different Idea of how a "thread" or "backgound thread" is supposed to work, or Your threading.py module doesn't work the way It should.

A separated thread from the main thread should never lock/freeze the main thread in any way, no matter how much work it needs to process, yet your thread module freezes the client everytime I run my filecheck.

And yes, I'm having it check all files, including the bigger EPK ones just to test it.
Yeah, i know about threads, but I don't know how to make it work correctly. As I said it's the FIRST time when I work in python...
TheBeast223 is offline  
Old 10/10/2013, 17:15   #9
 
elite*gold: 0
Join Date: Jul 2011
Posts: 40
Received Thanks: 12
Can you give patcher and lister?
JaPitole is offline  
Old 10/11/2013, 23:01   #10
 
elite*gold: 0
Join Date: Jul 2011
Posts: 40
Received Thanks: 12
Can someone reupload patcher + lister from YouTube description?
JaPitole is offline  
Old 10/11/2013, 23:15   #11
 
elite*gold: 0
Join Date: Jan 2010
Posts: 26
Received Thanks: 21
TheBeast223 is offline  
Thanks
1 User
Old 10/12/2013, 08:27   #12
 
elite*gold: 0
Join Date: Mar 2013
Posts: 154
Received Thanks: 507
I think so look at great but

1. Client lag if you're use to slow internet.
2. Client always waiting for connecting site If there isn't internet in his/her pc.. After error :\

You're a little develop this system

Meanwhile thanks dude
HaveBeen™ is offline  
Old 10/12/2013, 11:47   #13
 
elite*gold: 0
Join Date: Jan 2010
Posts: 26
Received Thanks: 21
Quote:
Originally Posted by HaveBeen™ View Post
I think so look at great but

1. Client lag if you're use to slow internet.
2. Client always waiting for connecting site If there isn't internet in his/her pc.. After error :\

You're a little develop this system

Meanwhile thanks dude
1. It would have lag without my system too...
2. So? Without internet he wouldn't be able to play metin2 so there's no problem

WTF?!
TheBeast223 is offline  
Thanks
1 User
Old 10/12/2013, 14:24   #14
 
LovecKrys's Avatar
 
elite*gold: 0
Join Date: May 2012
Posts: 210
Received Thanks: 199
Yesterday i made it by myself and today i find it here ****!
LovecKrys is offline  
Old 10/12/2013, 14:28   #15
 
elite*gold: 0
Join Date: Jan 2010
Posts: 26
Received Thanks: 21
Quote:
Originally Posted by LovecKrys View Post
Yesterday i made it by myself and today i find it here ****!
Lol... )
TheBeast223 is offline  
Thanks
1 User
Closed Thread


Similar Threads Similar Threads
Cloud Protection | DDoS Protection For SRO Servers | 300Gbps Protection | Cheap
09/13/2013 - Silkroad Online Trading - 3 Replies
Looks like I can't post images, if you'd like to see the thread design, please Go Here: http://i.imgur.com/IS4q7Kw.png. Text version Intoduction: Features:
[Release] DDoS Protection v2
01/06/2013 - Flyff PServer Guides & Releases - 16 Replies
Ich wollte nun mal die neue version vorstellen. Was ist neu??? Die Ip abfrage wurde um das 10 fache erhöht und arbeitet jetz fast auf echtzeit sprich man kann jede sec abfragen wer aufe hp ist. In der Nächsten version werde ich Ip Lokalisierung einfügen. sonstige sachen sind wie hier: DDoS Protection
[Release] DDoS Protection v3 Source
12/24/2011 - Flyff PServer Guides & Releases - 8 Replies
Hallo Elitepvpers Ich möchte hiermit meinen source von den DDoS Protect v3 realesen da ich im moment die zeit zum weiter coden nicht finde. Jeden den es interresiert kann es ja downloaden. Vt ist nicht nötig da es alles die source sind. Info: Das Programm läuft soweit müssen nur noch ein parr änderrungen gemacht werden da es aus irgendein grund jede stunde sich aufhängt,bzw man muss nur die cmd abfrage in einer externen exe starten. Mfg Michael
[RELEASE] BruteForce Protection
08/19/2010 - CO2 PServer Guides & Releases - 12 Replies
Hello. I came up with the idea to create a class that will help you protect your server from brute force hackers. Chances aren't very big this will happen to you, but still, a good server should be prepared. Well this release includes the base for it. Explanation: When a wrong password is entered, a new Entry is created, and added to a dictionary, every time a wrong password is entered, this entry will be updated and the TimesTried integer will increase by 1. When this integer reaches a...



All times are GMT +1. The time now is 00:34.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.