#/user/bin/env python "this is a test module for getting unlock challenge" import sys import os from hashlib import sha256 def challenge_verify(): if (len(sys.argv) != 3) : print "Usage: rkpublickey.py [challenge_file] [product_id_file]" return if ((sys.argv[1] == "-h") or (sys.argv[1] == "--h")): print "Usage: rkpublickey.py [challenge_file] [product_id_file]" return try: challenge_file = open(sys.argv[1], 'rb') product_id_file = open(sys.argv[2], 'rb') challenge_random_file = open('unlock_challenge.bin', 'wb') challenge_data = challenge_file.read(52) product_id_data = product_id_file.read(16) product_id_hash = sha256(product_id_data).digest() print("The challege version is %d" %ord(challenge_data[0])) if (product_id_hash != challenge_data[4:36]) : print("Product id verify error!") return challenge_random_file.write(challenge_data[36:52]) print("Success!") finally: if challenge_file: challenge_file.close() if product_id_file: product_id_file.close() if challenge_random_file: challenge_random_file.close() if __name__ == '__main__': challenge_verify()