[Low Protection]Metin2 Client "locale.py" CHECK PROCESS LIKE ENIGMA PROTECTOR

03/27/2014 11:06 WarXWar#1
Hi guys, i made a low protection of clients, it's not bad.

The code:

Add these on locale.py at the beginning of file:

[latest update protection]

Code:
import os
import time
import thread

def Start_Protection():
	thread.start_new_thread(Check_Banned_Extension, ())
	thread.start_new_thread(Process_Validate, ())

def Check_Banned_Extension():
	check=' '.join(os.listdir(os.getcwd()))
	check_miles=' '.join(os.listdir(os.getcwd()+"\\miles"))
	banned_ext=[".mix", ".m3d", ".flt", ".asi"]
	miles_clean=["mssa3d.m3d", "mssds3d.m3d", "mssdsp.flt", "mssdx7.m3d", "msseax.m3d", "mssmp3.asi", "mssrsx.m3d", "msssoft.m3d", "mssvoice.asi"]
	for i in miles_clean:
		check_miles=check_miles.replace(i, '')
	for i in banned_ext:
		if check.find(i) != -1:
			f=open("syserr.txt", "a")
			nome="%s%s" % (i[0].upper(), i[1:])
			f.write("[HACKSHIELD]Qualcosa di non consono (estensione %s sconosciuta) e' stato rilevato!\n" % nome)
			f.close()
			os._exit(0)
		if check_miles.find(i) != -1:
			f=open("syserr.txt", "a")
			nome="%s%s" % (i[0].upper(), i[1:])
			f.write("[HACKSHIELD]Qualcosa di non consono (estensione %s sconosciuta) e' stato rilevato!\n" % nome)
			f.close()
			os._exit(0)

def Process_Validate():
	o=os.popen("tasklist /v")
	process=o.read().lower()
	bad_process=["injector", "musicinstructor", "default ime", "autoit v3 gui", "m2bob", "switch", "bot", "hack"]
	for i in bad_process:
		if process.find(i) != -1:
			f=open("syserr.txt", "a")
			nome="%s%s" % (i[0].upper(), i[1:])
			f.write("[HACKSHIELD]Qualcosa di non consono (%s) e' stato rilevato!\n" % nome)
			f.close()
			os._exit(0)
	time.sleep(0.2)
	Process_Validate()

Start_Protection()
In syseer if you start an hack, after 1 second, you'll see the error message, and the client crash.
03/27/2014 22:07 Exoly#2
Sorry but this is public ..
03/27/2014 22:08 allesEAZY?#3
#closerequest. Pub
03/27/2014 22:09 Mi4uric3#4
It's ok but can be bypassed easily by hooking the corresponding functions Python uses to enumerate files / processes..
And I've seen this a few times in the Private Server Guides Section before..