Class: Rex::OLE::CLSID

Inherits:
Object
  • Object
show all
Defined in:
lib/rex/ole/clsid.rb

Instance Method Summary collapse

Constructor Details

#initialize(buf = nil) ⇒ CLSID

Returns a new instance of CLSID.



17
18
19
20
# File 'lib/rex/ole/clsid.rb', line 17

def initialize(buf=nil)
	@buf = buf
	@buf ||= "\x00" * 16
end

Instance Method Details

#packObject



22
23
24
# File 'lib/rex/ole/clsid.rb', line 22

def pack
	@buf
end

#to_sObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/rex/ole/clsid.rb', line 26

def to_s
	ret = ""
	ret << "%08x" % Util.get32(@buf, 0)
	ret << "-"
	ret << "%04x" % Util.get16(@buf, 4)
	ret << "-"
	ret << "%04x" % Util.get16(@buf, 6)
	ret << "-"
	idx = 0
	last8 = @buf[8,8]
	last8.unpack('C*').each { |byte|
		ret << [byte].pack('C').unpack('H*')[0]
		ret << "-" if (idx == 1)
		idx += 1
	}
	ret
end