Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-12-2016, 17:23   #1
softwareh
Junior Member
 
Iscritto dal: Dec 2016
Messaggi: 6
[C/C++] Nascondere processo

Buonasera a tutti,
vorrei sapere come faccio a nascondere dalla lista dei processi di Windows un eseguibile scritto in C/C++.
Se vi state chiedendo perché desidero nasconderlo la risposta è semplice: sto sviluppando un software di sicurezza informatica che dovrà essere in grado di scansionare qualsiasi programma giri sul pc. Ho quindi deciso di ampliare le funzioni anche per i software che non vengono visualizzati in lista processi.
Il programma è infatti un semplice "Hello Word", che userò per i miei test.

Ho fatto diverse ricerche online ma nessuna sembra risolva questo quesito.

Ringrazio in anticipo chi vorrà dare il proprio contributo.
softwareh è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 17:49   #2
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Argomento borderline per dire poco, ti sconsiglio di entrare nei dettagli. Parlando in modo generico, anche se un virus-rootkit riesce a nascondersi dalla lista dei processi del task manager non é invisibile agli occhi di chi ha un monitor per le API come CreateProcess, CreateWindow e così via, deve usarne una o più di una, quindi al tuo "software di sicurezza" non sfugge.
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 18:06   #3
softwareh
Junior Member
 
Iscritto dal: Dec 2016
Messaggi: 6
Quote:
Originariamente inviato da x_Master_x Guarda i messaggi
Argomento borderline per dire poco, ti sconsiglio di entrare nei dettagli. Parlando in modo generico, anche se un virus-rootkit riesce a nascondersi dalla lista dei processi del task manager non é invisibile agli occhi di chi ha un monitor per le API come CreateProcess, CreateWindow e così via, deve usarne una o più di una, quindi al tuo "software di sicurezza" non sfugge.
Non ho ben capito: posso creare un monitor per le API utilizzate? E' bellissima questa cosa, pensavo non fosse possibile (il mio software si basa su altri dati visibili). Sapresti darmi ulteriori informazioni?

Grazie ancora!
softwareh è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 18:55   #4
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Ti invito ad una ricerca su MSDN. Puoi iniziare da qui:
https://msdn.microsoft.com/en-us/lib...(v=VS.85).aspx

Puoi usare anche WMI se per te é più semplice.
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 19:00   #5
softwareh
Junior Member
 
Iscritto dal: Dec 2016
Messaggi: 6
Quote:
Originariamente inviato da x_Master_x Guarda i messaggi
Ti invito ad una ricerca su MSDN. Puoi iniziare da qui:
https://msdn.microsoft.com/en-us/lib...(v=VS.85).aspx

Puoi usare anche WMI se per te é più semplice.
Potresti spiegarmi direttamente?
E' possibile creare un monitor che legga le funzioni utilizzate dai vari programmi? Ad esempio posso scegliere di vedere quando viene utilizzato un printf("prova") in un programma? Oppure ci si limita a chiamate di sistema?

Grazie!
softwareh è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 20:34   #6
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Spiegare cosa? Su MSDN trovi tutte le informazioni che cerchi comunque sì devi basarti sulle chiamate di sistema ma non capisco cosa c'entri il printf con la questione del processo.
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 21:34   #7
71106
Bannato
 
Iscritto dal: Nov 2014
Messaggi: 292
Quote:
Originariamente inviato da softwareh Guarda i messaggi
Buonasera a tutti,
vorrei sapere come faccio a nascondere dalla lista dei processi di Windows un eseguibile scritto in C/C++.
Se vi state chiedendo perché desidero nasconderlo la risposta è semplice: sto sviluppando un software di sicurezza informatica che dovrà essere in grado di scansionare qualsiasi programma giri sul pc. Ho quindi deciso di ampliare le funzioni anche per i software che non vengono visualizzati in lista processi.
Il programma è infatti un semplice "Hello Word", che userò per i miei test.

