Evasion: Fixed bug in scrambler.

This commit is contained in:
antisnatchor
2012-05-23 15:01:02 +01:00
parent aee0b1e50f
commit c1d021a7e8

View File

@@ -18,24 +18,24 @@ module BeEF
module Evasion
class Scramble
include Singleton
def execute(input, config)
@output = input
to_scramble = config.get('beef.extension.evasion.scramble')
to_scramble.each do |var, value|
key = config.get("beef.extension.evasion.scramble.#{var}")
if value == key
if var == value
# Variables have not been scrambled yet
mod_var = BeEF::Extension::Evasion::Helper::random_string(3)
input = input.gsub!(var,mod_var)
@output.gsub!(var,mod_var)
config.set("beef.extension.evasion.scramble.#{var}",mod_var)
print_debug "[OBFUSCATION - SCRAMBLER] string [#{var}] scrambled -> [#{mod_var}]"
else
# Variables already scrambled, re-use the one already created to maintain consistency
input = input.gsub!(var,value)
@output.gsub!(var,value)
print_debug "[OBFUSCATION - SCRAMBLER] string [#{var}] scrambled -> [#{value}]"
end
@output
end
input
@output
end
end
end