Compare commits

..

1 commit

Author SHA1 Message Date
Tom Callaway
d7a20635e8 update to 1.2 2013-04-08 17:13:56 -04:00
10 changed files with 40 additions and 317 deletions

8
.gitignore vendored
View file

@ -1,9 +1 @@
/binwalk-0.4.5.tar.gz
/binwalk-1.2.tar.gz
/binwalk-2.0.0.tar.gz
/binwalk-2.1.1.tar.gz
/binwalk-2.2.0.tar.gz
/binwalk-2.3.1.tar.gz
/binwalk-2.3.2.tar.gz
/binwalk-2.3.3.tar.gz
/binwalk-2.3.4.tar.gz

View file

@ -1,28 +0,0 @@
From 27518c9b5817c1c54f782083db9957260666575d Mon Sep 17 00:00:00 2001
From: LuK1337 <priv.luk@gmail.com>
Date: Wed, 3 Sep 2025 20:41:03 +0200
Subject: [PATCH] Migrate from ast.Num to ast.Constant
ast.Num has been removed from Python 3.14.
---
src/binwalk/core/common.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/binwalk/core/common.py b/src/binwalk/core/common.py
index bff7481..5f34f61 100644
--- a/src/binwalk/core/common.py
+++ b/src/binwalk/core/common.py
@@ -238,8 +238,8 @@ class MathExpression(object):
return self._eval(ast.parse(expr).body[0].value)
def _eval(self, node):
- if isinstance(node, ast.Num): # <number>
- return node.n
+ if isinstance(node, ast.Constant): # <number>
+ return node.value
elif isinstance(node, ast.operator): # <operator>
return self.OPERATORS[type(node.op)]
elif isinstance(node, ast.UnaryOp):
--
2.51.0

View file

@ -1,34 +0,0 @@
From 6e7736869d998edb6384728c03a348cd9ab1f9ca Mon Sep 17 00:00:00 2001
From: Scott Talbert <swt@techie.net>
Date: Sun, 12 Sep 2021 13:34:38 -0400
Subject: [PATCH] Fix SyntaxWarnings
Fixes:
/usr/lib/python3.10/site-packages/binwalk/modules/extractor.py:969: SyntaxWarning: "is" with a literal. Did you mean "=="?
/usr/lib/python3.10/site-packages/binwalk/modules/extractor.py:984: SyntaxWarning: "is" with a literal. Did you mean "=="?
---
src/binwalk/modules/extractor.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/binwalk/modules/extractor.py b/src/binwalk/modules/extractor.py
index 4e4660af..3cc38ab1 100644
--- a/src/binwalk/modules/extractor.py
+++ b/src/binwalk/modules/extractor.py
@@ -966,7 +966,7 @@ def shell_call(self, command):
# 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 @@ def shell_call(self, command):
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:

View file

@ -1,10 +0,0 @@
def eq_(a, b):
assert a == b
def ok_(s):
assert s
def assert_not_equal(a, b):
assert a != b
assert_equal = eq_

View file

@ -0,0 +1,21 @@
diff -up binwalk-1.2/src/setup.py.ignore-matplotlibfail binwalk-1.2/src/setup.py
--- binwalk-1.2/src/setup.py.ignore-matplotlibfail 2013-04-08 16:47:13.975048629 -0400
+++ binwalk-1.2/src/setup.py 2013-04-08 16:47:36.047047840 -0400
@@ -30,12 +30,12 @@ try:
except Exception, e:
print "\n", "*" * WIDTH
print "Pre-requisite check warning:", str(e)
- print "To take advantage of this tool's entropy plotting capabilities, please install the python-matplotlib module."
- print "*" * WIDTH, "\n"
+ # print "To take advantage of this tool's entropy plotting capabilities, please install the python-matplotlib module."
+ # print "*" * WIDTH, "\n"
- if raw_input('Continue installation without this module (Y/n)? ').lower().startswith('n'):
- print 'Quitting...\n'
- sys.exit(1)
+ # if raw_input('Continue installation without this module (Y/n)? ').lower().startswith('n'):
+ # print 'Quitting...\n'
+ # sys.exit(1)
# Generate a new magic file from the files in the magic directory

