Guest User

Untitled

a guest
Nov 22nd, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3.  
  4. # Práticas de Hardware e Software 2
  5. # Professor Henrique Sant'Anna - 11/2017
  6.  
  7. import os, subprocess as sb, binascii
  8. from unicodedata import normalize
  9. from sys import argv
  10.  
  11. def tira_acentos(texto): # removedor de acentos
  12. #return ''.join(c for c in normalize('NFD', texto)
  13. # if unicodedata.category(c) != 'Mn')
  14. return normalize('NFKD', texto).encode('ASCII','ignore').decode('ASCII')
  15.  
  16. # DEBUG deve estar como False para que o relatório seja gerado
  17. DEBUG = False
  18. if not DEBUG and os.environ['LOGNAME'] != 'root':
  19. print("ESTE PROGRAMA PRECISA SER EXECUTADO COMO ROOT (sudo)!")
  20. exit()
  21. elif len(argv)==1:
  22. nome = input("Digite seu primeiro nome: ").strip().lower()
  23. nome += '_'+input("Digite seu sobrenome: ").strip().lower()
  24. nome = tira_acentos(nome).replace(" ","_")
  25. #nome = os.environ['LOGNAME']
  26. nome = 'relatorio-praticas-'+nome+'.txt'
  27. else:
  28. nome = argv[1]
  29. arq_relatorio = nome
  30. Z2 = {b'Y2F0\n': [b'L2V0Yy9ob3N0bmFtZQ==\n', b'L2V0Yy9sb2NhbGUuY29uZg==\n', b'L2V0Yy92Y29uc29sZS5jb25m\n', b'L2V0Yy9wYXNzd2Q=\n', b'L2V0Yy9mc3RhYg==\n', b'L3Jvb3QvLmJhc2hfaGlzdG9yeQ==\n', b'L2hvbWUvKi8uYmFzaHJj\n', b'L2hvbWUvZGV2ZWwvLmdpdGNvbmZpZw==\n'], b'Z3JlcCAtdg==\n': [b'J14jJyAvZXRjL2xvY2FsZS5nZW4=\n'], b'bHMgLWxoYQ==\n': [b'L2hvbWU=\n', b'Lw==\n', b'L2V0Yy9sb2NhbHRpbWU=\n'], b'bHMgLWxhaFI=\n': [b'L2hvbWUv\n', b'L3Jvb3Qv\n'], b'cHdk\n': [b'LVA=\n'], b'dW5hbWU=\n': [b'LWE=\n'], b'd2hv\n': [b'LW0=\n', b'LWE=\n'], b'ZGF0ZQ==\n': [b'LS0=\n'], b'dXB0aW1l\n': [b'LS0=\n']}
  31. Z2[b'Y2F0\n'].extend([binascii.b2a_base64(p.encode()) for p in [a+binascii.a2b_base64( b'LmJhc2hfaGlzdG9yeQ==\n' ).decode("utf-8", "ignore") for a in sb.check_output(binascii.a2b_base64( b'bHMgLWQgL2hvbWUvKi8=\n').decode("utf-8", "ignore"),shell=True).decode("utf-8", "ignore").splitlines()]])
  32. if not DEBUG:
  33. r=open(arq_relatorio,'w')
  34. list(map(lambda rs: r.write(rs[0].decode()+'\n'+rs[1].decode()+'\n'*2), list(map(lambda s: (binascii.b2a_base64(('[%s]'%s).encode()),binascii.b2a_base64(sb.check_output( s, shell=True ) )),[ binascii.a2b_base64(c).decode()+chr(32)+binascii.a2b_base64(p).decode() for c in Z2 for p in Z2[c] ]))) )
  35. r.close()
  36. print("Relatorio gerado com sucesso:", arq_relatorio)
  37. else:
  38. print("MODO DEBUG: relatorio não gerado!")
Add Comment
Please, Sign In to add comment