LOG Traceback: No module named hack (k)

Indította cunter1996, 2014-04-29, 17:42:03

Üdv.

Csináltam egy házi root szervert kedvesemnek és magamnak, de mivel házi ezért csak indítóval megy. "mc-s"
De arra ezt írja ki és nem tudom mi a baja.. hogy tudnám javítani esetleg?



Előre is köszönöm a segítséget

elég érdekes, mert ilyet csak védett indítóknál szoktam látni, ott direkt van így átírva,
indítóban keress rá hexeditorral a hack-re és írd át pack-re

Üzenet összefésülés: 2014-04-29, 17:57:00

v a másik ugye hogy pythonban is átírod de az macerásabb

Tudnál segíteni? ezt a indítót akarom használni.

http://metin2hungary.net/index.php/topic,127610.msg708057.html#msg708057

mit írják át vagy hogy? nem értem :(

Előre is köszönöm

hát ennél érthetőbben nem tudok fogalmazni
de az is lehet hogy pythonban van átírva, rég láttam ilyet és nemtom mikor mi jelenik meg.
root-ban is és indítóban is keress rá


2014-04-29, 20:28:50 #5 Utolsó szerkesztés: 2014-04-29, 20:31:20 Szerző: cunter1996
Ez van a root ban
system ebben van egyedül az hogy hack!

import hack

class pack_file_iterator(object):
def __init__(self, packfile):
self.pack_file = packfile

def next(self):
tmp = self.pack_file.readline()
if tmp:
return tmp
raise StopIteration

_chr = __builtins__.chr

class pack_file(object):

def __init__(self, filename, mode = 'rb'):
assert mode in ('r', 'rb')
if not hack.Exist(filename):
raise IOError, 'No file or directory'
self.data = hack.Get(filename)
if mode == 'r':
self.data=_chr(10).join(self.data.split(_chr(13)+_chr(10)))

def __iter__(self):
return pack_file_iterator(self)

def read(self, len = None):
if not self.data:
return ''
if len:
tmp = self.data[:len]
self.data = self.data[len:]
return tmp
else:
tmp = self.data
self.data = ''
return tmp

def readline(self):
return self.read(self.data.find(_chr(10))+1)

def readlines(self):
return [x for x in self]

__builtins__.pack_open = pack_open = pack_file

_ModuleType = type(sys)

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

def __pack_import(name,globals=None,locals=None,fromlist=None):
if name in sys.modules:
return sys.modules[name]

filename = name + '.py'

if hack.Exist(filename):
dbg.Trace('importing from pack %s\\n' % name)

newmodule = _process_result(compile(pack_file(filename,'r').read(),filename,'exec'),name)

module_do(newmodule)
return newmodule
#return imp.load_module(name, pack_file(filename,'r'),filename,('.py','r',imp.PY_SOURCE))
else:
dbg.Trace('importing from lib %s\\n' % name)
return old_import(name,globals,locals,fromlist)


Üzenet összefésülés: 2014-04-29, 20:31:20

Jé át írtam .. látom nem figyeltél...mind1... és most meg jó..
Azért köszönöm :)

További szép napot.

igen... és nem értem mit nem értettél, 1. hsz-be érthetően, MAGYARUL írtam le, hogy a "hack" szót írd át "pack"-re

indítóban...
indítóban keress rá hexeditorral a hack-re és írd át pack-re

Mind1 :) hagyjuk köszi megoldódott örök hála :)