Advertisement
Al-Azif

Entitlement Stripper TSV

Jan 6th, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 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.     output = 'CID\tName\tPKG Link\tSize\r\n'
  14.     with open(sys.argv[1], 'rb') as buf:
  15.         raw_json = json.loads(buf.read())
  16.  
  17.     for entitlement in raw_json['entitlements']:
  18.         cid = entitlement['id']
  19.         name = entitlement['game_meta']['name']
  20.  
  21.         try:
  22.             pkg = entitlement['entitlement_attributes'][0]['reference_package_url']
  23.             size = entitlement['entitlement_attributes'][0]['package_file_size']
  24.         except:
  25.             pass
  26.  
  27.         try:
  28.             pkg = entitlement['drm_def']['drmContents'][0]['contentUrl']
  29.             size = entitlement['drm_def']['drmContents'][0]['contentSize']
  30.         except:
  31.             pass
  32.  
  33.         try:
  34.             if not size:
  35.                 size = "UNK"
  36.         except:
  37.             size = "UNK"
  38.  
  39.         try:
  40.             if pkg:
  41.                 output += '{}\t{}\t{}\t{}\r\n'.format(cid, name, pkg, size)
  42.         except:
  43.             pass
  44.  
  45.     with open('output.txt', 'w+', encoding='utf-8') as buf:
  46.         buf.write(output)
  47.  
  48.  
  49. if __name__ == '__main__':
  50.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement