nhaalclkiemr
Desconectado
Mensajes: 1.644
Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92
|
Necesito crear el ejecutable más pequeño posible (en ASM) que tras ejecutarse se cierre inmediatamente... No se nada de ASM...como se haría? (total supongo que será una o dos lineas...) Saludos  P.D.: Como compilo ASM??
|
|
|
|
|
En línea
|
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.345
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
Necesitas un ensamblador para ensamblar. Esto es para Windows con MASM, una instruccion: .386 .model flat, stdcall
.code main: ret end main
|
|
|
|
|
En línea
|
|
|
|
|
|
|
|
nhaalclkiemr
Desconectado
Mensajes: 1.644
Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92
|
Si...ya me lo bajé y fue cual usé... por cierto me ocupa 1KB...no habría forma de hacerlo aún mas pekeño  ...si no es igual...es que tiene muchos 0's al final pero si se los intento borrar me dice que ya no es un fichero Win32 valido...a lo mejor compilandolo de otra manera o cambiando algo en las cabeceras del formato PE a lo mejor... Saludos 
|
|
|
|
|
En línea
|
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.345
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
El codigo propiamente dicho ocupa 1 byte (0xC3 es ret), lo podes comprobar con: dumpbin /disasm ejecutable.exe
Podes hacer: link ejecutable.obj /align:16
Seran 496 bytes. Busca en Internet si queres seguir rebajandolo ... no tiene mucho sentido igual.
|
|
|
|
|
En línea
|
|
|
|
nhaalclkiemr
Desconectado
Mensajes: 1.644
Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92
|
y con align:4 es aun menos...gracias ya está es todo lo que quería  Saludos 
|
|
|
|
|
En línea
|
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.345
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
Depende de la version del enlazador me parece, el que estoy usando no me permite menos de 16 ...
|
|
|
|
|
En línea
|
|
|
|
®®
Colaborador
Desconectado
Mensajes: 5.267
|
pero aparte del codigo hay que sumarle el tamaño de las cabeceras que quieras que no ocupan espacio, y lo de los 0's es tema de aliniamiento de fichero el raw size debe ser multiplo del file alignment y se redondea para arriba.
|
|
|
|
|
En línea
|
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.345
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
pero aparte del codigo hay que sumarle el tamaño de las cabeceras que quieras que no ocupan espacio, y lo de los 0's es tema de aliniamiento de fichero el raw size debe ser multiplo del file alignment y se redondea para arriba.
Si, por supuesto, sino ocuparia un byte unicamente. Un COM (16 bits, MS-DOS) seria lo mas enano posible de conseguir.
|
|
|
|
|
En línea
|
|
|
|
nhaalclkiemr
Desconectado
Mensajes: 1.644
Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92
|
Si wenogracias...al fial con el ret (C3) solo ya me sirve... Gracias y saludos 
|
|
|
|
|
En línea
|
|
|
|
nhaalclkiemr
Desconectado
Mensajes: 1.644
Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92
|
Wen otengo otra duda... C3 en ASM es el ret y permite salir de la aplicación...como sería para mantener la aplicacion sin hacer nada pero sin k se cierre? es decir que tras iniciar se paralice la ejecucion pero que el programa no se salga...?? Gracias y saludos 
|
|
|
|
|
En línea
|
|
|
|
Ferсhu
Desconectado
Mensajes: 1.221
Menos palabras y Mas codigos.
|
C3 en ASM es el ret y permite salir de la aplicación...como sería para mantener la aplicacion sin hacer nada pero sin k se cierre? es decir que tras iniciar se paralice la ejecucion pero que el programa no se salga...?? c3 es retn hasta ahi bien....pero no es q permite salir de la aplicacion, solo q en ese caso hace eso, pero el retn lo q hace es saltar hacia la posicion q apunta ESP, osea la cima de la pila. si keres q un prog no salga nunca haces un bucle. :hola jmp hola xj ejemplo "EB FE" son los opcodes de un JMP q salta hacia si mismo jaja no tiene sentido pero buen es eso. lo mas chikito q podes crear es usando debug.exe, pero ahora no tengo ningun prog para mostrarte.
|
|
|
|
|
En línea
|
|
|
|
nhaalclkiemr
Desconectado
Mensajes: 1.644
Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92
|
Ya ya se que C3 es el return...pero en este caso es el que permite salir de la aplicacion... lo del bucle ya se me ocurrió...pero si mal no me ekivoko no me consumirá el 100% del CPU??? yo no quiero eso...yo quiero que quede consumiendo el 0% de la CPU sin hacer nada...como paralizado... Saludos 
|
|
|
|
|
En línea
|
|
|
|
|
E0N
|
Esto no es VB xD aki los bucles eternos no ocupan el 100% de la cpu, mira, prueva este code (en fasm): include 'H:\archivos de programa\fasm\include\win32ax.inc' .code start: jmp start .end start a mi me consume 2kb de cpu nada mas PD: Para q kieres un archivo tan pekeño q no haga nada?
|
|
|
|
|
En línea
|
|
|
|
|