Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    6

    [C++] Avviare un .exe nascosto

    Salve, il mio obbiettivo è di avviare un processo ( un .exe esterno ) ma che non sia visibile, cioè in modalità hidden. Ho già provato due "comandi", non so se si chiamino così, se no correggetemi che sono alle prime armi:


    Voglio avviare ad esempio Chrome, in modo che non sia visibile al mio pc, ho creato per ora un collegamento di chrome nella cartella del mio progetto e ho provato due tipi di comandi:

    Il primo è ShellExecute e il secondo CreateProcess:
    Per il primo ho fatto così:

    codice:
    int main(){
     ShellExecute(NULL,"open","chrome.exe",NULL,NULL,SW_HIDE);
    }
    Non riuscendo a comprendere o non sapendo cosa mettere in vari campi ho lasciato NULL.
    Questo comando avvia correttamente il programma ma non in nascosto, anche se ho inserito la flag hide alla fine. Non capendo il motivo provo con un altro programma, questa volta il caro blocco note (un file .txt) e con questo ci riesco, ovvero noto il notepad.exe nei processi ma non è visibile la finestra.

    Quindi googlo un po' e oltre a trovare un sacco di codici strani che anche copia-incollando nel mio codeblocks non funzionano per qualche strano errore del compilatore provo a scrivere il comando CreateProcess; leggendo i parametri dal sito della microsoft e capendo ben poco mi esce fuori questo:

    codice:
    int main(){
     CreateProcess("ciao.txt",NULL,NULL,NULL,FALSE,NULL,NULL,NULL,NULL,NULL);
    }
    Buona parte dei parametri, anzi quasi tutti in realtà, non li ho ben compresi o comunque non credevo fossero rilevanti per il semplice test che ho intenzione di fare. Premo F9 e il compilatore avvia il programma senza errori, non so perché però il programma crasha subito dopo dandomi "Main.exe ha smesso di funzionare" e nella console ritorna il codice errore : 0xC0000005

    Credo che molto probabilmente sia dovuto alla scarsità dei parametri, alcuni forse non così irrilevanti oppure completamente sbagliati...
    Se non si è capito sono veramente agli esordi del C++..

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Ma a cosa serve Chrome nascosto??

    Inizi con il C/C++ ... a cosa ti serve un processo nascosto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma a cosa serve Chrome nascosto??

    Inizi con il C/C++ ... a cosa ti serve un processo nascosto?
    Inizi con il C/C++ ... a cosa ti servono più processi?
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    6
    Ho preso chrome per esempio, il motivo per cui voglio fare questo test non esiste, però mi piacerebbe capire come nascondere delle finestre.
    Non mi sono molto utili quei commenti...

  5. #5
    Utente di HTML.it L'avatar di Alpha!
    Registrato dal
    May 2005
    Messaggi
    68
    0xC0000005 significa access violation, probabilmente dovuto a lpStartupInfo e lpProcessInformation che hai passato come NULL

    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
    Ultima modifica di Alpha!; 23-06-2014 a 15:10

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Quote Originariamente inviata da gergo Visualizza il messaggio
    Non mi sono molto utili quei commenti...
    Dato che voler nascondere dei processi in C (senza neanche saper programmare, anzi senza avere la minima conoscenza del linguaggio) mi sa di "malware causa lamer", volevo capire prima di rispondere.

    E dato che non mi hai convinto, mi ritiro in buon ordine ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    6
    Scusa ma da quando imparare significa malware? Io ho solo chiesto dove ho sbagliato nel codice a persone che credevo fossero disposte ad aiutare i più newbie, che senso avrebbe allora questa sezione (e tante altre del forum) se non quello di aiutare?
    Da quando le funzioni in background sono collegate necessariamente a malware?
    Se non ti convinco avresti dovuto non rispondermi dall'inizio, ora invece di sei fatto +3 messaggi senza far nulla..

    Grazie per avermi risposto Alpha! , ma non ho capito che parametro inserire al posto dei null che ho messo se il sito della microsoft non si esprime riguardo a parametri di default o qualcosa del genere, almeno è quanto son riuscito a capire

    Il compilatore mi da anche un avviso che ho tralasciato:

    warning: passing NULL to non-pointer argument 6 of 'BOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION)' [-Wconversion-null]|
    Ultima modifica di gergo; 23-06-2014 a 15:20

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Prova ad imparare il linguaggio, l'uso delle API e tutto il resto prima di imparare a nascondere gli eseguibili.

    Allora avrai mille risposte dal forum.

    P.S. Secondo te mi importano i +3 messaggi ??
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    6
    Sto cercando di imparare il linguaggio cominciando dalle cose che mi incuriosiscono.

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Quote Originariamente inviata da gergo Visualizza il messaggio
    warning: passing NULL to non-pointer argument 6 of 'BOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION)' [-Wconversion-null]|
    Quel warning è autoesplicativo: il 6 parametro dovrebbe essere di tipo BOOL.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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.