moving from DWord to Dword
git-svn-id: file:///home/svn/incoming/trunk@2696 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
3f40740ce5
commit
9363068a24
|
@ -1,8 +1,8 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
require 'rex/encoder/xor'
|
||||
require 'rex/encoding/xor/d_word'
|
||||
require 'rex/encoding/xor/dword'
|
||||
|
||||
class Rex::Encoder::Xor::DWord < Rex::Encoder::Xor
|
||||
EncoderKlass = Rex::Encoding::Xor::DWord
|
||||
class Rex::Encoder::Xor::Dword < Rex::Encoder::Xor
|
||||
EncoderKlass = Rex::Encoding::Xor::Dword
|
||||
end
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
require 'rex/encoder/xor'
|
||||
require 'rex/encoding/xor/d_word_additive'
|
||||
require 'rex/encoding/xor/dword_additive'
|
||||
|
||||
class Rex::Encoder::Xor::DWordAdditive < Rex::Encoder::Xor
|
||||
EncoderKlass = Rex::Encoding::Xor::DWordAdditive
|
||||
class Rex::Encoder::Xor::DwordAdditive < Rex::Encoder::Xor
|
||||
EncoderKlass = Rex::Encoding::Xor::DwordAdditive
|
||||
end
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
require 'rex/arch/x86'
|
||||
require 'rex/encoder/xor/d_word'
|
||||
require 'rex/encoder/xor/dword'
|
||||
|
||||
module Rex
|
||||
module Encoders
|
||||
|
||||
# spoon's smaller variable-length encoder (updated to use call $+4 by vlad902)
|
||||
|
||||
class XorDWord < Rex::Encoder::Xor::DWord
|
||||
class XorDword < Rex::Encoder::Xor::Dword
|
||||
module Backend
|
||||
def _prepend
|
||||
# set the counter to the rounded up number of dwords to decode
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..'))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'Dev', 'machinetest'))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'dev', 'machinetest'))
|
||||
|
||||
require 'machinetest'
|
||||
require 'test/unit'
|
||||
require 'rex/encoders/xor_d_word'
|
||||
require 'rex/encoders/xor_dword'
|
||||
|
||||
class Rex::Encoders::XorDWord::UnitTest < ::Test::Unit::TestCase
|
||||
Klass = Rex::Encoders::XorDWord
|
||||
class Rex::Encoders::XorDword::UnitTest < ::Test::Unit::TestCase
|
||||
Klass = Rex::Encoders::XorDword
|
||||
def klass
|
||||
self.class::Klass
|
||||
end
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
require 'rex/encoder/xor/d_word_additive'
|
||||
require 'rex/encoder/xor/dword_additive'
|
||||
|
||||
#
|
||||
# Jmp/Call DWord Additive Feedback Encoder
|
||||
|
@ -11,7 +11,7 @@ require 'rex/encoder/xor/d_word_additive'
|
|||
module Rex
|
||||
module Encoders
|
||||
|
||||
class XorDWordAdditive < Rex::Encoder::Xor::DWordAdditive
|
||||
class XorDwordAdditive < Rex::Encoder::Xor::DwordAdditive
|
||||
module Backend
|
||||
|
||||
def _unencoded_transform(data)
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..'))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'Dev', 'machinetest'))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'dev', 'machinetest'))
|
||||
|
||||
require 'test/unit'
|
||||
require 'rex/encoders/xor_d_word_additive'
|
||||
require 'rex/encoders/xor_d_word.rb.ut'
|
||||
require 'rex/encoders/xor_dword_additive'
|
||||
require 'rex/encoders/xor_dword.rb.ut'
|
||||
|
||||
class Rex::Encoders::XorDWordAdditive::UnitTest < Rex::Encoders::XorDWord::UnitTest
|
||||
Klass = Rex::Encoders::XorDWordAdditive
|
||||
class Rex::Encoders::XorDwordAdditive::UnitTest < Rex::Encoders::XorDword::UnitTest
|
||||
Klass = Rex::Encoders::XorDwordAdditive
|
||||
end
|
||||
|
|
|
@ -16,3 +16,4 @@ end end end
|
|||
require 'rex/encoding/xor/generic'
|
||||
require 'rex/encoding/xor/byte'
|
||||
require 'rex/encoding/xor/word'
|
||||
require 'rex/encoding/xor/dword'
|
||||
|
|
|
@ -10,5 +10,5 @@ require 'test/unit'
|
|||
require 'rex/encoding/xor/generic.rb.ut'
|
||||
require 'rex/encoding/xor/byte.rb.ut'
|
||||
require 'rex/encoding/xor/word.rb.ut'
|
||||
require 'rex/encoding/xor/d_word.rb.ut'
|
||||
require 'rex/encoding/xor/d_word_additive.rb.ut'
|
||||
require 'rex/encoding/xor/dword.rb.ut'
|
||||
require 'rex/encoding/xor/dword_additive.rb.ut'
|
||||
|
|
|
@ -12,10 +12,10 @@ module Rex
|
|||
module Encoding
|
||||
module Xor
|
||||
|
||||
class DWord < Generic
|
||||
class Dword < Generic
|
||||
|
||||
def DWord.keysize
|
||||
def Dword.keysize
|
||||
4
|
||||
end
|
||||
|
||||
end end end end # DWord/Xor/Encoding/Rex
|
||||
end end end end # Dword/Xor/Encoding/Rex
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..'))
|
||||
|
||||
require 'rex/encoding/xor/d_word'
|
||||
require 'rex/encoding/xor/dword'
|
||||
require 'rex/encoding/xor/byte.rb.ut'
|
||||
|
||||
module Rex::Encoding::Xor
|
||||
class DWord::UnitTest < Byte::UnitTest
|
||||
class Dword::UnitTest < Byte::UnitTest
|
||||
|
||||
def enc
|
||||
DWord
|
||||
Dword
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -13,25 +13,25 @@ module Rex
|
|||
module Encoding
|
||||
module Xor
|
||||
|
||||
class DWordAdditive < Generic
|
||||
class DwordAdditive < Generic
|
||||
|
||||
def DWordAdditive.keysize
|
||||
def DwordAdditive.keysize
|
||||
4
|
||||
end
|
||||
|
||||
def DWordAdditive._packspec
|
||||
def DwordAdditive._packspec
|
||||
'V'
|
||||
end
|
||||
|
||||
def DWordAdditive.pack_key(key)
|
||||
def DwordAdditive.pack_key(key)
|
||||
return [ key ].pack(_packspec)
|
||||
end
|
||||
def DWordAdditive.unpack_key(key)
|
||||
def DwordAdditive.unpack_key(key)
|
||||
return key.unpack(_packspec)[0]
|
||||
end
|
||||
|
||||
# hook in the key mutation routine of encode for the additive feedback
|
||||
def DWordAdditive._encode_mutate_key(buf, key, pos, len)
|
||||
def DwordAdditive._encode_mutate_key(buf, key, pos, len)
|
||||
if (pos + 1) % len == 0
|
||||
# add the last len bytes (in this case 4) with the key,
|
||||
# dropping off any overflow
|
||||
|
@ -51,7 +51,7 @@ class DWordAdditive < Generic
|
|||
# Maybe someday we can revisit this and make it a bit less ghetto...
|
||||
#
|
||||
|
||||
def DWordAdditive._find_good_key(data, badkeys, badchars)
|
||||
def DwordAdditive._find_good_key(data, badkeys, badchars)
|
||||
|
||||
ksize = keysize
|
||||
kstart = ""
|
||||
|
@ -88,4 +88,4 @@ class DWordAdditive < Generic
|
|||
return key
|
||||
end
|
||||
|
||||
end end end end # DWordAdditive/Xor/Encoding/Rex
|
||||
end end end end # DwordAdditive/Xor/Encoding/Rex
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..'))
|
||||
|
||||
require 'rex/encoding/xor/d_word_additive'
|
||||
require 'rex/encoding/xor/dword_additive'
|
||||
require 'rex/encoding/xor/byte.rb.ut'
|
||||
|
||||
module Rex::Encoding::Xor
|
||||
class DWordAdditive::UnitTest < Byte::UnitTest
|
||||
class DwordAdditive::UnitTest < Byte::UnitTest
|
||||
|
||||
def enc
|
||||
DWordAdditive
|
||||
DwordAdditive
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue