Autor
|
Tema: Eliminar basura de los exes compilados en c++ (Leído 6,613 veces)
|
HaX991
Desconectado
Mensajes: 33
|
Hola a todos, llevo un tiempo buscado como hacer para que los ejecutables creados con visual c++ ocupen menos, puse: #ifdef WIN32 #define _WIN32_WINNT 0x0403 #define WIN32_LEAN_AND_MEAN #pragma optimize("gsy", on) #pragma comment(linker,"/RELEASE") #pragma comment(linker, "/ALIGN:4096") #pragma comment(linker, "/IGNORE:4108") #pragma comment(linker,"/STUB:stub.exe") #pragma pack(1) #endif
ademas tambien puse que lo compile de forma "Release". En forma "Debug" ocupa 190kb y al pasarlo a la otra se keda en unos 20-25kb pero aun asi sige saliendo dentro del exe esto: TLOSS error SING error DOMAIN error R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data abnormal program termination R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point not loaded Microsoft Visual C++ Runtime Library
alguien sabe alguna otra forma de hacer que el compilador no meta eso, xk yo creo k eso es innecesario... Gracias y saludos!
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
Podes sacar la RTL (Run Time Library) pero vas a tener que reemplazar las funciones que uses de alguna manera.
Busca: /NODEFAULTLIB
PD. Obviamente no es basura ni mucho menos.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
HaX991
Desconectado
Mensajes: 33
|
esk vi la imbot k esta en visual c++ y ocupa unos 30-35kb y eso k tiene muxo code y yo cualkier "cosa" que ago ocupa lo mismo con 2 lineas xdd
saludos!!
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Precisamente eso ocurre por lo que te menciono Eternal Idol. Te dejo este articulo que seguramente te aclare el panorama respecto al por que sucede esto: - Crear nuestra propia Run Time Library
Saludos
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
[Zero]
Wiki
Desconectado
Mensajes: 1.082
CALL DWORD PTR DS:[0]
|
Fíjate también, en las opciones de linker, de decirle que borre la sección .reloc (FIXED), quitar la sección .rsrc y el manifest si no lo usas y eliminar la información de debug. Luego también puedes hacer merge a la sección de código y de datos.
Saludos
|
|
« Última modificación: 13 Julio 2010, 01:01 am por [Zero] »
|
En línea
|
“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza. Nietzsche
|
|
|
HaX991
Desconectado
Mensajes: 33
|
bueno gracias al crack de [Zero] k me estuvo ayudando por msn hemos dejado el binario en 1,35 KB (1.392 bytes) IMRESIONANTE ( al principio eran 196kb xdddd ) para el k kiera saber como #define _WIN32_WINNT 0x0403 #define WIN32_LEAN_AND_MEAN #pragma optimize("gsy", on) #pragma comment(linker,"/RELEASE") #pragma comment(linker, "/IGNORE:4108") #pragma comment(linker, "/FIXED") #pragma comment(linker, "/STUB:stub.exe") #pragma comment(linker, "/MERGE:.rdata=.data") //#pragma comment(linker, "/MERGE:.reloc=.data") #pragma comment(linker, "/MERGE:.text=.data") #pragma comment(linker, "/NODEFAULTLIB") #pragma comment(linker, "/ENTRY:DllMain") #pragma comment(linker, "/FILEALIGN:16") #pragma comment(linker, "/ALIGN:16") #pragma pack(1)
saludos!! graciasss!!!!!
|
|
|
En línea
|
|
|
|
KJD
Desconectado
Mensajes: 314
|
Hax gracias por la data, pero si en mi programa pongo el codigo tal cual lo mostras, no encuentra el archivo stub.exe, tenes alguna idea de como solucionarlo?
|
|
|
En línea
|
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"
"Keyboard not Found, press F1 To Continue" WTF???
|
|
|
HaX991
Desconectado
Mensajes: 33
|
ui sorry el stub no lo trae, te lo intente subir a megaupload pero llevaba 20 min y no se subia solo salia verificacion en proceso... entonces lo subi a un host mio toma: http://proyect991.es/stub.rareste stub esta super reducido amm y si usas funciones estandar del compilador vc++ (Microsoft Visual C++ Runtime Library) y pones #pragma comment(linker, "/NODEFAULTLIB") no podrs usar strncpy, strncmp... tendras k sustituirlas por las de string.h...., entre otras... Pero esa opcion es una de las que hace que tu .exe quede super reducido pd: al final deje la dll k comento mas arriba en 605 bytes (es un rootkit ring3 ) solo ordenando el code y usando esas opciones. saludos!!
|
|
|
En línea
|
|
|
|
|
|