Attendi n secondi via codice, ovvero "Program Killer in Assembly"
Nel pacchetto Program Killer (http://progkill.sourceforge.net/) è incluso il
programmino sleep.exe scritto da Joshua Kinard (GPL!):
#include < stdio.h >
#include < stdlib.h >
int main(int argc, char *argv[]) {
if (argc < 1) {exit(0);} // If Command Line Args are < 1, then Exit
sleep(atoi(argv[1])); // Sleep for X Seconds (X = Command Line Argument)
exit(0); // Exit (superfluo)
return 0;
}
Il relativo eseguibile occupa ben 95.527 byte! Sconvolto da tale mostruosità ho
effettuato alcuni esperimenti:
- Compilazione con MingW -> 16k
- Versione Delphi -> 5k
- Versione MASM32 (non ottimizzata) -> 989 byte!
.386
.model flat, stdcall
option casemap :none
include sleep.inc
.code
start:
invoke SleepProc
invoke ExitProcess, 0
SleepProc proc
LOCAL clBuf[128]:BYTE
invoke GetCL,1, ADDR clBuf
.if eax == 1
invoke atodw, ADDR clBuf
invoke Sleep, eax
.endif
ret
SleepProc endp
end start
A.S.L. Associazione Sonno Leggero :-)
Riferimenti/References:
Click here - Clicca qui