View file

@ -1,12 +0,0 @@
reverted:
--- b/testing/tests/test_firmware_zip.py
+++ a/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'],
]

View file

@ -1,31 +1,14 @@
Name: binwalk
Version: 2.3.4
Release: 15%{?dist}
Version: 1.2
Release: 1%{?dist}
Summary: Firmware analysis tool
License: MIT
URL: https://github.com/ReFirmLabs/binwalk
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: _nose_shim.py
Patch0: binwalk-2.3.3-tests.patch
Patch1: %{url}/pull/559/commits/6e7736869d998edb6384728c03a348cd9ab1f9ca.patch
Patch2: version-oops.patch
# https://github.com/ReFirmLabs/binwalk/issues/507
Patch3: requires-zombie-imp.patch
Patch4: 0001-Migrate-from-ast.Num-to-ast.Constant.patch
URL: http://code.google.com/p/binwalk/
Source0: http://%{name}.googlecode.com/files/%{name}-%{version}.tar.gz
Patch0: binwalk-1.2-ignore-matplotlib-fail.patch
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: python3-setuptools
# https://github.com/ReFirmLabs/binwalk/issues/507
BuildRequires: (python3-zombie-imp if python3-devel >= 3.12)
# For tests
BuildRequires: python3-pytest
# Optional, for graphs and visualizations
Suggests: python3-pyqtgraph
# Optional, for --disasm functionality
Suggests: capstone
# Optional, for automatic extraction/decompression of files and data
Recommends: mtd-utils gzip bzip2 tar arj p7zip p7zip-plugins cabextract squashfs-tools lzop srecord
Suggests: sleuthkit
BuildRequires: python-magic, python-matplotlib
Requires: python-matplotlib, python-magic
%description
Binwalk is a tool for searching a given binary image for embedded files and
@ -34,192 +17,26 @@ embedded inside of firmware images. Binwalk uses the python-magic library, so
it is compatible with magic signatures created for the Unix file utility.
%prep
%autosetup -p1
# replace nose with minimal compatibility shim
# upsteram has moved away from Python in version 3+
cp -a %{SOURCE1} testing/tests/_nose_shim.py
sed -i 's/from nose.tools import/from _nose_shim import/' testing/tests/*.py
%setup -q
%patch0 -p1 -b .ignore-matplotlib-fail
%build
%py3_build
pushd src
%{__python} setup.py build
popd
%install
%py3_install
%check
cd testing/tests
%pytest
pushd src
%{__python} setup.py install --prefix=%{_prefix} --root=%{buildroot}
popd
%files
%doc API.md INSTALL.md README.md
%license LICENSE
%doc docs/*
%{_bindir}/%{name}
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-%{version}*.egg-info
%{python_sitelib}/%{name}/
%{python_sitelib}/%{name}-%{version}*.egg-info
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 2.3.4-15
- Rebuilt for Python 3.14.0rc3 bytecode
* Wed Sep 03 2025 LuK1337 <priv.luk@gmail.com> - 2.3.4-14
- Add support for Python 3.14
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 2.3.4-12
- Rebuilt for Python 3.14
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Dec 14 2024 Miro Hrončok <mhroncok@redhat.com> - 2.3.4-10
- Replace deprecated nose with pytest
- https://fedoraproject.org/wiki/Changes/DeprecateNose
* Wed Jul 31 2024 Scott Talbert <swt@techie.net> - 2.3.4-9
- Confirm License tag is already SPDX
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 2.3.4-7
- Rebuilt for Python 3.13
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jun 28 2023 Scott Talbert <swt@techie.net> - 2.3.4-3
- BR python3-zombie-imp to fix FTBFS with Python 3.12
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2.3.4-2
- Rebuilt for Python 3.12
* Fri Feb 03 2023 Scott Talbert <swt@techie.net> - 2.3.4-1
- Update to new upstream release 2.3.4 (#2166724)
* Fri Jan 27 2023 Scott Talbert <swt@techie.net> - 2.3.3-3
- Fix path traversal in PFS extractor script (#2165006)
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Dec 27 2022 Scott Talbert <swt@techie.net> - 2.3.3-1
- Update to new upstream release 2.3.3 (#2003337 #2156566)
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.3.2-3
- Rebuilt for Python 3.11
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Aug 18 2021 Scott Talbert <swt@techie.net> - 2.3.2-1
- Update to new upstream release 2.3.2 (#1994176)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.3.1-2
- Rebuilt for Python 3.10
* Fri Mar 26 2021 Scott Talbert <swt@techie.net> - 2.3.1-1
- Update to new upstream release 2.3.1 (#1941447)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.2.0-3
- Rebuilt for Python 3.9
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 15 2019 Scott Talbert <swt@techie.net> - 2.2.0-1
- Update to new upstream release 2.2.0 (#1761636)
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.1.1-14
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.1.1-13
- Rebuilt for Python 3.8
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.1.1-9
- Rebuilt for Python 3.7
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Nov 13 2017 Scott Talbert <swt@techie.net> - 2.1.1-7
- Add p7zip-plugins as a dependency and change from Suggests to Recommends (#1511958)
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2.1.1-4
- Rebuild for Python 3.6
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sun Jan 03 2016 Scott Talbert <swt@techie.net> - 2.1.1-1
- New upstream release 2.1.1
- Remove patches (all upstream/obsolete), switch to noarch, add suggests
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Mon Aug 24 2015 Scott Talbert <swt@techie.net> - 2.0.0-6
- Needed to specify python3 to configure
* Mon Aug 24 2015 Scott Talbert <swt@techie.net> - 2.0.0-5
- Cherry-pick patch from upstream for python3 fix
- Add weak dependency on python3-pyqtgraph (#1248735)
* Thu Jul 30 2015 Scott Talbert <swt@techie.net> - 2.0.0-4
- Switch to python3
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat Nov 1 2014 Ville Skyttä <ville.skytta@iki.fi> - 2.0.0-2
- Fix *.so permissions for -debuginfo
* Mon Sep 29 2014 Scott Talbert <swt@techie.net> - 2.0.0-1
- New upstream release 2.0.0 (#1085059, #1111576)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Apr 8 2013 Tom Callaway <spot@fedoraproject.org> 1.2-1
- update to 1.2

View file

@ -1,11 +0,0 @@
diff -up binwalk-2.3.4/setup.py.imp binwalk-2.3.4/setup.py
--- binwalk-2.3.4/setup.py.imp 2023-02-02 20:28:44.655410043 -0500
+++ binwalk-2.3.4/setup.py 2023-06-28 22:26:04.279845937 -0400
@@ -336,6 +336,7 @@ setup(
author="Craig Heffner",
url="https://github.com/ReFirmLabs/%s" % MODULE_NAME,
requires=[],
+ install_requires=["zombie-imp;python_version>='3.12'"],
python_requires=">=3",
package_dir={"": "src"},
packages=[MODULE_NAME],

View file

@ -1 +1 @@
SHA512 (binwalk-2.3.4.tar.gz) = 5a5e16035dfc05b94ae4ee3969a337336c550606b71e20fcb1f150c4b38ef2084b6a823ce2a8050f4b41616b7d7c31cfb04bf43e7f2c977ab1a634aba9d67fec
8a6990dcb26c3f94d72490bca563cf83 binwalk-1.2.tar.gz

View file

@ -1,12 +0,0 @@
diff -up binwalk-2.3.4/setup.py.oops binwalk-2.3.4/setup.py
--- binwalk-2.3.4/setup.py.oops 2023-02-01 11:15:53.000000000 -0500
+++ binwalk-2.3.4/setup.py 2023-02-02 20:28:44.655410043 -0500
@@ -12,7 +12,7 @@ except ImportError:
from distutils.dir_util import remove_tree
MODULE_NAME = "binwalk"
-MODULE_VERSION = "2.3.3"
+MODULE_VERSION = "2.3.4"
SCRIPT_NAME = MODULE_NAME
MODULE_DIRECTORY = os.path.dirname(os.path.realpath(__file__))