def __str__(self): string = ("\n--------------" + self.get_type() + "--------------" "\nNumber of Elements : " + str(self.get_size()) + "\n----Elements----") for element in self.elements: string += "\nOffset : " + regutils.bytes_to_hexstring( element) + " (" + str(regutils.bytes_to_int(element)) + ")" string += "\nPadding : " + str(self.get_padding()) return string
def __str__(self): string = ( "--------------KeyRecord-----------" + "\nMagic Number: " + regutils.bytes_to_string(self.magic_number) + "\nFlags : " + str(self.flags) + "\nTimestamp : " + regutils.getFiletime(self.timestamp) + "\nUnknown : " + regutils.bytes_to_hexstring(self.unknown0) + " (" + str(regutils.bytes_to_int(self.unknown0)) + ")" + "\nParent key's offset : " + regutils.bytes_to_hexstring(self.parent_off) + " (" + str(regutils.bytes_to_int(self.parent_off)) + ")" + "\nNum of stable subkeys : " + str(regutils.bytes_to_int(self.num_sk_stable)) + "\nNum of volative subkeys : " + str(regutils.bytes_to_int(self.num_sk_volative)) + "\nStable subkey list offset : " + regutils.bytes_to_hexstring(self.stable_sk_list_off) + " (" + str(regutils.bytes_to_int(self.stable_sk_list_off)) + ")" + "\nVolatile subkey list offset : " + regutils.bytes_to_hexstring(self.vol_sk_list_off) + " (" + str(regutils.bytes_to_int(self.vol_sk_list_off)) + ")" + "\n# of Values : " + str(regutils.bytes_to_int(self.num_values)) + "\nValue list offset : " + regutils.bytes_to_hexstring(self.value_list_off) + " (" + str(regutils.bytes_to_int(self.value_list_off)) + ")" + "\nSecurity Record offset : " + regutils.bytes_to_hexstring(self.sec_rec_off) + " (" + str(regutils.bytes_to_int(self.sec_rec_off)) + ")" + "\nClass name offset : " + regutils.bytes_to_hexstring(self.class_name_off) + " (" + str(regutils.bytes_to_int(self.class_name_off)) + ")" + "\nMax characters in subkey name : " + str(regutils.bytes_to_int(self.max_sk)) + "\nMax chars in subkey class name : " + str(regutils.bytes_to_int(self.max_sk_class)) + "\nMax chars value name : " + str(regutils.bytes_to_int(self.max_value_name)) + "\nMax chars in data name : " + str(regutils.bytes_to_int(self.max_value_data)) + "\nUnknown : " + regutils.bytes_to_hexstring(self.unknown4) + " (" + str(regutils.bytes_to_int(self.unknown4)) + ")" + "\nName.length : " + str(regutils.bytes_to_int(self.name_length)) + "\nClass name length : " + str(regutils.bytes_to_int(self.class_name_length)) + "\nName : " + regutils.bytes_to_string(self.name) #"\n\n"+str(self.binary)+"\n\n" ) return string
def get_next_sk_off(self): return regutils.bytes_to_hexstring(self.next_sk_off) + " (" + str( regutils.bytes_to_int(self.next_sk_off)) + ")"
def get_unknown(self): return regutils.bytes_to_hexstring(self.unknown) + " (" + str( regutils.bytes_to_int(self.unknown)) + ")"
def get_data_offset_string(self): return regutils.bytes_to_hexstring(self.data_offset) + " (" + str( self.get_data_offset()) + ")"
def get_data_size_string(self): return regutils.bytes_to_hexstring(self.data_size) + " (" + str( self.get_data_size()) + ")" + ", (MSB set means stored in vk)"