View Single Post
Old 07-09-2008, 04:38 PM   #6
riverhorus
Gnomic Kindler
riverhorus began at the beginning.
 
riverhorus's Avatar
 
Posts: 7
Karma: 30
Join Date: Jul 2008
Location: Ohio, USA
Device: KINDLE
mobidrm

Wallcraft,

Just to let you know and anyone else having an invalid PID checksum with MobiDeDRM0.02. I went back to ver 0.01 and had no problem running the program. Something appears to be broken in ver 0.02. The only difference between the two versions that I can see is the following:

Code:
def getSizeOfTrailingDataEntries(ptr, size, flags):
	def getSizeOfTrailingDataEntry(ptr, size):
		bitpos, result = 0, 0
		while True:
			v = ord(ptr[size-1])
			result |= (v & 0x7F) << bitpos
			bitpos += 7
			size -= 1
			if (v & 0x80) != 0 or (bitpos >= 28) or (size == 0):
				return result
	num = 0
	flags >>= 1
	while flags:
		if flags & 1:
			num += getSizeOfTrailingDataEntry(ptr, size - num)
		flags >>= 1		
	return num
riverhorus is offline   Reply With Quote