Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Intercettare un processo prima che venga eseguito

    Ciao a tutti,
    so che probabilmente questo mio post sara' già stato proposto milioni di volte, ma vorrei capire se a qualcuno di voi è mai capitato di dover affrontare questo genere di problema:

    Ho un applicazione (sviluppata da me in c++) che tramite le definizioni dei virus distribuite da un produttore free, è in grado di capire se in un determinato esegubile cè un virus...

    Il mio problema è che, vorrei essere in grado di intercettare quando un determinato processo sta per essere eseguito e in quel lasso di tempo eseguire appunto la scansione (pur ritardando di molto l'esecuzione del processo), di modo che , se trovo un virus la bloccherei sul nascere.

    In questi giorni ho letto molti articoli, ma sul serio vedo molta teoria e pochissima pratica, e mi chiedevo se tramite l'Hooking delle DLL di windows, o in qualche altro modo è possibile effettuare tutto cio'...


    Vi ringrazio per l'attenzione, un saluto
    MyCrazy78

  2. #2
    Si può fare tramite IAT patching sulla NtCreateProcess (ci sono montagne di articoli a proposito dello IAT patching, cerca con Google); ovviamente per poterlo fare devi iniettare la tua dll in ogni processo in esecuzione e in ogni processo che viene creato. Credo si possa agire a livello più profondo intercettando la sua controparte in kernel-mode, ma non ti saprei dire esattamente come, non è un ambito che abbia mai approfondito.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Ciao MItaly,
    quindi ogni produttore di antivirus piu o meno frutta questa metodologia per evitare che un processo venga eseguito?

    Il fatto è che quei file che scarico da internet li intercetto al momento del download e li scansiono ancor prima che "tocchino terra" , ma il problema principale sono quelli che sono gia presenti nel pc

  4. #4
    Originariamente inviato da MyCrazy78
    Ciao MItaly,
    quindi ogni produttore di antivirus piu o meno frutta questa metodologia per evitare che un processo venga eseguito?
    Credo che usino dei driver in kernel-mode per intercettare le chiamate alle API NT a livello ancora più basso (ed evitare che i vari processi si possano ri-patchare la IAT per evitare il controllo dell'antivirus), ma, di nuovo, potrei sbagliarmi.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.