Skip to content

Commit 85994ed

Browse files
committed
Remove external binary use for embedded versions
1 parent 13855a4 commit 85994ed

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

tools/genEmbed/genEmbed.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def render(self):
115115
evtxDumpCmdEmbed='self.evtxDumpCmd = self.getOSExternalToolsEmbed()',
116116
externalTool=self.externalTool,
117117
externalToolB64=self.fileToB64String(self.evtxdumpPath),
118-
removeTool=f'os.remove("{self.externalTool}")',
118+
removeTool=f'if self.useExternalBinaries: os.remove("{self.externalTool}")',
119119
configFileB64=self.configFileB64,
120120
templates=self.templatesArgs,
121121
templatesB64=self.templatesB64,
@@ -126,6 +126,7 @@ def render(self):
126126
rulesIf=self.rulesIf,
127127
rulesCheck=self.rulesCheck,
128128
noPackage = "args.package = False",
129+
noExternal = "args.noexternal = True",
129130
binPathVar = "binPath = None",
130131
executeRuleSetFromVar='zircoliteCore.loadRulesetFromVar(ruleset=ruleset, ruleFilters=args.rulefilter)',
131132
fieldMappingsLines=self.fieldMappingsLines

zircolite.py

+7-5
Original file line numberDiff line numberDiff line change
@@ -494,10 +494,11 @@ def makeExecutable(self, path):
494494

495495
#{% if embeddedMode %}
496496
def getOSExternalToolsEmbed(self):
497-
with open("{{ externalTool }}", 'wb') as f:
498-
f.write(zlib.decompress(base64.b64decode(b'{{ externalToolB64 }}')))
499-
self.makeExecutable("{{ externalTool }}")
500-
return "{{ externalTool }}"
497+
if self.useExternalBinaries:
498+
with open("{{ externalTool }}", 'wb') as f:
499+
f.write(zlib.decompress(base64.b64decode(b'{{ externalToolB64 }}')))
500+
self.makeExecutable("{{ externalTool }}")
501+
return "{{ externalTool }}"
501502
#{% else %}
502503
def getOSExternalTools(self, binPath):
503504
""" Determine which binaries to run depending on host OS : 32Bits is NOT supported for now since evtx_dump is 64bits only"""
@@ -610,7 +611,7 @@ def run(self, file):
610611
def cleanup(self):
611612
shutil.rmtree(self.tmpDir)
612613
#{% if embeddedMode %}
613-
#{{ removeTool }}
614+
#{{ removeTool }}
614615
#{% endif %}
615616

616617
#{% if not embeddedMode -%}
@@ -771,6 +772,7 @@ def avoidFiles(pathList, avoidFilesList):
771772
#{% if embeddedMode %}
772773
#{{ rulesCheck }}
773774
#{{ noPackage }}
775+
#{{ noExternal }}
774776
#{% endif %}
775777

776778
consoleLogger.info("[+] Checking prerequisites")

0 commit comments

Comments
 (0)