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
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
|