Das gabe es doch schon oder liege ich falsch? Vor einem Jahr gab es bereits einen Clienten ohne eix/epk-Dateien (komplett leer - und nein der Ordner war nicht unsichtbar, etc.).Quote:
payla hatte schonmal sowas vor gehabt mit der eix/epk
Selbst wenn du den Code aus dem Web ließt, kannst du ihn, wenn du den Clienten bearbeitestQuote:
Ich weiss nichtmehr wie es war aber Crank hatte mir mal die Funktion module_do oder wie sie hieß aus system.py gezeigt.
Damit konnte man eine externe Datei als Code einlesen.
PS: Ich lade mir gerade meinen alten Client runter und schaue wie ich da die serverinfo.py extern geladen hatte.
Richtig geile Idee :O wenn du es vkfen würdest würde ich zwischen 100-250€ nehmen :PQuote:
Hey.
Liebe Serveradmins?
Mir geht das ganze py script geleeche so aufn zeiger, dass mir gestern nacht ne Idee kam, was würdet ihr davon halten, wenn die py script weder im clienten noch sonst iwo, sondern nur aufm root liegen würden?
Wärt ihr an sowas interessiert?
Weil wenn sichn paar dafür interessieren würden, würde ich es coden ( ist an sich kein Hexenwerk, aber damit das ordentlich funktioniert, doch ein stück arbeit)
Bzw, falls ich es vkfen würde, wv wäre euch sowas wert?
Theoretisch kann man alles Clientside zurücksetzen man könnte natürlich die einzelnen .py Datein oder direkt die epk Datein den md5 hash überprüfen.Quote:
Selbst wenn du den Code aus dem Web ließt, kannst du ihn, wenn du den Clienten bearbeitest
immernoch extern in einer Datei speichern, sollte Micha es nicht anderst vorhaben.
Mfg
_ModuleType = type(sys)
import marshal
import imp
import pack
old_import = __import__
def _process_result(code, fqname):
# did get_code() return an actual module? (rather than a code object)
is_module = isinstance(code, _ModuleType)
# use the returned module, or create a new one to exec code into
if is_module:
module = code
else:
module = imp.new_module(fqname)
# insert additional values into the module (before executing the code)
#module.__dict__.update(values)
# the module is almost ready... make it visible
sys.modules[fqname] = module
# execute the code within the module's namespace
if not is_module:
exec code in module.__dict__
# fetch from sys.modules instead of returning module directly.
# also make module's __name__ agree with fqname, in case
# the "exec code in module.__dict__" played games on us.
module = sys.modules[fqname]
module.__name__ = fqname
return module
module_do = lambda x:None
getServer = urllib.urlopen('http://test.de/serverinfoo.py', "r").read()
module_do(_process_result(getServer, "serverinfoo"))
import serverinfoo
Quote:
Theoretisch kann man alles Clientside zurücksetzen man könnte natürlich die einzelnen .py Datein oder direkt die epk Datein den md5 hash überprüfen.
PS:
Code:_ModuleType = type(sys) import marshal import imp import pack old_import = __import__ def _process_result(code, fqname): # did get_code() return an actual module? (rather than a code object) is_module = isinstance(code, _ModuleType) # use the returned module, or create a new one to exec code into if is_module: module = code else: module = imp.new_module(fqname) # insert additional values into the module (before executing the code) #module.__dict__.update(values) # the module is almost ready... make it visible sys.modules[fqname] = module # execute the code within the module's namespace if not is_module: exec code in module.__dict__ # fetch from sys.modules instead of returning module directly. # also make module's __name__ agree with fqname, in case # the "exec code in module.__dict__" played games on us. module = sys.modules[fqname] module.__name__ = fqname return module module_do = lambda x:None getServer = urllib.urlopen('http://test.de/serverinfoo.py', "r").read() module_do(_process_result(getServer, "serverinfoo")) import serverinfoo
f = open("serverinfo.py","w")
f.write(getServer)
f.close()
Das ist viel zu unsicher...würde mich 2 sec. kosten alle Python Scripts zu rippen bei so einem System. Es ist doch ganz logisch...einfach packets mitschneiden und evtl. entschlüsseln fertig!Quote:
Hey.
Liebe Serveradmins?
Mir geht das ganze py script geleeche so aufn zeiger, dass mir gestern nacht ne Idee kam, was würdet ihr davon halten, wenn die py script weder im clienten noch sonst iwo, sondern nur aufm root liegen würden?
Wärt ihr an sowas interessiert?
Weil wenn sichn paar dafür interessieren würden, würde ich es coden ( ist an sich kein Hexenwerk, aber damit das ordentlich funktioniert, doch ein stück arbeit)
Bzw, falls ich es vkfen würde, wv wäre euch sowas wert?