Class: Rex::Registry::LFBlock

Inherits:
Object
  • Object
show all
Defined in:
lib/rex/registry/lfkey.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hive_blob, offset) ⇒ LFBlock

Returns a new instance of LFBlock.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rex/registry/lfkey.rb', line 11

def initialize(hive_blob, offset)
	offset = offset + 4
	lf_header = hive_blob[offset, 2]

	if lf_header !~ /lf/ && lf_header !~ /lh/
		return
	end

	@number_of_keys = hive_blob[offset + 0x02, 2].unpack('C').first

	@hash_records = []
	@children = []

	hash_offset = offset + 0x04

	1.upto(@number_of_keys) do |h|
		
		hash = LFHashRecord.new(hive_blob, hash_offset)

		@hash_records << hash

		hash_offset = hash_offset + 0x08

		@children << NodeKey.new(hive_blob, hash.nodekey_offset + 0x1000)
	end
end

Instance Attribute Details

#childrenObject

Returns the value of attribute children.



9
10
11
# File 'lib/rex/registry/lfkey.rb', line 9

def children
  @children
end

#hash_recordsObject

Returns the value of attribute hash_records.



9
10
11
# File 'lib/rex/registry/lfkey.rb', line 9

def hash_records
  @hash_records
end

#number_of_keysObject

Returns the value of attribute number_of_keys.



9
10
11
# File 'lib/rex/registry/lfkey.rb', line 9

def number_of_keys
  @number_of_keys
end