diff --git a/modules/encoders/compression/huffman/secgen_local/local.rb b/modules/encoders/compression/huffman/secgen_local/local.rb index 20325db02..7ab62090b 100644 --- a/modules/encoders/compression/huffman/secgen_local/local.rb +++ b/modules/encoders/compression/huffman/secgen_local/local.rb @@ -13,12 +13,12 @@ class HuffmanEncoder < StringEncoder Dir.mkdir '../tmp/' unless Dir.exists? '../tmp/' end - def encode(str) + def encode_all tree_path = "../tmp/tree_#{index}" - result = Huffman.encode_text(str, tree_picture: true, tree_path: tree_path) + result = Huffman.encode_text(strings_to_encode[0], tree_picture: true, tree_path: tree_path) self.index += 1 - # Return an array with the compressed string, and the tree png encoded in base64 - [result.first, Base64.strict_encode64(File.binread("#{tree_path}.png"))] + self.outputs << result.first + self.outputs << Base64.strict_encode64(File.binread("#{tree_path}.png")) end end diff --git a/scenarios/examples/ctf_challenge_examples/huffman_challenge.xml b/scenarios/examples/ctf_challenge_examples/huffman_challenge.xml index acdf6da30..b420b2a84 100644 --- a/scenarios/examples/ctf_challenge_examples/huffman_challenge.xml +++ b/scenarios/examples/ctf_challenge_examples/huffman_challenge.xml @@ -21,7 +21,7 @@ huffman_challenge - huffman_challenge + huffman_challenge