Programmazione API a basso livello

Martina Knaus <[email protected]> Fri, 6 Mar 2009 09:06:57 +0100
Newsgroups gmane.comp.security.italian.devel,gmane.comp.security.italian
Message-ID <[email protected]>
Scusa Koba per l'errore, ho disabilitato la voce "formattazione
speciale" e spero di inviare il testo correttamente

Buongiorno a tutta la lista,
mi chiamo Martina e sono una neoiscritta. Perdonate se la prima volta
non quoto correttamente.

Vi chiedo se possibile qualche suggerimento.

Il mio professore mi ha dato da risolvere un problema di questo tipo:

devo fare un programma che intercetti le chiamate API e che logghi,
permetta o impedisca determinate azioni su un file (posso scegliere
un'azione a piacimento). Deve essere piccolo e poco invasivo per la
macchina ospitante.

Dovrei sviluppare il tutto con C++ ma non =E8 condizione sine qua non.
Fino ad ora ho usato Borland C e mi trovo in difficolt=E0 per il compito
assegnatomi.

Mi =E8 stato consigliato, per semplificare le cose, di dare uno sguardo
a Detours che ho installato e studiato.
Ho studiato decine di documenti su google, tesi di laurea di varie
universit=E0, i codici di alcuni rootkit e keylogger, ecc.

Mi =E8 tutto chiaro inerente le API, gli hooks, ecc ma sono in
difficolt=E0 su questo punto:

1) ho bisogno di trovare un "telaio" di programma, o un flusso di
programma, o una documentazione che spieghi come costruire, passo
passo, programmi con API/Hook/Detour functions (non =E8 indispensabile
usare Detours)

In un certo senso =E8 come voler cercare le regole base di composizione
del codice di un banale programma in C, ma fatto con api e hook, che
sono per=F2 pi=F9 sofisticate e complesse di un generico codice C (almeno
per me).

Il problema che ho =E8 quello di capire come, quando, perch=E8 usare una
certa funzione/chiamata, nell'interfaccia utente; forse servono le
caratteristiche per costruire progetti di programma, in BC o VC, che
si rifanno alle applicazioni server, o console, o altro, che ancora
non conosco bene: questi tipi di progetti che il compilatore BC o VC
gestisce, attivano, nel telaio di programma che mettono a
disposizione, le funzioni principali, come winproc, winmain, windll,
per cui si parte gi=E0 con qualcosa di preimpostato.

Se poi si trova anche un po di documentazione sul come usare le
api/hook in un programma...

Scusatemi per la lunghezza della mail.

Cordiali saluti.

Martina K.
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List