diff options
Diffstat (limited to 'miasm/jitter/loader/utils.py')
| -rw-r--r-- | miasm/jitter/loader/utils.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/miasm/jitter/loader/utils.py b/miasm/jitter/loader/utils.py index 375424e6..d03adc8a 100644 --- a/miasm/jitter/loader/utils.py +++ b/miasm/jitter/loader/utils.py @@ -2,24 +2,23 @@ from builtins import int as int_types import logging from future.utils import viewitems, viewvalues - -from miasm.core.utils import force_bytes +from past.builtins import basestring log = logging.getLogger('loader_common') hnd = logging.StreamHandler() hnd.setFormatter(logging.Formatter("[%(levelname)s]: %(message)s")) log.addHandler(hnd) -log.setLevel(logging.INFO) +log.setLevel(logging.DEBUG) def canon_libname_libfunc(libname, libfunc): - libname = force_bytes(libname) - dn = libname.split(b'.')[0] + assert isinstance(libname, basestring) + assert isinstance(libfunc, basestring) or isinstance(libfunc, int) + dn = libname.split('.')[0] if isinstance(libfunc, int_types): return str(dn), libfunc else: - libfunc = force_bytes(libfunc) - return b"%s_%s" % (dn, libfunc) + return "%s_%s" % (dn, libfunc) class libimp(object): @@ -37,11 +36,11 @@ class libimp(object): self.fake_libs = set() def lib_get_add_base(self, name): - name = force_bytes(name) - name = name.lower().strip(b' ') - if not b"." in name: + assert isinstance(name, basestring) + name = name.lower().strip(' ') + if not "." in name: log.debug('warning adding .dll to modulename') - name += b'.dll' + name += '.dll' log.debug(name) if name in self.name2off: @@ -74,7 +73,7 @@ class libimp(object): if imp_ord_or_name in self.lib_imp2ad[libad]: return self.lib_imp2ad[libad][imp_ord_or_name] - # log.debug('new imp %s %s' % (imp_ord_or_name, dst_ad)) + log.debug('new imp %s %s' % (imp_ord_or_name, dst_ad)) ad = self.libbase2lastad[libad] self.libbase2lastad[libad] += 0x10 # arbitrary self.lib_imp2ad[libad][imp_ord_or_name] = ad |