class DexHeader:
	def __init__(self, bin):
		self.magic 			= 	  bin[0:8    ]
		self.checksum 		= 	  bin[8:12   ][::-1].encode('hex')
		self.signature	 	= 	  bin[12:32  ].encode('hex')
		self.file_size  	= int(bin[32:36  ][::-1].encode('hex'), 16)
		self.header_size	= int(bin[36:40  ][::-1].encode('hex'), 16)
		self.endian_tag		= 	  bin[40:44  ].encode('hex')
		self.link_size		= int(bin[44:48  ][::-1].encode('hex'), 16)
		self.link_off		= int(bin[48:52  ][::-1].encode('hex'), 16)
		self.mapOff			= int(bin[52:56  ][::-1].encode('hex'), 16)
		self.string_ids_size= int(bin[56:60  ][::-1].encode('hex'), 16)
		self.string_ids_off	= int(bin[60:64  ][::-1].encode('hex'), 16)
		self.type_ids_size 	= int(bin[64:68  ][::-1].encode('hex'), 16)
		self.type_ids_off 	= int(bin[68:72  ][::-1].encode('hex'), 16)
		self.proto_ids_size	= int(bin[72:76  ][::-1].encode('hex'), 16)
		self.proto_ids_off	= int(bin[76:80  ][::-1].encode('hex'), 16)
		self.field_ids_size	= int(bin[80:84  ][::-1].encode('hex'), 16)
		self.field_ids_off 	= int(bin[84:88  ][::-1].encode('hex'), 16)
		self.method_ids_size= int(bin[88:92  ][::-1].encode('hex'), 16)
		self.method_ids_off = int(bin[92:96	 ][::-1].encode('hex'), 16)
		self.class_defs_size= int(bin[96:100 ][::-1].encode('hex'), 16)
		self.class_defs_off = int(bin[100:104][::-1].encode('hex'), 16)
		self.data_size		= int(bin[104:108][::-1].encode('hex'), 16)
		self.data_off 		= int(bin[108:112][::-1].encode('hex'), 16)
