View Full Version : Osservare il comportamento di un programma
Sto cercando un software in grado di tracciare il comportamento dei miei programmi .exe del tipo:
-Visualizzare quali librerie di sistema carica ( ad esempio sotto windows )
-Che parametri passa ai programmi tipo rundll32.exe o al registro o ad altri eseguibili se previsti al suo interno... tipo se gli faccio eseguire un "dir d:\" e memorizzo l'output su un file... si può vedere questo passaggio ad esempio in memoria passo passo mentre lo sta facendo e riconoscere i file che genera ?
-Quali chiamate fa ai processi di sistema se previste al suo interno e visualizzarne i nomi dei file richiamati
etc...
insomma esiste una specie di "debugger di sistema" o "traccia eventi" con la possibilità di vedere in tempo reale il comportamento del programma ?
rEDTUNING
22-10-2010, 20:36
Non so se ho capito bene quello che cerchi, comunque con un debugger puoi vedere tutti i passaggi che effettua il tuo programma e fanno uso di disassembler integrati che scompongono il tuo eseguibile in codice assembly per farti vedere in modo visuale step per step i passaggi, servono dunque ad analizzare il programma nelle singole istruzioni e verificarne il comportamento...in alcuni debugger puoi vedere i caricamenti delle dll o chiamate di sistema, processi correlati e quant'altro...certo detto così è semplice ma bisogna saperli usare, avere i concetti fondamentali di debugging e sicuramente se vuoi capire quello che sta facendo il programma conoscere l'assembler. Come debugger ne conosco uno, OllyDbg, è dotato di interfaccia grafica, se no in CLI il gdb di GNU per utenti sotto linux o l'utility "debug" sotto windows
jappilas
22-10-2010, 21:25
Sto cercando un software in grado di tracciare il comportamento dei miei programmi .exe del tipo:
-Visualizzare quali librerie di sistema carica ( ad esempio sotto windows ) debugger a parte, magari ti possono essere utili anche il Dependency Walker (http://www.dependencywalker.com/)
-Quali chiamate fa ai processi di sistema se previste al suo interno e visualizzarne i nomi dei file richiamatie il Winternals Process monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx)...
tomminno
23-10-2010, 00:21
-Che parametri passa ai programmi tipo rundll32.exe o al registro o ad altri eseguibili se previsti al suo interno... tipo se gli faccio eseguire un "dir d:\" e memorizzo l'output su un file... si può vedere questo passaggio ad esempio in memoria passo passo mentre lo sta facendo e riconoscere i file che genera ?
Il file lo puoi spiare come già suggerito con ProcessMonitor.
Ma per seguire lo svolgimento del programma passo passo senza averne i sorgenti significa ricorrere ai decompilatori e... essere molto esperti di Assembly x86.
Se i tuoi eseguibili fossero in .Net e non offuscati, tramite reflector puoi riottenere perfino la soluzione di Visual Studio :D
I disassemblatori lavorano a basso livello...un po' troppo basso per i miei scopi, Process monitor fa proprio al caso mio... mi elenca tutte le interazioni degli eseguibili con il sistema operativo.
Grazie a tutti per i suggerimenti.
Riguardo l'offuscamento degli eseguibili che procedure dovrei eseguire se poi intendo produrre a fini aziendali ?
rEDTUNING
23-10-2010, 19:22
I disassemblatori lavorano a basso livello...un po' troppo basso per i miei scopi, Process monitor fa proprio al caso mio... mi elenca tutte le interazioni degli eseguibili con il sistema operativo.
Grazie a tutti per i suggerimenti.
Riguardo l'offuscamento degli eseguibili che procedure dovrei eseguire se poi intendo produrre a fini aziendali ?
si mi sa che io ho inteso la situazione in modo diverso e ti ho parlato di debug proprio a basso livello, mi disp :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.