Ho fatto diverse ricerche online ma nessuna sembra risolva questo quesito.

Ringrazio in anticipo chi vorrà dare il proprio contributo.
E' passato un bel po' di tempo ormai dall'ultima volta che ho fatto ste porcate.

Comunque: cio' che facevo io era di creare una DLL anziche' un EXE, cosicche' rilevarla fosse un po' piu' difficile perche' un programma come Task Manager non bastava piu'.

Poi mi sono evoluto e ho creato una DLL che appena caricata allocava un'area di memoria nel processo ospite, ci si ricopiava, e restituiva FALSE dalla DllMain cosi' da "fallire" il caricamento. La DLL vera e propria non veniva caricata, ma la copia in memoria rimaneva.

Per quanto riguarda il modo in cui triggeravo il caricamento iniziale, ora purtroppo non ricordo cosa avevo arrangiato ma probabilmente installavo un qualche componente OLE che veniva usato da explorer.exe, cosicche' questi fosse il processo ospite.

Poi pero' mi sono evoluto anche su questo e ho creato un installer che di fatto modificava explorer.exe aggiungendo sezioni di codice e dati che erano quelle della "DLL", che a quel punto non era piu' una DLL perche' veniva di fatto linkata in explorer.exe. Ho potuto fare questa roba perche' ero gia' abbastanza esperto del format PE/COFF, le cui specifiche ho appena ritrovato qui: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Tutto cio' ovviamente funzionava solo su installazioni di Windows dove l'utente che eseguiva l'installer aveva la possibilita' di modificare explorer.exe, cosa che si e' protratta per molti anni vista la longevita' di XP e delle sue installazioni di default.

