Advertisement
Al-Azif

Entitlement Stripper

Jan 4th, 2018
1,437
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.36 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """ Entitlements Stripper by Al-Azif
  4. https://github.com/Al-Azif/
  5. MIT License
  6. """
  7.  
  8. import json
  9. import sys
  10.  
  11.  
  12. def main():
  13.     with open(sys.argv[1], 'rb') as buf:
  14.         raw_json = json.loads(buf.read())
  15.         final_json = []
  16.  
  17.     for entitlement in raw_json['entitlements']:
  18.         cid = entitlement['id']
  19.         name = entitlement['game_meta']['name']
  20.         pkg = ''
  21.         size = ''
  22.  
  23.         try:
  24.             pkg = entitlement['entitlement_attributes'][0]['reference_package_url']
  25.             size = entitlement['entitlement_attributes'][0]['package_file_size']
  26.         except:
  27.             pass
  28.  
  29.         try:
  30.             pkg = entitlement['drm_def']['drmContents'][0]['contentUrl']
  31.             size = entitlement['drm_def']['drmContents'][0]['contentSize']
  32.         except:
  33.             pass
  34.  
  35.         try:
  36.             if not size:
  37.                 size = "UNK"
  38.         except:
  39.             size = "UNK"
  40.  
  41.         try:
  42.             if pkg:
  43.                 temp = {'CID': cid, 'Name': name, 'PKG': pkg, "Size": size}
  44.                 final_json.append(temp)
  45.         except:
  46.             pass
  47.  
  48.     final_json = json.dumps(final_json, indent=2)
  49.  
  50.     with open('output.txt', 'w+', encoding='utf-8', newline='\r\n') as buf:
  51.         buf.write(final_json)
  52.  
  53.  
  54. if __name__ == '__main__':
  55.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement