diff --git a/lib/rex/encoding/xor/generic.rb b/lib/rex/encoding/xor/generic.rb index 3f49bb37f1..a129a637da 100644 --- a/lib/rex/encoding/xor/generic.rb +++ b/lib/rex/encoding/xor/generic.rb @@ -125,7 +125,7 @@ class Generic pos += 1 end - return encoded + return [ encoded, key ] end @@ -137,9 +137,9 @@ class Generic # maybe a bit a smaller of method name? def Generic.find_key_and_encode(data, badchars) - key = find_key(data, badchars) - enc = encode(data, key) - return [ enc, key ] + key = find_key(data, badchars) + enc, fkey = encode(data, key) + return [ enc, key, fkey ] end diff --git a/lib/rex/encoding/xor/generic.rb.ut.rb b/lib/rex/encoding/xor/generic.rb.ut.rb index 6f162ba275..d2d501108c 100644 --- a/lib/rex/encoding/xor/generic.rb.ut.rb +++ b/lib/rex/encoding/xor/generic.rb.ut.rb @@ -17,7 +17,7 @@ class Generic::UnitTest < ::Test::Unit::TestCase if enc.keysize != 0 && key.length != enc.keysize assert_raise(::ArgumentError) { enc.encode(data,key) } else - assert_equal(enc.encode(data, key), expected) + assert_equal(enc.encode(data, key), [ expected, key ]) end end