Da notare che l'installazione di un componente OLE richiedeva invece meno permessi, l'utente che lanciava l'installer di solito poteva installarne per se' stesso anche senza essere amministratore (solo per se' stesso ovviamente, non per altri utenti).

Per quanto riguarda l'intercettazione delle API, purtroppo non ho mai conosciuto a fondo il sopracitato WMI e non so esattamente a che serva. Io all'epoca usai sta roba qua: https://www.microsoft.com/en-us/rese...oject/detours/
71106 è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 21:40   #8
71106
Bannato
 
Iscritto dal: Nov 2014
Messaggi: 292
Quote:
Originariamente inviato da softwareh Guarda i messaggi
Potresti spiegarmi direttamente?
E' possibile creare un monitor che legga le funzioni utilizzate dai vari programmi? Ad esempio posso scegliere di vedere quando viene utilizzato un printf("prova") in un programma? Oppure ci si limita a chiamate di sistema?
Con le Detour che ho menzionato sopra si puo' intercettare qualunque funzione, "di sistema" e non, ma bisogna averne l'indirizzo. Avere l'indirizzo di una funzione API di sistema e' facile perche' basta dipendere dalla DLL che la esporta, ma per la printf la situazione e' complicata perche' e' una funzione del runtime di Visual C++ di cui possono esistere piu' versioni nel sistema e di cui moduli diversi possono caricare versioni diverse. Quindi la printf che vedi tu potrebbe non essere esattamente la stessa usata dal programma a partire dal quale e' stato avviato il processo.

Ora, tutta sta roba sono mie reminescenze di prima che passassi prima allo sviluppo web e poi a Linux, ossia almeno 5-6 anni fa. Nel frattempo non so piu' neanche a che versione siamo di Windows (la 10?), Windows non e' piu' su nessuno dei miei sistemi e non ho piu' idea di come funzioni.
71106 è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 21:45   #9
71106
Bannato
 
Iscritto dal: Nov 2014
Messaggi: 292
Altra cosa. Se oltre ai processi vuoi enumerare anche tutte le DLL caricate nel sistema, questa API ti sara' fondamentale:

https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Tuttavia non e' sufficiente poiche', come ho scritto sopra, non sarebbe stata in grado di enumerare le DLL che ho creato io: ne' quella che si ricopiava in memoria e poi falliva il caricamento, ne' quella che veniva linkata dentro explorer.exe.
71106 è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2016, 21:48   #10
71106
Bannato
 
Iscritto dal: Nov 2014
Messaggi: 292
Ah, e in tutto cio' non abbiamo neanche toccato tutto il discorso "drivers". Immagina se il modulo che "si ricopia in memoria e poi fallisce il caricamento" fosse un driver anziche' una DLL. A quel punto non esiste nessun approccio ragionevole per il rilevamento di un simile malware.

Tuttavia la situazione dei driver su Windows oggi potrebbe essere migliorata molto rispetto ad allora. Ricordo che gia' quando ancora arrangiavo porcate cominciava a essere obbligatoria la firma.
71106 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2016, 15:06   #11
softwareh
Junior Member
 
Iscritto dal: Dec 2016
Messaggi: 6
Quote:
Originariamente inviato da 71106 Guarda i messaggi
Ah, e in tutto cio' non abbiamo neanche toccato tutto il discorso "drivers". Immagina se il modulo che "si ricopia in memoria e poi fallisce il caricamento" fosse un driver anziche' una DLL. A quel punto non esiste nessun approccio ragionevole per il rilevamento di un simile malware.

Tuttavia la situazione dei driver su Windows oggi potrebbe essere migliorata molto rispetto ad allora. Ricordo che gia' quando ancora arrangiavo porcate cominciava a essere obbligatoria la firma.
Per questi miei test potrei anche utilizzare una versione di Windows obsoleta (metto XP o qualsiasi s.o. necessario in un vecchio PC e faccio le mie prove).
Ho fatto diverse ricerche e mi sembra di capire che scrivere un driver è paradossalmente più semplice ed inoltre tu mi confermi che renderebbe il compito ancor più arduo, quindi direi che è la soluzione ideale.
Sbaglio oppure basta creare un nuovo driver e come codice inserisco il mio "Hello World" ?
softwareh è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2016, 23:50   #12
71106
Bannato
 
Iscritto dal: Nov 2014
Messaggi: 292
Non ho idea di come tu abbia fatto a giungere alla conclusione che scrivere un driver e' "semplice".
71106 è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2016, 14:50   #13
softwareh
Junior Member
 
Iscritto dal: Dec 2016
Messaggi: 6
Quote:
Originariamente inviato da 71106 Guarda i messaggi
Non ho idea di come tu abbia fatto a giungere alla conclusione che scrivere un driver e' "semplice".
Ho scritto che "scrivere un driver è PIU' semplice": è un comparativo di maggioranza ed il secondo termine del paragone non l'ho scritto ma riguarda l'altra alternativa che mi era stata proposta.
Inoltre ho trovato online diversi tutorial che spiegano come iniziare a far ciò e, che tu ci creda o no, in 10 minuti sviluppano un driver di prova (che non fa nulla di utile). Ti ricordo che il mio quesito non riguarda lo sviluppo di un driver reale ma la conversione di un normale "Hello World" in un driver.

Tornando alla dll non mi è chiara una cosa: una volta che "converto" l'exe in dll posso aprire e chiudere il programma quando mi pare? Potrei utilizzarlo normalmente?

Grazie!
softwareh è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
In Cina è pronto il parco fotovol...
Neuralink accelera: produzione di massa ...
Starlink abbassa l'orbita di migliaia di...
Dal MIT una nuova batteria per auto elet...
Adam Mosseri parla di IA su Instagram: l...
Suonerie personalizzate e Tone Store: il...
LG UltraGear evo: svelati i monitor gami...
Nelle offerte Amazon del nuovo anno ci s...
Meta Quest 3 da 512 GB torna a 469€ con ...
Steam a inizio 2026: i giochi più vendut...
Auto sempre al top: compressore Xiaomi, ...
In Francia si ragiona sul ban dei social...
Tesla Model Y è l'auto più...
Il caricatore definitivo, ok anche coi M...
Amazon Haul rilancia: sconti automatici ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v