Resolved problems listed in #86

This commit is contained in:
Memphis Marshall
2025-07-22 23:36:31 +08:00
parent 5855c1c468
commit 5c0776d144
+12 -6
View File
@@ -61,9 +61,9 @@ def analyze_steghide(
"steghide", "steghide",
"extract", "extract",
"-sf", "-sf",
"../" + str(image_name), "../../" + str(image_name),
"-xf", "-xf",
str(embedded_filename), str(embedded_file.name),
] ]
if password: if password:
cmd_ext += ["-p", password] cmd_ext += ["-p", password]
@@ -72,13 +72,19 @@ def analyze_steghide(
data = subprocess.run( data = subprocess.run(
cmd_ext, cmd_ext,
cwd=output_dir, cwd=extracted_dir,
capture_output=True, capture_output=True,
text=True, text=True,
check=False, check=False,
timeout=MAX_PENDING_TIME, timeout=MAX_PENDING_TIME,
) )
stderr += data.stderr # Filter out lines that indicate success
stdout = []
for line in data.stderr.split("\n"):
if line.startswith("wrote extracted data to \""):
stdout.append(line)
elif line:
stderr += line + "\n"
# Zip extracted files # Zip extracted files
zip_data = subprocess.run( zip_data = subprocess.run(
@@ -94,7 +100,7 @@ def analyze_steghide(
if len(stderr) > 0: if len(stderr) > 0:
err = { err = {
"binwalk": { "steghide": {
"status": "error", "status": "error",
"error": stderr, "error": stderr,
} }
@@ -110,7 +116,7 @@ def analyze_steghide(
{ {
"steghide": { "steghide": {
"status": "ok", "status": "ok",
"output": data.stdout.split("\n") if data else [], "output": stdout,
"download": f"/download/{output_dir.name}/steghide", "download": f"/download/{output_dir.name}/steghide",
} }
}, },