Visto che tanto il contest su #phrack.it non si farà (come d'altra parte tutte le robe fighe)... posso rendere pubblica parte del codice che ho scritto. Praticamente il contest consisteva nel realizzare il più piccolo (meno bytes) client pop3 secondo certe regole che ora non vi sto a spiegare. Tra gli accorgimenti che avrei addottato c'era anche quello di non utilizzare i crt forniti con il gcc ma realizzarne uno mio più piccolo. Visto che non sono un giullare... ovviamente ce l'ho fatta. Ecco il codice del crt realizzato da me in asm: ---------| inizio: crts.s |------------ /* Copyright (c) 2001 Federico 'Simon' Simoncelli <f.simon@xxxxxxxx> GNU/linux i386: gcc -O3 -Wall -c crts.s */ .file "crts.s" .version "01.00" .text .align 4 .globl _start .type _start,@function _start: movl %esp, %eax addl $0x4, %eax push %eax push -4(%eax) call main movl %eax, %ebx movl $1, %eax int $0x80 ------------| fine: crts.s |-------------- (non ve lo commento perchè tanto le mie mail non le legge mai nessuno) Ed ora un pò di statistiche... vediamo un semplice helloworld: Crt Standard: Dimensione non stripped: 13211 bytes Dimensione stripped: 2944 bytes Mio Crt: Dimensione non stripped: 2267 bytes Dimensione stripped: 1560 bytes Eh? Eh? che ve ne pare? Farei notare che sul non stripped guadagno qualcosa più di 10K... metre sullo stripped circa 1.38K. In allegato vi do tutto il pacchettino per il test. Have fun! -- /* Federico 's1m0n' Simoncelli <f.simon@xxxxxxxx> http://www.jkcal.org/simon */ int main(){unsigned int g,h=0;while(++h){for(g=(h>1)?2:1;g< h/2+1&&h%g!=0;g++);if(g==h/2+1)printf("%i\n",h);}return 0;}