Foros del Web » Programando para Internet » Python »

¿como leer y escribir archivos en buffer?

Estas en el tema de ¿como leer y escribir archivos en buffer? en el foro de Python en Foros del Web. Necesito descifrar un archivo almacenado en disco (ya se como hacerlo), pero al descifrarlo quiero que ese archivo quede almacenado en el buffer de mi ...
  #1 (permalink)  
Antiguo 04/02/2013, 11:45
Avatar de tupanka  
Fecha de Ingreso: marzo-2008
Mensajes: 62
Antigüedad: 16 años
Puntos: 1
Pregunta ¿como leer y escribir archivos en buffer?

Necesito descifrar un archivo almacenado en disco (ya se como hacerlo), pero al descifrarlo quiero que ese archivo quede almacenado en el buffer de mi PC.
Luego quiero que un programa, use ese archivo almacenado en buffer como si se tratara de un archivo almacenado en disco. En ningún momento quiero almacenar ese archivo en disco, por razones de seguridad. Todo esto en python
  #2 (permalink)  
Antiguo 04/02/2013, 11:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ¿como leer y escribir archivos en buffer?

Cita:
Iniciado por tupanka Ver Mensaje
Necesito descifrar un archivo almacenado en disco (ya se como hacerlo),
Hasta aqui entiendo muy bien.

Cita:
Iniciado por tupanka Ver Mensaje
pero al descifrarlo quiero que ese archivo quede almacenado en el buffer de mi PC.
¿A que te refieres con el buffer del PC? Te refieres a un pipe? te refieres a que queda guardad en la memoria ram? Por favor, se un poco mas especifico.

Cita:
Iniciado por tupanka Ver Mensaje
Luego quiero que un programa, use ese archivo almacenado en buffer como si se tratara de un archivo almacenado en disco. En ningún momento quiero almacenar ese archivo en disco, por razones de seguridad. Todo esto en python
Por la descripción que pones parece que es efectivamente quieres mandarlo por un pipe.

Hacer algo mas o menos parecido a esto:
Código BASH:
Ver original
  1. python script_para_desencriptar.py mi_archivo_encriptado | python scrip_que_hace_algo_con_el_archivo_desencriptado.py

En el segundo script, vas a tener que leer desde el stdin, usando sys.stdin o si lo prefieres con raw_input.

No se que trates de hacer, si la comunicación es de proceso a proceso, o entre el mismo modulo.

Si entre procesos, al opción de arriba es la mas "comoda", si no, con clase singleton o con una función en un modulo que desencripte el archivo seria mas que suficiente.
  #3 (permalink)  
Antiguo 04/02/2013, 12:44
Avatar de tupanka  
Fecha de Ingreso: marzo-2008
Mensajes: 62
Antigüedad: 16 años
Puntos: 1
Respuesta: ¿como leer y escribir archivos en buffer?

Creo que si me estas entendiendo.

Pero supongamos que yo descifro un archivo(con un script de python) que llegara a ser un miarchivo.blend (archivo blender). Ese archivo yo lo quiero mandar a abrir por el programa blenderplayer.exe(hecho por otra persona) pero desde python

Escribiendo un archivo .bat yo se que puedo hacer esto: blenderplayer.exe miarchivo.blend


La idea es que nadie puede ver y manipular el contenido del archivo miarchivo.blend
y desde python mandar a ejecutar de inmediato el archivo .blend sin haberlo grabado en disco nunca.

Se podrá hacer algo como esto?

Espero haberme explicado
  #4 (permalink)  
Antiguo 04/02/2013, 14:02
Avatar de tupanka  
Fecha de Ingreso: marzo-2008
Mensajes: 62
Antigüedad: 16 años
Puntos: 1
Respuesta: ¿como leer y escribir archivos en buffer?

¿será que debo hacer algo así ?:

Cita:
python script_para_desencriptar.py mi_archivo_encriptado.dat | blenderplayer.exe mi_archivo_desncriptado.blend
  #5 (permalink)  
Antiguo 04/02/2013, 15:39
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ¿como leer y escribir archivos en buffer?

Cita:
Iniciado por tupanka Ver Mensaje
Pero supongamos que yo descifro un archivo(con un script de python) que llegara a ser un miarchivo.blend (archivo blender). Ese archivo yo lo quiero mandar a abrir por el programa blenderplayer.exe(hecho por otra persona) pero desde python
Ok. Entiendo.

Cita:
Iniciado por tupanka Ver Mensaje
Escribiendo un archivo .bat yo se que puedo hacer esto: blenderplayer.exe miarchivo.blend
También, comprendo.

Cita:
Iniciado por tupanka Ver Mensaje
La idea es que nadie puede ver y manipular el contenido del archivo miarchivo.blend
y desde python mandar a ejecutar de inmediato el archivo .blend sin haberlo grabado en disco nunca.
Ok, no tengo comprensión de como trabaja blender. Pero si, haces esto, al abrirlo el usuario no puede hacer un simple, guardar como... y saltarse toda la protección?


Cita:
Iniciado por tupanka Ver Mensaje
Se podrá hacer algo como esto?
Si llegara a funcionar sería algo mas o menos así.
Código:
python desencripta.py mi_archivo.blender | blenderplayer.exe
Como te dije, tiene que ver con el programa que recibe, en este caso blenderplayer. Tienes que ver si el programa acepta que los datos vengan desde el stdin.

Cita:
Iniciado por tupanka Ver Mensaje
¿será que debo hacer algo así ?:
Lamentablemente no tengo blender instalado, como para decirte, si eso funciona o no. La mejor opción para saber si algo funciona o no es probandolo.

Pero suponiendo que funcione, un guardar como..., cambiando el archivo .bat el lugar de blenderplayer.exe poner solamente blender.exe también debería de saltarme la protección.

