binwalk: update to 2.4.1.
This commit is contained in:
parent
a360c73ad8
commit
c8a4daf26e
|
@ -1,14 +0,0 @@
|
||||||
https://github.com/ReFirmLabs/binwalk/issues/566
|
|
||||||
https://github.com/ReFirmLabs/binwalk/issues/569
|
|
||||||
|
|
||||||
--- a/testing/tests/test_firmware_zip.py
|
|
||||||
+++ b/testing/tests/test_firmware_zip.py
|
|
||||||
@@ -10,6 +10,8 @@
|
|
||||||
'''
|
|
||||||
expected_results = [
|
|
||||||
[0, 'Zip archive data, at least v1.0 to extract, name: dir655_revB_FW_203NA/'],
|
|
||||||
+ [51, 'Zip archive data, at least v2.0 to extract, compressed size: 6395868, uncompressed size: 6422554, name: dir655_revB_FW_203NA/DIR655B1_FW203NAB02.bin'],
|
|
||||||
+ [6395993, 'Zip archive data, at least v2.0 to extract, compressed size: 14243, uncompressed size: 61440, name: dir655_revB_FW_203NA/dir655_revB_release_notes_203NA.doc'],
|
|
||||||
[6410581, 'End of Zip archive, footer length: 22'],
|
|
||||||
|
|
||||||
]
|
|
|
@ -1,22 +0,0 @@
|
||||||
Index: binwalk-2.3.3/src/binwalk/modules/extractor.py
|
|
||||||
===================================================================
|
|
||||||
--- binwalk-2.3.3.orig/src/binwalk/modules/extractor.py
|
|
||||||
+++ binwalk-2.3.3/src/binwalk/modules/extractor.py
|
|
||||||
@@ -966,7 +966,7 @@ class Extractor(Module):
|
|
||||||
|
|
||||||
# Fork a child process
|
|
||||||
child_pid = os.fork()
|
|
||||||
- if child_pid is 0:
|
|
||||||
+ if child_pid == 0:
|
|
||||||
# Switch to the run-as user privileges, if one has been set
|
|
||||||
if self.runas_uid is not None and self.runas_gid is not None:
|
|
||||||
os.setgid(self.runas_uid)
|
|
||||||
@@ -981,7 +981,7 @@ class Extractor(Module):
|
|
||||||
rval = subprocess.call(shlex.split(command), stdout=tmp, stderr=tmp)
|
|
||||||
|
|
||||||
# A true child process should exit with the subprocess exit value
|
|
||||||
- if child_pid is 0:
|
|
||||||
+ if child_pid == 0:
|
|
||||||
sys.exit(rval)
|
|
||||||
# If no os.fork() happened, just return the subprocess exit value
|
|
||||||
elif child_pid is None:
|
|
|
@ -1,90 +0,0 @@
|
||||||
--- a/src/binwalk/core/module.py
|
|
||||||
+++ b/src/binwalk/core/module.py
|
|
||||||
@@ -688,6 +688,16 @@ class Modules(object):
|
|
||||||
else:
|
|
||||||
return '--' + opt
|
|
||||||
|
|
||||||
+ @staticmethod
|
|
||||||
+ def _imp_load_source(name, path):
|
|
||||||
+ import importlib.util
|
|
||||||
+ import importlib.machinery
|
|
||||||
+ loader = importlib.machinery.SourceFileLoader(name, path)
|
|
||||||
+ spec = importlib.util.spec_from_file_location(name, path, loader=loader)
|
|
||||||
+ module = importlib.util.module_from_spec(spec)
|
|
||||||
+ loader.exec_module(module)
|
|
||||||
+ return module
|
|
||||||
+
|
|
||||||
def list(self, attribute="run"):
|
|
||||||
'''
|
|
||||||
Finds all modules with the specified attribute.
|
|
||||||
@@ -704,14 +714,13 @@ class Modules(object):
|
|
||||||
modules[module] = module.PRIORITY
|
|
||||||
|
|
||||||
# user-defined modules
|
|
||||||
- import imp
|
|
||||||
user_modules = binwalk.core.settings.Settings().user.modules
|
|
||||||
for file_name in os.listdir(user_modules):
|
|
||||||
if not file_name.endswith('.py'):
|
|
||||||
continue
|
|
||||||
module_name = file_name[:-3]
|
|
||||||
try:
|
|
||||||
- user_module = imp.load_source(module_name, os.path.join(user_modules, file_name))
|
|
||||||
+ user_module = _imp_load_source(module_name, os.path.join(user_modules, file_name))
|
|
||||||
except KeyboardInterrupt as e:
|
|
||||||
raise e
|
|
||||||
except Exception as e:
|
|
||||||
--- a/src/binwalk/core/plugin.py
|
|
||||||
+++ b/src/binwalk/core/plugin.py
|
|
||||||
@@ -1,7 +1,6 @@
|
|
||||||
# Core code for supporting and managing plugins.
|
|
||||||
|
|
||||||
import os
|
|
||||||
-import imp
|
|
||||||
import inspect
|
|
||||||
import binwalk.core.common
|
|
||||||
import binwalk.core.settings
|
|
||||||
@@ -131,6 +130,15 @@ class Plugins(object):
|
|
||||||
return klass
|
|
||||||
raise Exception("Failed to locate Plugin class in " + plugin)
|
|
||||||
|
|
||||||
+ def _imp_load_source(self, name, path):
|
|
||||||
+ import importlib.util
|
|
||||||
+ import importlib.machinery
|
|
||||||
+ loader = importlib.machinery.SourceFileLoader(name, path)
|
|
||||||
+ spec = importlib.util.spec_from_file_location(name, path, loader=loader)
|
|
||||||
+ module = importlib.util.module_from_spec(spec)
|
|
||||||
+ loader.exec_module(module)
|
|
||||||
+ return module
|
|
||||||
+
|
|
||||||
def list_plugins(self):
|
|
||||||
'''
|
|
||||||
Obtain a list of all user and system plugin modules.
|
|
||||||
@@ -180,7 +188,7 @@ class Plugins(object):
|
|
||||||
module = file_name[:-len(self.MODULE_EXTENSION)]
|
|
||||||
|
|
||||||
try:
|
|
||||||
- plugin = imp.load_source(module, os.path.join(plugins[key]['path'], file_name))
|
|
||||||
+ plugin = self._imp_load_source(module, os.path.join(plugins[key]['path'], file_name))
|
|
||||||
plugin_class = self._find_plugin_class(plugin)
|
|
||||||
|
|
||||||
plugins[key]['enabled'][module] = True
|
|
||||||
@@ -222,7 +230,7 @@ class Plugins(object):
|
|
||||||
continue
|
|
||||||
|
|
||||||
try:
|
|
||||||
- plugin = imp.load_source(module, file_path)
|
|
||||||
+ plugin = self._imp_load_source(module, file_path)
|
|
||||||
plugin_class = self._find_plugin_class(plugin)
|
|
||||||
|
|
||||||
class_instance = plugin_class(self.parent)
|
|
||||||
--- a/src/binwalk/core/magic.py
|
|
||||||
+++ b/src/binwalk/core/magic.py
|
|
||||||
@@ -428,7 +428,7 @@ class Magic(object):
|
|
||||||
# Regex rule to find format strings
|
|
||||||
self.fmtstr = re.compile("%[^%]")
|
|
||||||
# Regex rule to find periods (see self._do_math)
|
|
||||||
- self.period = re.compile("\.")
|
|
||||||
+ self.period = re.compile(r'\.')
|
|
||||||
|
|
||||||
def reset(self):
|
|
||||||
self.display_once = set()
|
|
|
@ -1,16 +1,16 @@
|
||||||
# Template file for 'binwalk'
|
# Template file for 'binwalk'
|
||||||
pkgname=binwalk
|
pkgname=binwalk
|
||||||
version=2.3.4
|
version=2.4.1
|
||||||
revision=3
|
revision=1
|
||||||
build_style=python3-module
|
build_style=python3-module
|
||||||
hostmakedepends="python3-setuptools"
|
hostmakedepends="python3-setuptools"
|
||||||
depends="python3"
|
depends="python3"
|
||||||
short_desc="Easy tool for analyzing/reversing/extracting firmware images"
|
short_desc="Easy tool for analyzing/reversing/extracting firmware images"
|
||||||
maintainer="Duncaen <duncaen@voidlinux.org>"
|
maintainer="Duncaen <duncaen@voidlinux.org>"
|
||||||
license="MIT"
|
license="MIT"
|
||||||
homepage="https://github.com/ReFirmLabs/binwalk"
|
homepage="https://github.com/OSPG/binwalk"
|
||||||
distfiles="https://github.com/ReFirmLabs/binwalk/archive/v${version}.tar.gz"
|
distfiles="https://github.com/OSPG/binwalk/archive/v${version}.tar.gz"
|
||||||
checksum=60416bfec2390cec76742ce942737df3e6585c933c2467932f59c21e002ba7a9
|
checksum=26d13afd3610b39a38a3062a34c05d94dacda3f6f6aa6d1d19e42b61fabe1c8f
|
||||||
|
|
||||||
post_extract() {
|
post_extract() {
|
||||||
vsed -i -e 's;/etc/bash_completion.d/%s;%s.bash;' setup.py
|
vsed -i -e 's;/etc/bash_completion.d/%s;%s.bash;' setup.py
|
||||||
|
|
Loading…
Reference in New Issue