Jump to content

!!!Protección Del Cliente Script+++py!!!


Sarck3Imperios
 Share

Recommended Posts

Bueno esto es un script que se pone dentro de cualquier py, que al ejecutar el cliente verifica los archivos que tienes dentro de la carpeta pack o lib o en el inicio y si hay un archivo demás  sea una imagen o un archivo .dll o exe o un inyector

lo detecta si no esta ejecutándose lo borra y si no lo borra se cierra el cliente completamente y te deja un mensaje disiendote que debes borrar x archivo....

Y lo mismo pasa si te borran un archivo el confi.exe cualquiera sea no te deje ejecutar el cliente y te dice falta x archivo

Este es para la carpeta lib/

Debes poner dentro de de el .py que metas el script esto

Esta protección es de Venta  tengo varias mas luego subo unas que examinen el peso de los archivos.... 

import os
def libcheck():    lib = os.listdir('lib')	      LibFiles = ['__future__.pyc','copy_reg.pyc','linecache.pyc','ntpath.pyc','os.pyc','site.pyc','stat.pyc','string.pyc','traceback.pyc','types.pyc','UserDict.pyc']		    if lib != LibFiles:             for item in lib:                 if not item in LibFiles:				dbg.LogBox("Borre")				dbg.LogBox("lib///"+ str(item))				try:					os.remove(item)				except:					dbg.LogBox("El cliente se Cerrara ahora!")					dbg.LogBox("Por favor borrar (manual): " + str(item))					app.Abort()					    if LibFiles != lib: 			for missing in LibFiles:			    if not missing in lib:				dbg.LogBox("Falta un archivo dentro de///lib///"   + str(missing))				app.Abort()			else:				passlibcheck()

El de la carpeta de musica BGM

def bgmcheck():    bgm = os.listdir('bgm')		    BGMFiles = ['a_rhapsody_of_war.mp3','another_way.mp3','back_to_back.mp3','blacksea.mp3','catacomb_of_devil.mp3','characterselect.mp3','death_of_landmark.mp3','desert.mp3','enter_the_east.mp3','follow_war_god.mp3','last-war2.mp3','login_window.mp3','lost_my_name.mp3','m2bg.mp3','misty_forest.mp3','monkey_temple.mp3','mountain_of_death.mp3','mt.mp3','only_my_battle.mp3','open_the_gate.mp3','save_me.mp3','wedding.mp3','wonderland.mp3','xmas.mp3'] 		    if bgm != BGMFiles:             for item in bgm:                 if not item in BGMFiles:				dbg.LogBox("Borre")				dbg.LogBox("bgm///"+ str(item))				try:					os.remove(item)				except:					dbg.LogBox("El cliente se Cerrara ahora!")					dbg.LogBox("Por favor borrar (manual): " + str(item))					app.Abort()										    if BGMFiles != bgm: 			for missing in BGMFiles:			    if not missing in bgm:				dbg.LogBox("Falta///bgm///"   + str(missing))				app.Abort()			else:				passbgmcheck()

EL de Carpeta Principal

def PrincipalyFiles():    path = os.getcwd()     principaly = os.listdir(path) 		    PrincipalyFiles = ['config.exe','artpclnt.dll','channel.inf','devil.dll','granny2.dll','locale.cfg','metin2.cfg','Starter.exe','mouse.cfg','MSS32.DLL','MSS32323.dll','SpeedTreeRT.dll','syserr.txt','bgm','lib','pack','screenshot','mark'] 		    if principaly != PrincipalyFiles:             for item in principaly:                 if not item in PrincipalyFiles:				dbg.LogBox("Borre")				dbg.LogBox("Client folder///"+ str(item))				try:					os.remove(item)				except:					dbg.LogBox("El cliente se Cerrara ahora!")					dbg.LogBox("Por favor borrar (manual): " + str(item))					app.Abort()										    if PrincipalyFiles != principaly: 			for missing in PrincipalyFiles:			    if not missing in principaly:				dbg.LogBox("Falta///Carpeta Principal///"   + str(missing))				app.Abort()			else:				passPrincipalyFiles()

El de pack/

