View Single Post
Old 08-13-2010, 12:46 PM   #127
meiniet
Junior Member
meiniet began at the beginning.
 
Posts: 1
Karma: 10
Join Date: Aug 2010
Device: Bebook mini
I tried this, with an 8 digit PID (the ten digit version, without the two last digits), but got "invalid checksum" again. It also showed the "right" PID, and that was the 10-digit PID that I used in the first place, so now I am stuck again...
Who can help me?

Quote:
Originally Posted by red_dragon View Post
You could disable the PID check and examine what mobidedrm expects. After making the changes you have to pass a 8 char PID to the python program:

(Be careful with the indentions)

Code:
	def __init__(self, data_file, pid):
### BEGIN NEW CODE ###
		# Calculate PID checksum if just the first 8 chars are specified
		if len(pid) == 8:
			pid = checksumPid(pid)
			print "Full PID is %s" % pid
### END NEW CODE ###
		if checksumPid(pid[0:-2]) != pid:
			raise DrmException("invalid PID checksum")
		pid = pid[0:-2]

Does it work for you?

If the decrypted result is garbage then your PID is not correct.

-Red Dragon
meiniet is offline   Reply With Quote