![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
UPX ¿como funciona?
¿el compresor upx como funciona?
tengo entendido que el programa tiene un stub. al cual se le mete contenido comprimido. y el stub es el encargado de descomprimir el contenido en la memoria. y ejecutar el programa, entonces el stub se cierra. ahora bien.. ¿como se ejecuta un programa en memoria? por que usando la undad shellApi, se puede ejecutar un programa que se tiene en el discoduro ¿pero en memoria? estoy usando los componentes vcl zip que son para comprimir con formato compatible al winzip. y ya logre hacer un programa stub. y extraer el exe fisicamente a una carpeta o al mismo directorio donde esta el stub. pero no se como ejecutarlo en memoria. como lo hace el UPX gracias.. |
#2
|
||||
|
||||
No se si es correcto el termino Stub pero te explico rapidamente. El funcionamiento en la mayoria de los compresores, encriptadores, protectores de ejecutables y hasta los virus es muy parecida, modifican el punto de entrada del ejecutable al que tu llamas "Stub", el cual es un pequeño programa encargado de procesar y revertir un buffer a su "estado" original. Luego de haber realizado dicha accion simplemente tiene que realizar un llamado al buffer original (procesando sus secciones, direcciones absolutas y relativas y finalmente su punto de entrada original).
En todos los casos es la misma aplicacion que ha realizado un proceso de pseudo polimorfismo, en ninguno de los casos ha cargado una aplicacion externa en su mismo espacio virtual. Conociendo un poco la estructura (COFF) de un ejecutable, podrias llegar a tu acometido, pero sin mas informacion no le veo sentido. La idea seria cargar el ejecutable con LoadLibrary, obtener su EntryPoint y mediante un par de calculos "cederle" el control a la segunda aplicacion. Suerte |
#3
|
|||
|
|||
yo no hablo de
cargar una aplicacion externa en su mismo espacio virtual. por que la aplicacion esta comprimida en un ejecutable. el stub. extrae la aplicacion y me parece que la ejecuta. en memoria. sin pasar a guardarla en disco. y despues ejecutarla. De lo demas no te entendi.. nada. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ClientDataSet, como funciona? | Pollo2004 | Varios | 18 | 14-11-2008 13:26:19 |
que es un clientedataset, como funciona | ingabraham | Varios | 2 | 20-02-2008 22:14:32 |
Como funciona el Locale | Michel | Varios | 3 | 22-07-2003 17:12:32 |
DBF Como funciona? | Descendents | Conexión con bases de datos | 1 | 15-07-2003 22:39:00 |
¿Como funciona el DBImage? | judoboy | Gráficos | 1 | 06-05-2003 15:02:02 |
![]() |
|