Compare commits
No commits in common. "rawhide" and "f20" have entirely different histories.
12 changed files with 417 additions and 304 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -1,9 +1,3 @@
|
|||
/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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
@ -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:
|
||||
|
|
@ -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_
|
||||
21
binwalk-1.2-ignore-matplotlib-fail.patch
Normal file
21
binwalk-1.2-ignore-matplotlib-fail.patch
Normal 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
|
||||
336
binwalk-2.0.0-unbundle-miniz.patch
Normal file
336
binwalk-2.0.0-unbundle-miniz.patch
Normal file
|
|
@ -0,0 +1,336 @@
|
|||
From 9b16315e00bbb3d26f21713cba8500d1db4910ef Mon Sep 17 00:00:00 2001
|
||||
From: Scott Talbert <swt@techie.net>
|
||||
Date: Mon, 13 Oct 2014 23:29:14 -0400
|
||||
Subject: [PATCH] Move most of binwalk's tinfl additions to a separate file
|
||||
|
||||
This will make downstream use of unbundled tinfl easier.
|
||||
---
|
||||
src/C/miniz/Makefile | 8 +--
|
||||
src/C/miniz/tinfl.c | 131 -------------------------------------------
|
||||
src/C/miniz/tinfl_wrapper.c | 133 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 137 insertions(+), 135 deletions(-)
|
||||
create mode 100644 src/C/miniz/tinfl_wrapper.c
|
||||
|
||||
diff --git a/src/C/miniz/Makefile b/src/C/miniz/Makefile
|
||||
index d8c7448..9930e7f 100644
|
||||
--- a/src/C/miniz/Makefile
|
||||
+++ b/src/C/miniz/Makefile
|
||||
@@ -2,12 +2,12 @@ LIBNAME=libtinfl.$(SOEXT)
|
||||
|
||||
all: $(LIBNAME)
|
||||
|
||||
-$(LIBNAME): tinfl.o
|
||||
- $(CC) $(CFLAGS) -shared -Wl,$(SONAME),$(LIBNAME) tinfl.o -o $(LIBNAME) $(LDFLAGS)
|
||||
+$(LIBNAME): tinfl_wrapper.o
|
||||
+ $(CC) $(CFLAGS) -shared -Wl,$(SONAME),$(LIBNAME) tinfl_wrapper.o -o $(LIBNAME) $(LDFLAGS)
|
||||
chmod +x $(LIBNAME)
|
||||
|
||||
-tinfl.o:
|
||||
- $(CC) $(CFLAGS) -c tinfl.c
|
||||
+tinfl_wrapper.o:
|
||||
+ $(CC) $(CFLAGS) -c tinfl_wrapper.c
|
||||
|
||||
install:
|
||||
mkdir -p $(DESTDIR)$(LIBDIR)
|
||||
diff --git a/src/C/miniz/tinfl.c b/src/C/miniz/tinfl.c
|
||||
index 23fbe93..401168c 100644
|
||||
--- a/src/C/miniz/tinfl.c
|
||||
+++ b/src/C/miniz/tinfl.c
|
||||
@@ -8,7 +8,6 @@
|
||||
#ifndef TINFL_HEADER_INCLUDED
|
||||
#define TINFL_HEADER_INCLUDED
|
||||
|
||||
-#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef unsigned char mz_uint8;
|
||||
@@ -70,10 +69,6 @@ size_t tinfl_decompress_mem_to_mem(void *pOut_buf, size_t out_buf_len, const voi
|
||||
typedef int (*tinfl_put_buf_func_ptr)(const void* pBuf, int len, void *pUser);
|
||||
int tinfl_decompress_mem_to_callback(const void *pIn_buf, size_t *pIn_buf_size, tinfl_put_buf_func_ptr pPut_buf_func, void *pPut_buf_user, int flags);
|
||||
|
||||
-// Checks to see if the first block of data in in_buf is valid zlib compressed data.
|
||||
-// Returns 1 if valid, 0 if invalid.
|
||||
-int is_valid_zlib_data(char *in_buf, size_t in_buf_size);
|
||||
-
|
||||
struct tinfl_decompressor_tag; typedef struct tinfl_decompressor_tag tinfl_decompressor;
|
||||
|
||||
// Max size of LZ dictionary.
|
||||
@@ -573,117 +568,6 @@ int tinfl_decompress_mem_to_callback(const void *pIn_buf, size_t *pIn_buf_size,
|
||||
return result;
|
||||
}
|
||||
|
||||
-#define BLOCK_SIZE (32*1024)
|
||||
-char *inflate_block(char *buf, size_t buf_size)
|
||||
-{
|
||||
- size_t out_size = BLOCK_SIZE;
|
||||
- return (char *) tinfl_decompress_mem_to_heap((const void *) buf, buf_size, (size_t *) &out_size, 0);
|
||||
-}
|
||||
-
|
||||
-/* CJH */
|
||||
-
|
||||
-int is_deflated_callback(const void *pBuf, int len, void *pUser)
|
||||
-{
|
||||
- int *decomp_size = pUser;
|
||||
-
|
||||
- *decomp_size += len;
|
||||
-
|
||||
- if(len > 0)
|
||||
- {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
- * Tries to determine if a given buffer contains valid deflated data.
|
||||
- *
|
||||
- * @buf - The buffer of data to check for deflated data.
|
||||
- * @buf_size - The size of @buf.
|
||||
- * @includes_zlib_header - Set to 1 if the buffer should start with a valid zlib header.
|
||||
- *
|
||||
- * Returns the size of the inflated data if @buf inflated to a value larger than 32KB,
|
||||
- * or if it contained a valid zlib header/footer; else, returns 0.
|
||||
- *
|
||||
- * Thus, it is recommended to provide more than 32KB of data in @buf for the most accurate results.
|
||||
- */
|
||||
-int is_deflated(char *buf, size_t buf_size, int includes_zlib_header)
|
||||
-{
|
||||
- int flags = TINFL_FLAG_HAS_MORE_INPUT;
|
||||
- int retval = 0, decomp_size = 0;
|
||||
-
|
||||
- if(includes_zlib_header)
|
||||
- {
|
||||
- flags |= TINFL_FLAG_PARSE_ZLIB_HEADER | TINFL_FLAG_COMPUTE_ADLER32;
|
||||
- }
|
||||
-
|
||||
- retval = tinfl_decompress_mem_to_callback(buf, &buf_size, is_deflated_callback, (void *) &decomp_size, flags);
|
||||
-
|
||||
- if(retval == 1 || decomp_size > BLOCK_SIZE)
|
||||
- {
|
||||
- return decomp_size;
|
||||
- }
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-int inflate_raw_file_callback(const void *pBuf, int len, void *pUser)
|
||||
-{
|
||||
- if(fwrite(pBuf, 1, len, (FILE *) pUser) == len)
|
||||
- {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-/* Inflates a file containing raw deflated data.
|
||||
- *
|
||||
- * @in_file - Input file containing raw deflated data.
|
||||
- * @out_file - Output file where inflated data will be saved.
|
||||
- *
|
||||
- * Returns void.
|
||||
- */
|
||||
-void inflate_raw_file(char *in_file, char *out_file)
|
||||
-{
|
||||
- char *compressed_data = NULL;
|
||||
- size_t in_size = 0, nbytes = 0;
|
||||
- FILE *fp_in = NULL, *fp_out = NULL;
|
||||
-
|
||||
- fp_in = fopen(in_file, "rb");
|
||||
- if(fp_in)
|
||||
- {
|
||||
- fp_out = fopen(out_file, "wb");
|
||||
- if(fp_out)
|
||||
- {
|
||||
-
|
||||
- fseek(fp_in, 0L, SEEK_END);
|
||||
- in_size = ftell(fp_in);
|
||||
- fseek(fp_in, 0L, SEEK_SET);
|
||||
-
|
||||
- compressed_data = malloc(in_size);
|
||||
- if(compressed_data)
|
||||
- {
|
||||
- memset(compressed_data, 0, in_size);
|
||||
-
|
||||
- nbytes = fread(compressed_data, 1, in_size, fp_in);
|
||||
- if(nbytes > 0)
|
||||
- {
|
||||
- tinfl_decompress_mem_to_callback(compressed_data, &nbytes, inflate_raw_file_callback, (void *) fp_out, 0);
|
||||
- }
|
||||
-
|
||||
- free(compressed_data);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if(fp_in) fclose(fp_in);
|
||||
- if(fp_out) fclose(fp_out);
|
||||
-
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
#endif // #ifndef TINFL_HEADER_FILE_ONLY
|
||||
|
||||
/*
|
||||
@@ -712,18 +596,3 @@ void inflate_raw_file(char *in_file, char *out_file)
|
||||
|
||||
For more information, please refer to <http://unlicense.org/>
|
||||
*/
|
||||
-
|
||||
-#ifdef MAIN
|
||||
-int main(int argc, char *argv[])
|
||||
-{
|
||||
- if(argc != 3)
|
||||
- {
|
||||
- fprintf(stderr, "Usage: %s <input file> <output file>\n", argv[0]);
|
||||
- return EXIT_FAILURE;
|
||||
- }
|
||||
-
|
||||
- inflate_raw_file(argv[1], argv[2]);
|
||||
-
|
||||
- return EXIT_SUCCESS;
|
||||
-}
|
||||
-#endif
|
||||
diff --git a/src/C/miniz/tinfl_wrapper.c b/src/C/miniz/tinfl_wrapper.c
|
||||
new file mode 100644
|
||||
index 0000000..f942853
|
||||
--- /dev/null
|
||||
+++ b/src/C/miniz/tinfl_wrapper.c
|
||||
@@ -0,0 +1,133 @@
|
||||
+#include <stdio.h>
|
||||
+#include <string.h>
|
||||
+#include "tinfl.c"
|
||||
+
|
||||
+// Checks to see if the first block of data in in_buf is valid zlib compressed data.
|
||||
+// Returns 1 if valid, 0 if invalid.
|
||||
+int is_valid_zlib_data(char *in_buf, size_t in_buf_size);
|
||||
+
|
||||
+#define BLOCK_SIZE (32*1024)
|
||||
+char *inflate_block(char *buf, size_t buf_size)
|
||||
+{
|
||||
+ size_t out_size = BLOCK_SIZE;
|
||||
+ return (char *) tinfl_decompress_mem_to_heap((const void *) buf, buf_size, (size_t *) &out_size, 0);
|
||||
+}
|
||||
+
|
||||
+/* CJH */
|
||||
+
|
||||
+int is_deflated_callback(const void *pBuf, int len, void *pUser)
|
||||
+{
|
||||
+ int *decomp_size = pUser;
|
||||
+
|
||||
+ *decomp_size += len;
|
||||
+
|
||||
+ if(len > 0)
|
||||
+ {
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Tries to determine if a given buffer contains valid deflated data.
|
||||
+ *
|
||||
+ * @buf - The buffer of data to check for deflated data.
|
||||
+ * @buf_size - The size of @buf.
|
||||
+ * @includes_zlib_header - Set to 1 if the buffer should start with a valid zlib header.
|
||||
+ *
|
||||
+ * Returns the size of the inflated data if @buf inflated to a value larger than 32KB,
|
||||
+ * or if it contained a valid zlib header/footer; else, returns 0.
|
||||
+ *
|
||||
+ * Thus, it is recommended to provide more than 32KB of data in @buf for the most accurate results.
|
||||
+ */
|
||||
+int is_deflated(char *buf, size_t buf_size, int includes_zlib_header)
|
||||
+{
|
||||
+ int flags = TINFL_FLAG_HAS_MORE_INPUT;
|
||||
+ int retval = 0, decomp_size = 0;
|
||||
+
|
||||
+ if(includes_zlib_header)
|
||||
+ {
|
||||
+ flags |= TINFL_FLAG_PARSE_ZLIB_HEADER | TINFL_FLAG_COMPUTE_ADLER32;
|
||||
+ }
|
||||
+
|
||||
+ retval = tinfl_decompress_mem_to_callback(buf, &buf_size, is_deflated_callback, (void *) &decomp_size, flags);
|
||||
+
|
||||
+ if(retval == 1 || decomp_size > BLOCK_SIZE)
|
||||
+ {
|
||||
+ return decomp_size;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int inflate_raw_file_callback(const void *pBuf, int len, void *pUser)
|
||||
+{
|
||||
+ if(fwrite(pBuf, 1, len, (FILE *) pUser) == len)
|
||||
+ {
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/* Inflates a file containing raw deflated data.
|
||||
+ *
|
||||
+ * @in_file - Input file containing raw deflated data.
|
||||
+ * @out_file - Output file where inflated data will be saved.
|
||||
+ *
|
||||
+ * Returns void.
|
||||
+ */
|
||||
+void inflate_raw_file(char *in_file, char *out_file)
|
||||
+{
|
||||
+ char *compressed_data = NULL;
|
||||
+ size_t in_size = 0, nbytes = 0;
|
||||
+ FILE *fp_in = NULL, *fp_out = NULL;
|
||||
+
|
||||
+ fp_in = fopen(in_file, "rb");
|
||||
+ if(fp_in)
|
||||
+ {
|
||||
+ fp_out = fopen(out_file, "wb");
|
||||
+ if(fp_out)
|
||||
+ {
|
||||
+
|
||||
+ fseek(fp_in, 0L, SEEK_END);
|
||||
+ in_size = ftell(fp_in);
|
||||
+ fseek(fp_in, 0L, SEEK_SET);
|
||||
+
|
||||
+ compressed_data = malloc(in_size);
|
||||
+ if(compressed_data)
|
||||
+ {
|
||||
+ memset(compressed_data, 0, in_size);
|
||||
+
|
||||
+ nbytes = fread(compressed_data, 1, in_size, fp_in);
|
||||
+ if(nbytes > 0)
|
||||
+ {
|
||||
+ tinfl_decompress_mem_to_callback(compressed_data, &nbytes, inflate_raw_file_callback, (void *) fp_out, 0);
|
||||
+ }
|
||||
+
|
||||
+ free(compressed_data);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if(fp_in) fclose(fp_in);
|
||||
+ if(fp_out) fclose(fp_out);
|
||||
+
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+#ifdef MAIN
|
||||
+int main(int argc, char *argv[])
|
||||
+{
|
||||
+ if(argc != 3)
|
||||
+ {
|
||||
+ fprintf(stderr, "Usage: %s <input file> <output file>\n", argv[0]);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ inflate_raw_file(argv[1], argv[2]);
|
||||
+
|
||||
+ return EXIT_SUCCESS;
|
||||
+}
|
||||
+#endif
|
||||
--
|
||||
1.9.3
|
||||
|
||||
38
binwalk-2.0.0-use-system-miniz.patch
Normal file
38
binwalk-2.0.0-use-system-miniz.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
From 16bb181ca0b6b92b6a1dde40a610d640e9031c57 Mon Sep 17 00:00:00 2001
|
||||
From: Scott Talbert <swt@techie.net>
|
||||
Date: Wed, 15 Oct 2014 23:54:05 -0400
|
||||
Subject: [PATCH] Use Fedora system miniz library
|
||||
|
||||
---
|
||||
src/C/miniz/Makefile | 2 +-
|
||||
src/C/miniz/tinfl_wrapper.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/C/miniz/Makefile b/src/C/miniz/Makefile
|
||||
index 9930e7f..0196818 100644
|
||||
--- a/src/C/miniz/Makefile
|
||||
+++ b/src/C/miniz/Makefile
|
||||
@@ -3,7 +3,7 @@ LIBNAME=libtinfl.$(SOEXT)
|
||||
all: $(LIBNAME)
|
||||
|
||||
$(LIBNAME): tinfl_wrapper.o
|
||||
- $(CC) $(CFLAGS) -shared -Wl,$(SONAME),$(LIBNAME) tinfl_wrapper.o -o $(LIBNAME) $(LDFLAGS)
|
||||
+ $(CC) $(CFLAGS) -shared -Wl,$(SONAME),$(LIBNAME) tinfl_wrapper.o -o $(LIBNAME) $(LDFLAGS) -lminiz
|
||||
chmod +x $(LIBNAME)
|
||||
|
||||
tinfl_wrapper.o:
|
||||
diff --git a/src/C/miniz/tinfl_wrapper.c b/src/C/miniz/tinfl_wrapper.c
|
||||
index f942853..8192c39 100644
|
||||
--- a/src/C/miniz/tinfl_wrapper.c
|
||||
+++ b/src/C/miniz/tinfl_wrapper.c
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
-#include "tinfl.c"
|
||||
+#include "miniz.h"
|
||||
|
||||
// Checks to see if the first block of data in in_buf is valid zlib compressed data.
|
||||
// Returns 1 if valid, 0 if invalid.
|
||||
--
|
||||
1.9.3
|
||||
|
||||
|
|
@ -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'],
|
||||
|
||||
]
|
||||
211
binwalk.spec
211
binwalk.spec
|
|
@ -1,31 +1,15 @@
|
|||
Name: binwalk
|
||||
Version: 2.3.4
|
||||
Release: 15%{?dist}
|
||||
Version: 2.0.0
|
||||
Release: 2%{?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
|
||||
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
|
||||
URL: http://www.binwalk.org/
|
||||
Source0: https://github.com/devttys0/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
Patch0: binwalk-2.0.0-unbundle-miniz.patch
|
||||
Patch1: binwalk-2.0.0-use-system-miniz.patch
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: miniz-devel
|
||||
Requires: file-libs
|
||||
|
||||
%description
|
||||
Binwalk is a tool for searching a given binary image for embedded files and
|
||||
|
|
@ -34,180 +18,27 @@ 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 .unbundle-miniz
|
||||
%patch1 -p1 -b .use-system-miniz
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
%configure --disable-bundles
|
||||
make %{?_smp_mflags}
|
||||
chmod -c +x src/build/lib/binwalk/libs/*.so
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
|
||||
%check
|
||||
cd testing/tests
|
||||
%pytest
|
||||
# Override --install-lib because package believes it is pure python but it
|
||||
# actually contains arch-specific code.
|
||||
%{__python2} setup.py install --install-lib=%{python2_sitearch} --prefix=%{_prefix} --root=%{buildroot}
|
||||
|
||||
%files
|
||||
%doc API.md INSTALL.md README.md
|
||||
%license LICENSE
|
||||
%doc API.md INSTALL.md LICENSE README.md
|
||||
%{_bindir}/%{name}
|
||||
%{python3_sitelib}/%{name}/
|
||||
%{python3_sitelib}/%{name}-%{version}*.egg-info
|
||||
%{python2_sitearch}/%{name}/
|
||||
%{python2_sitearch}/%{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
|
||||
|
||||
|
|
|
|||
|
|
@ -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],
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (binwalk-2.3.4.tar.gz) = 5a5e16035dfc05b94ae4ee3969a337336c550606b71e20fcb1f150c4b38ef2084b6a823ce2a8050f4b41616b7d7c31cfb04bf43e7f2c977ab1a634aba9d67fec
|
||||
609668aa39a81d34b463edbf3956dd73 binwalk-2.0.0.tar.gz
|
||||
|
|
|
|||
|
|
@ -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__))
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue