moving from DWord to Dword

git-svn-id: file:///home/svn/incoming/trunk@2696 4d416f70-5f16-0410-b530-b9f4589650da
unstable
Spoon M 2005-07-09 21:57:37 +00:00
parent 3f40740ce5
commit 9363068a24
12 changed files with 39 additions and 38 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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'

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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