7
7
import tempfile
8
8
9
9
from sflock .abstracts import Unpacker
10
+ from sflock .misc import data_file
10
11
12
+ zip7_binary = data_file (b"7zz.elf" )
11
13
12
14
class ZipFile (Unpacker ):
13
15
name = "zipfile"
14
- exe = "/usr/bin/7z"
16
+ exe = zip7_binary
15
17
exts = b".zip"
16
18
magic = "Zip archive data"
17
19
@@ -56,7 +58,7 @@ def unpack(self, password="infected", duplicates=None):
56
58
57
59
class Zip7File (Unpacker ):
58
60
name = "7zfile"
59
- exe = "/usr/bin/7z"
61
+ exe = zip7_binary
60
62
exts = b".7z" , b".iso" , b".udf" , b".xz"
61
63
# TODO Should we use "isoparser" (check PyPI) instead of 7z?
62
64
magic = "7-zip archive" , "ISO 9660" , "UDF filesystem data" , "XZ compressed data"
@@ -84,7 +86,7 @@ def unpack(self, password="infected", duplicates=None):
84
86
85
87
class GzipFile (Unpacker ):
86
88
name = "gzipfile"
87
- exe = "/usr/bin/7z"
89
+ exe = zip7_binary
88
90
exts = b".gzip" , b".gz"
89
91
magic = "gzip compressed data, was"
90
92
@@ -110,7 +112,7 @@ def unpack(self, password=None, duplicates=None):
110
112
111
113
class LzhFile (Unpacker ):
112
114
name = "lzhfile"
113
- exe = "/usr/bin/7z"
115
+ exe = zip7_binary
114
116
exts = b".lzh" , b".lha"
115
117
magic = "LHa ("
116
118
@@ -136,7 +138,7 @@ def unpack(self, password=None, duplicates=None):
136
138
137
139
class VHDFile (Unpacker ):
138
140
name = "vhdfile"
139
- exe = "/usr/bin/7z"
141
+ exe = zip7_binary
140
142
exts = b".vhd" , b".vhdx"
141
143
magic = " Microsoft Disk Image"
142
144
@@ -163,7 +165,7 @@ def unpack(self, password=None, duplicates=None):
163
165
164
166
class WimFile (Unpacker ):
165
167
name = "wimfile"
166
- exe = "/usr/bin/7z"
168
+ exe = zip7_binary
167
169
exts = b".wim"
168
170
magic = "Windows imaging (WIM) image"
169
171
@@ -189,7 +191,7 @@ def unpack(self, password=None, duplicates=None):
189
191
190
192
class XZFile (Unpacker ):
191
193
name = "xzfile"
192
- exe = "/usr/bin/7z"
194
+ exe = zip7_binary
193
195
exts = b".xz"
194
196
magic = "XZ compressed data"
195
197
@@ -216,7 +218,7 @@ def unpack(self, password=None, duplicates=None):
216
218
217
219
class NSIS (Unpacker ):
218
220
name = "nsis"
219
- exe = "/usr/bin/7z"
221
+ exe = zip7_binary
220
222
exts = b".exe"
221
223
magic = "Nullsoft Installer self-extracting archive"
222
224
0 commit comments