def Pack():    pack = os.listdir('pack')		    PackFiles = ['pack.exe','BGM.eix','BGM.epk','Effect.eix','Effect.epk','ETC.eix','Etc.epk','guild.eix','guild.epk','icon.eix','icon.epk','Index','indoordeviltower1.eix','indoordeviltower1.epk','indoormonkeydungeon1.eix','indoormonkeydungeon1.epk','indoormonkeydungeon2.eix','indoormonkeydungeon2.epk','indoormonkeydungeon3.eix','indoormonkeydungeon3.epk','indoorspiderdungeon1.eix','indoorspiderdungeon1.epk','item.eix','item.epk','locale_ro.eix','locale_ro.epk','monster2.eix','monster2.epk','Monster.eix','Monster.epk','npc2.eix','npc2.epk','NPC.eix','NPC.epk','Outdoor.eix','Outdoor.epk','OutdoorA1.eix','OutdoorA1.epk','OutdoorA2.eix','OutdoorA2.epk','OutdoorA3.eix','OutdoorA3.epk','OutdoorB1.eix','OutdoorB1.epk','OutdoorB3.eix','OutdoorB3.epk','OutdoorC1.eix','OutdoorC1.epk','OutdoorC3.eix','OutdoorC3.epk','outdoordesert1.eix','outdoordesert1.epk','outdoorduel.eix','outdoorduel.epk','outdoorempirebattle1.eix','outdoorempirebattle1.epk','outdoorfielddungeon1.eix','outdoorfielddungeon1.epk','outdoorflame1.eix','outdoorflame1.epk','outdoorgmguildbuild.eix','outdoorgmguildbuild.epk','outdoorguild1.eix','outdoorguild1.epk','outdoorguild2.eix','outdoorguild2.epk','outdoorguild3.eix','outdoorguild3.epk','outdoormilgyo1.eix','outdoormilgyo1.epk','OutdoorSnow1.eix','OutdoorSnow1.epk','outdoort1.eix','outdoort1.epk','outdoort2.eix','outdoort2.epk','outdoort3.eix','outdoort3.epk','outdoort4.eix','outdoort4.epk','outdoortrent02.eix','outdoortrent02.epk','outdoortrent.eix','outdoortrent.epk','outdoorwedding.eix','outdoorwedding.epk','pc2.eix','pc2.epk','PC.eix','PC.epk','Property.eix','Property.epk','root.eix','root.epk','season1.eix','season1.epk','season2.eix','season2.epk','season3_eu.eix','season3_eu.epk','sound2.eix','sound2.epk','Sound.eix','Sound.epk','Terrain.eix','Terrain.epk','textureset.eix','textureset.epk','Tree.eix','Tree.epk','uiloading.eix','uiloading.epk','uiscript.eix','uiscript.epk','Zone.eix','Zone.epk'] 		    if pack != PackFiles:             for item in pack:                 if not item in PackFiles:				dbg.LogBox("Borre")				dbg.LogBox("pack///"+ str(item))				try:					os.remove(item)				except:					dbg.LogBox("El cliente se Cerrara ahora!")					dbg.LogBox("Por favor borrar (manual): " + str(item))					app.Abort()					    if PackFiles != pack: 			for missing in PackFiles:			    if not missing in pack:				dbg.LogBox("Falta///pack///"   + str(missing))				app.Abort()			else:				passPack()

Esto lo pueden poner dentro el game.py intrologin, unichat, en lib/ donde quieran!!

PDT:deben modificar los archivos del script por los archivos que tiene en su cliente obviamente 

Fue un placer ;)

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Bueno esto es un script que se pone dentro de cualquier py, que al ejecutar el cliente verifica los archivos que tienes dentro de la carpeta pack o lib o en el inicio y si hay un archivo demás  sea una imagen o un archivo .dll o exe o un inyector

lo detecta si no esta ejecutándose lo borra y si no lo borra se cierra el cliente completamente y te deja un mensaje disiendote que debes borrar x archivo....

Y lo mismo pasa si te borran un archivo el confi.exe cualquiera sea no te deje ejecutar el cliente y te dice falta x archivo

Este es para la carpeta lib/

Debes poner dentro de de el .py que metas el script esto

Esta protección es de Venta  tengo varias mas luego subo unas que examinen el peso de los archivos.... 

import os
def libcheck():    lib = os.listdir('lib')	      LibFiles = ['__future__.pyc','copy_reg.pyc','linecache.pyc','ntpath.pyc','os.pyc','site.pyc','stat.pyc','string.pyc','traceback.pyc','types.pyc','UserDict.pyc']		    if lib != LibFiles:             for item in lib:                 if not item in LibFiles:				dbg.LogBox("Borre")				dbg.LogBox("lib///"+ str(item))				try:					os.remove(item)				except:					dbg.LogBox("El cliente se Cerrara ahora!")					dbg.LogBox("Por favor borrar (manual): " + str(item))					app.Abort()					    if LibFiles != lib: 			for missing in LibFiles:			    if not missing in lib:				dbg.LogBox("Falta un archivo dentro de///lib///"   + str(missing))				app.Abort()			else:				passlibcheck()

El de la carpeta de musica BGM

def bgmcheck():    bgm = os.listdir('bgm')		    BGMFiles = ['a_rhapsody_of_war.mp3','another_way.mp3','back_to_back.mp3','blacksea.mp3','catacomb_of_devil.mp3','characterselect.mp3','death_of_landmark.mp3','desert.mp3','enter_the_east.mp3','follow_war_god.mp3','last-war2.mp3','login_window.mp3','lost_my_name.mp3','m2bg.mp3','misty_forest.mp3','monkey_temple.mp3','mountain_of_death.mp3','mt.mp3','only_my_battle.mp3','open_the_gate.mp3','save_me.mp3','wedding.mp3','wonderland.mp3','xmas.mp3'] 		    if bgm != BGMFiles:             for item in bgm:                 if not item in BGMFiles:				dbg.LogBox("Borre")				dbg.LogBox("bgm///"+ str(item))				try:					os.remove(item)				except:					dbg.LogBox("El cliente se Cerrara ahora!")					dbg.LogBox("Por favor borrar (manual): " + str(item))					app.Abort()										    if BGMFiles != bgm: 			for missing in BGMFiles:			    if not missing in bgm:				dbg.LogBox("Falta///bgm///"   + str(missing))				app.Abort()			else:				passbgmcheck()

