Files
metasploit-gs/lib/msf/core/encoding/xor.rb
T
Tab Assassin 7e5e0f7fc8 Retab lib
2013-08-30 16:28:33 -05:00

32 lines
508 B
Ruby

# -*- coding: binary -*-
module Msf
module Encoding
###
#
# This class provides basic XOR encoding facilities and is used
# by XOR encoders.
#
###
class Xor
#
# Encodes a block using XOR.
#
def Xor.encode_block(key, block, block_size = 4, block_pack = 'V')
offset = 0
oblock = ''
while (offset < block.length)
cblock = block[offset, block_size].unpack(block_pack)[0]
cblock ^= key
oblock += [ cblock ].pack(block_pack)
end
return oblock
end
end
end end