Zoom Icon

Corso UIC Avanzato 11

From UIC Archive

Corso UIC Avanzato 11

Contents


Corso UIC Avanzato 11
Author: Quequero
Email: Que addr.gif
Website: http://quequero.org
Date: 01/07/2001 (dd/mm/yyyy)
Level: Working brain required/Some skills are required
Language: Italian Flag Italian.gif
Comments:


Link e Riferimenti

Questo è il Corsi UIC Avanzati n°11 disponibile alla pagina Corsi per Studenti


Essay

Come spesso avrete avuto modo di constatare (o almeno lo spero :) nel reversing spesso è necessario scrivere routine piccole piccole per poter farle entrare in qualche buffer minuscolo che abbiamo a disposizione e spesso questo diventa un problema....Perché molti di ottimizzazione ne capiscono ben poco. Lo scopo di questo corso è proprio quello di insegnarvi le basi dell'ottimizzazione, non è un corso impegnativo ne difficile e sarà utile anche per farvi distendere un pochetto i nervi.
Vi presento un programma scritto in Asm e compilabile con il Tasm reperibile su questo sito alla sezione downloads, il sorgente è lineare ed il programma.....Non fa assolutamente nulla, si preoccupa solo di generare un numero quasi-random utilizzando il più possibile i cicli di clock :) se infatti avete dimistichezza con le tabelle dove sono riportati i cicli necessari al processore per ogni operazione, vedrete che ho strutturato il programma in modo da farvi utilizzare inutilmente tanto processore :)))). Ma il vostro scopo? Il vostro scopo...O meglio...I vostri scopi sono:

  1. ottimizzare il sorgente in modo da avere una sezione CODE nell'eseguibile finale più piccola possibile, non preoccupatevi dei buffer, mi interessa solo la .CODE, il programma integra un misuratore per il tempo di esecuzione che vi servirà a livello intuitivo durante l'ottimizzazione.
  2. presentarmi l'exe più piccolo possibile :) e stavolta potete anche toccare i buffer e quello che volete, ma l'exe COMPLETO finale deve essere il più piccolo possibile. La soluzione più rapida sarebbe quella di ottimizzare la .CODE e rimpicciolire l'exe, ma potete anche fare le due cose separatamente se vi piace :)...Ah, il testo delle due Messagebox NON puù cambiare, deve restare quello :).

Suppongo che 15 giorni siano sufficienti, semmai prolungo il termine, buon divertimento ragazzi :)

Quequero



Disclaimer

I documenti qui pubblicati sono da considerarsi pubblici e liberamente distribuibili, a patto che se ne citi la fonte di provenienza. Tutti i documenti presenti su queste pagine sono stati scritti esclusivamente a scopo di ricerca, nessuna di queste analisi è stata fatta per fini commerciali, o dietro alcun tipo di compenso. I documenti pubblicati presentano delle analisi puramente teoriche della struttura di un programma, in nessun caso il software è stato realmente disassemblato o modificato; ogni corrispondenza presente tra i documenti pubblicati e le istruzioni del software oggetto dell'analisi, è da ritenersi puramente casuale. Tutti i documenti vengono inviati in forma anonima ed automaticamente pubblicati, i diritti di tali opere appartengono esclusivamente al firmatario del documento (se presente), in nessun caso il gestore di questo sito, o del server su cui risiede, può essere ritenuto responsabile dei contenuti qui presenti, oltretutto il gestore del sito non è in grado di risalire all'identità del mittente dei documenti. Tutti i documenti ed i file di questo sito non presentano alcun tipo di garanzia, pertanto ne è sconsigliata a tutti la lettura o l'esecuzione, lo staff non si assume alcuna responsabilità per quanto riguarda l'uso improprio di tali documenti e/o file, è doveroso aggiungere che ogni riferimento a fatti cose o persone è da considerarsi PURAMENTE casuale. Tutti coloro che potrebbero ritenersi moralmente offesi dai contenuti di queste pagine, sono tenuti ad uscire immediatamente da questo sito.

Vogliamo inoltre ricordare che il Reverse Engineering è uno strumento tecnologico di grande potenza ed importanza, senza di esso non sarebbe possibile creare antivirus, scoprire funzioni malevole e non dichiarate all'interno di un programma di pubblico utilizzo. Non sarebbe possibile scoprire, in assenza di un sistema sicuro per il controllo dell'integrità, se il "tal" programma è realmente quello che l'utente ha scelto di installare ed eseguire, né sarebbe possibile continuare lo sviluppo di quei programmi (o l'utilizzo di quelle periferiche) ritenuti obsoleti e non più supportati dalle fonti ufficiali.