EL de Carpeta Principal

def PrincipalyFiles():    path = os.getcwd()     principaly = os.listdir(path) 		    PrincipalyFiles = ['config.exe','artpclnt.dll','channel.inf','devil.dll','granny2.dll','locale.cfg','metin2.cfg','Starter.exe','mouse.cfg','MSS32.DLL','MSS32323.dll','SpeedTreeRT.dll','syserr.txt','bgm','lib','pack','screenshot','mark'] 		    if principaly != PrincipalyFiles:             for item in principaly:                 if not item in PrincipalyFiles:				dbg.LogBox("Borre")				dbg.LogBox("Client folder///"+ str(item))				try:					os.remove(item)				except:					dbg.LogBox("El cliente se Cerrara ahora!")					dbg.LogBox("Por favor borrar (manual): " + str(item))					app.Abort()										    if PrincipalyFiles != principaly: 			for missing in PrincipalyFiles:			    if not missing in principaly:				dbg.LogBox("Falta///Carpeta Principal///"   + str(missing))				app.Abort()			else:				passPrincipalyFiles()

El de pack/

def Pack():    pack = os.listdir('pack')		    PackFiles = ['pack.exe','BGM.eix','BGM.epk','Effect.eix','Effect.epk','ETC.eix','Etc.epk','guild.eix','guild.epk','icon.eix','icon.epk','Index','indoordeviltower1.eix','indoordeviltower1.epk','indoormonkeydungeon1.eix','indoormonkeydungeon1.epk','indoormonkeydungeon2.eix','indoormonkeydungeon2.epk','indoormonkeydungeon3.eix','indoormonkeydungeon3.epk','indoorspiderdungeon1.eix','indoorspiderdungeon1.epk','item.eix','item.epk','locale_ro.eix','locale_ro.epk','monster2.eix','monster2.epk','Monster.eix','Monster.epk','npc2.eix','npc2.epk','NPC.eix','NPC.epk','Outdoor.eix','Outdoor.epk','OutdoorA1.eix','OutdoorA1.epk','OutdoorA2.eix','OutdoorA2.epk','OutdoorA3.eix','OutdoorA3.epk','OutdoorB1.eix','OutdoorB1.epk','OutdoorB3.eix','OutdoorB3.epk','OutdoorC1.eix','OutdoorC1.epk','OutdoorC3.eix','OutdoorC3.epk','outdoordesert1.eix','outdoordesert1.epk','outdoorduel.eix','outdoorduel.epk','outdoorempirebattle1.eix','outdoorempirebattle1.epk','outdoorfielddungeon1.eix','outdoorfielddungeon1.epk','outdoorflame1.eix','outdoorflame1.epk','outdoorgmguildbuild.eix','outdoorgmguildbuild.epk','outdoorguild1.eix','outdoorguild1.epk','outdoorguild2.eix','outdoorguild2.epk','outdoorguild3.eix','outdoorguild3.epk','outdoormilgyo1.eix','outdoormilgyo1.epk','OutdoorSnow1.eix','OutdoorSnow1.epk','outdoort1.eix','outdoort1.epk','outdoort2.eix','outdoort2.epk','outdoort3.eix','outdoort3.epk','outdoort4.eix','outdoort4.epk','outdoortrent02.eix','outdoortrent02.epk','outdoortrent.eix','outdoortrent.epk','outdoorwedding.eix','outdoorwedding.epk','pc2.eix','pc2.epk','PC.eix','PC.epk','Property.eix','Property.epk','root.eix','root.epk','season1.eix','season1.epk','season2.eix','season2.epk','season3_eu.eix','season3_eu.epk','sound2.eix','sound2.epk','Sound.eix','Sound.epk','Terrain.eix','Terrain.epk','textureset.eix','textureset.epk','Tree.eix','Tree.epk','uiloading.eix','uiloading.epk','uiscript.eix','uiscript.epk','Zone.eix','Zone.epk'] 		    if pack != PackFiles:             for item in pack:                 if not item in PackFiles:				dbg.LogBox("Borre")				dbg.LogBox("pack///"+ str(item))				try:					os.remove(item)				except:					dbg.LogBox("El cliente se Cerrara ahora!")					dbg.LogBox("Por favor borrar (manual): " + str(item))					app.Abort()					    if PackFiles != pack: 			for missing in PackFiles:			    if not missing in pack:				dbg.LogBox("Falta///pack///"   + str(missing))				app.Abort()			else:				passPack()

Esto lo pueden poner dentro el game.py intrologin, unichat, en lib/ donde quieran!!

PDT:deben modificar los archivos del script por los archivos que tiene en su cliente obviamente 

Fue un placer ;)

pregunta peudo haerlo todo esto en un solo py y luego poner un import en el game se puede?

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...
  • 5 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...