Protección 100% asegurada nunca la vas a obtener, esto por una sencilla regla: "Si lo puedes leer lo puedes copiar" así de simple.
  #6 (permalink)  
Antiguo 04/02/2013, 16:28
Avatar de tupanka  
Fecha de Ingreso: marzo-2008
Mensajes: 62
Antigüedad: 16 años
Puntos: 1
Respuesta: ¿como leer y escribir archivos en buffer?

Cita:
Pero suponiendo que funcione, un guardar como..., cambiando el archivo .bat el lugar de blenderplayer.exe poner solamente blender.exe también debería de saltarme la protección
.

Bueno realmente no tengo la intención de hacerlo con un .bat Mi intención es crear un programa en python que mande a ejecutar la desencriptación y posterior ejecución en blenderplayer del archivo resultante. Después pretendo compilar el programa para que no se vea el código del mismo. Este último sera el programa que dará comienzo a todo.

Ciertamente necesito hacer la prueba para ver si funciona, pero supongo que esto:
Cita:
python desencripta.py mi_archivo.blender | blenderplayer.exe
no es lo que debo escribir en un programa a compilar para hacer lo que quiero.

Ahora solo necesito saber como escribir la ejecución de una pipe desde python.

Cita:
Protección 100% asegurada nunca la vas a obtener, esto por una sencilla regla: "Si lo puedes leer lo puedes copiar" así de simple.
Me conformo con un 99%

Aprecio mucho tu ayuda!
  #7 (permalink)  
Antiguo 04/02/2013, 17:29
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ¿como leer y escribir archivos en buffer?

Cita:
Iniciado por tupanka Ver Mensaje
Bueno realmente no tengo la intención de hacerlo con un .bat Mi intención es crear un programa en python que mande a ejecutar la desencriptación y posterior ejecución en blenderplayer del archivo resultante. Después pretendo compilar el programa para que no se vea el código del mismo. Este último sera el programa que dará comienzo a todo.
Para esto ultimo, tendrías que cambiar nada de código, simplemente puedes renombrar blender.exe con blenderplayer.exe y ejecutar tu programa. Con esto te puedes saltar la protección.

Cita:
Iniciado por tupanka Ver Mensaje
Ahora solo necesito saber como escribir la ejecución de una pipe desde python.
Para este asunto puedes usar subprocess o envoy para enviar datos por el pipe. Desde python.

Cita:
Iniciado por tupanka Ver Mensaje
Aprecio mucho tu ayuda!
Yo aprecio mucho los agradecimientos
  #8 (permalink)  
Antiguo 05/02/2013, 13:03
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: ¿como leer y escribir archivos en buffer?

Yo no entiendo el caso de la seguridad, pero ¿por que usas python desde fuera de blender? Puedes hacer un script dentro del programa y sospecho que será mucho más sencillo.

Saludos
__________________
Grupo Telegram Docker en Español
  #9 (permalink)  
Antiguo 07/02/2013, 19:52
Avatar de tupanka  
Fecha de Ingreso: marzo-2008
Mensajes: 62
Antigüedad: 16 años
Puntos: 1
Respuesta: ¿como leer y escribir archivos en buffer?

Cita:
Puedes hacer un script dentro del programa y sospecho que será mucho más sencillo.
Hay una licencia GPL envuelta en el asunto. no es tan sencillo.

El modo en que trabaja blender normalmente, no permite ocultar el código de los scripts de desencriptación que usaré.
  #10 (permalink)  
Antiguo 09/02/2013, 19:39
Avatar de tupanka  
Fecha de Ingreso: marzo-2008
Mensajes: 62
Antigüedad: 16 años
Puntos: 1
Pregunta Respuesta: ¿como leer y escribir archivos en buffer?

Ok hasta ahora, la solución a la que hemos llegado es esta:

Crear un archivo inicio.py:
El cual podría contener la orden de ejecutar:
Cita:
python desencripta.py mi_archivo_encriptado | blenderplayer.exe
Naturalmente el archivo desencripta.py desencriptaria a mi_archivo_encriptado

El problema con este método seria que cualquiera que sepa de la existencia del script desencripta.py, haria esto en consola:
Código BASH:
Ver original
  1. python desencripta.py mi_archivo_encriptado
Con lo cual ser generaría el archivo blender desencriptado y la persona podría ver el contenido del mismo.

Así que lo que necesito es:

Crear UN SOLO script (convertido en ejecutable) que: desencripte el contenido del archivo en cuestión (ya he dicho que se como hacerlo) y al generar ese archivo(sin grabarlo en disco), lo pase a blenderplayer.exe como argumento.

Como haría eso?

Por otro lado:

Cita:
Como te dije, tiene que ver con el programa que recibe, en este caso blenderplayer. Tienes que ver si el programa acepta que los datos vengan desde el stdin.
Al ser blenderplayer codigo abierto y en python. No creo que tenga problema en aceptar stdin o que yo pueda modificarlo para que lo acepte.
  #11 (permalink)  
Antiguo 10/02/2013, 21:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ¿como leer y escribir archivos en buffer?

Cita:
Iniciado por tupanka Ver Mensaje
Como haría eso?
No puedes hacer eso. Si blenderplayer te dice que necesita como argumento la ruta a un archivo y no se la puedes proporcionar entonces no puedes hacer nada al respecto.


Cita:
Iniciado por tupanka Ver Mensaje
Al ser blenderplayer codigo abierto y en python. No creo que tenga problema en aceptar stdin o que yo pueda modificarlo para que lo acepte.
Eso seria otra solución pero realmente te va a costar un poco de trabajo hacer eso.

En cualquier caso, buena suerte.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:35.