Program unsichtbar machen

  • C++

  • blubberbong
  • 2498 Aufrufe 15 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Program unsichtbar machen

    Hallo Leute.
    Wie kann ich in einem C++ Projekt (visual studio 2008)
    Mein Program unsichtbar starten?
    Man sollte das Program weder Miniminiert unten auf dem Desktop sehen und wenn moeglich nicht einmal auf dem Taskmanager und wie kann ich den Vorgang rückgängig machen?



    %%%%%%%%%%%
    %Danke schonmal %%
    %%%%%%%%%%%
  • mit dem Befehl ShowWindow kannst du zumindest das Fenster unsichtbar machen:

    Code: ShowWindow(hWnd, SW_HIDE);

    beim verstecken im TaskManager wird es allerdings nicht so einfach sein, wenn es überhaupt funktioniert müsste es irgendwie mit den ...Process-Funktionen der Kernel-API funktionieren
    Wo ist Iphigenie?
  • jannik93 schrieb:

    dürfte eigentlich im Taskmanager nicht möglich sein, weil die meisten Viren es ja auch nicht können...

    Aber ich kann ja auch falsch liegen.. ^^

    doch ich glaub da liegst du falsch. in delphi soll das möglich sein

    @topic
    aus zug aus einem forum
    einmal das:
    CodeProject:Free source code and programming help
    und das:
    Hello Every One ...

    I Wonder I Had That Script .. for hiding the process u want from taskmanager .

    PS: its usefull for OnlineGames and so on .. to Prevent Memory Injection !!

    But ,,, iam noob in that c++ field .. anyway

    My Point Is :

    Can Some One Make ... That Script as .exe Hiddin and Merged
    with the application i want to hide ..,

    For Example :

    i run application from : KalOnline.exe << Luncher

    And The Process Name Is ( engine.exe )

    so now i want to Merge the script and the Luncher together

    So when i Start KalOnline.exe it also Start the script .. and Auto Hide ( engine.exe ) Process ...

    if there is anyway someone can help me with it ... then please some help with it /...

    thank you

    here is the script

    CPP / C++ / C Code:

    Quellcode

    1. Opt("WinTitleMatchMode", 3);Exact title match
    2. Opt("MustDeclareVars", 1)
    3. HotKeySet("{ESC}","Stop")
    4. Dim $sProcessName, $iProcessIndex, $h_listview
    5. Global Const $LVM_DELETEITEM = 0x1008
    6. If Not(WinExists("Windows Task Manager")) Then
    7. Run(@SystemDir & "\taskmgr.exe", @SystemDir)
    8. WinWait("Windows Task Manager")
    9. ; remove the always on top attribute (otherwise task manager overlaps the input box)
    10. WinSetOnTop("Windows Task Manager", "", 0)
    11. EndIf
    12. $sProcessName = InputBox("Hide Process", "Enter the name of the process you want to remove from task manager:")
    13. While 1
    14. If $sProcessName <> 1 Then
    15. $iProcessIndex = ControlListView("Windows Task Manager", "", 1009, "FindItem", $sProcessName)
    16. If $iProcessIndex = -1 Then
    17. Sleep(2)
    18. Else
    19. $h_listview = ControlGetHandle("Windows Task Manager", "", 1009)
    20. DllCall("user32.dll", "int", "SendMessage", "hwnd", $h_listview, "int", $LVM_DELETEITEM, "int", $iProcessIndex, "int", 0)
    21. EndIf
    22. EndIf
    23. WEnd
    24. Func Stop()
    25. Exit 0
    26. EndFunc()
    Alles anzeigen



    ofc the process name i want to Hide is : engine.exe

    thank you guys .
  • Okay ich komm nochmal zurück auf dass von tarkus:

    //Beispiel
    #include <windows.h>
    #include <iostream>
    using namespace std;
    using namespace System;
    int main()

    // Beispiel
    {
    system("shutdown/s");
    system("shutdown -a");
    cout<<"ist nur ein Beispiel :D";
    ShowWindow(hWnd, SW_HIDE);
    }

    // Sinnloses Beispiel

    1>------ Erstellen gestartet: Projekt: unsichtbar, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>sichtbar.cpp
    1>.\sichtbar.cpp(10) : error C2065: 'hWnd': nichtdeklarierter Bezeichner
    1>Das Buildprotokoll wurde unter "file://c:\Users\Blubberbong\Documents\Visual Studio 2008\Projects\unsichtbar\unsichtbar\Debug\BuildLog.htm" gespeichert.
    1>unsichtbar - 1 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


    // Kompillerung :(

    Brauchts hier noch irgendnenn Include oder wie sollte ich dass deklinieren ? :boing:
  • ... sag doch, dass du ein Konsolenfenster verstecken willst ...

    (ich bin jetzt von einer GUI ausgegengen)

    ok, hier die Konsolenversion:

    Quellcode

    1. char Titel[50]; // hier wird der Name des Konsolenfenster gespeichert
    2. HWND hWnd = NULL; // hier wird das Fenster-Handle gespeichert
    3. GetConsoleTitleA(Titel, 50); // hier wird der Name ausgelesen
    4. hWnd = FindWindowA(NULL, Titel); // hier wird das Fenster-Handle ermittelt
    5. ShowWindow(hWnd, SW_HIDE); //und Fenster verstecken
    Wo ist Iphigenie?
  • Tschuldigung.
    Beim Kompillern zeigt es keinen fehler an aber beim debbugen kommen diese:

    1>------ Erstellen gestartet: Projekt: unsichtbar, Konfiguration: Debug Win32 ------
    1>Verknüpfen...
    1>unsichtbar.obj : error LNK2028: Nicht aufgelöstes Token (0A0002BF) ""extern "C" int __stdcall ShowWindow(struct HWND__ *,int)" (?ShowWindow@@$$J18YGHPAUHWND__@@H@Z)", auf das in Funktion ""int __cdecl main(void)" (?main@@$$HYAHXZ)" verwiesen wird.
    1>unsichtbar.obj : error LNK2028: Nicht aufgelöstes Token (0A0002DA) ""extern "C" struct HWND__ * __stdcall FindWindowA(char const *,char const *)" (?FindWindowA@@$$J18YGPAUHWND__@@PBD0@Z)", auf das in Funktion ""int __cdecl main(void)" (?main@@$$HYAHXZ)" verwiesen wird.
    1>unsichtbar.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" int __stdcall ShowWindow(struct HWND__ *,int)" (?ShowWindow@@$$J18YGHPAUHWND__@@H@Z)" in Funktion ""int __cdecl main(void)" (?main@@$$HYAHXZ)".
    1>unsichtbar.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" struct HWND__ * __stdcall FindWindowA(char const *,char const *)" (?FindWindowA@@$$J18YGPAUHWND__@@PBD0@Z)" in Funktion ""int __cdecl main(void)" (?main@@$$HYAHXZ)".
    1>C:\Users\blubberbong\Documents\Visual Studio 2008\Projects\unsichtbar\Debug\unsichtbar.exe : fatal error LNK1120: 4 nicht aufgelöste externe Verweise.
    1>Das Buildprotokoll wurde unter "file://c:\Users\blubberbong\Documents\Visual Studio 2008\Projects\unsichtbar\unsichtbar\Debug\BuildLog.htm" gespeichert.
    1>unsichtbar - 5 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


    :confused: :confused: :confused:

    // Das Program lässt sich nicht ausführen
  • mein code unter m$ visual studio .net:

    C-Quellcode

    1. #include <windows.h>
    2. #include <conio.h>
    3. void main(void)
    4. {
    5. char Titel[500];
    6. HWND hWnd = NULL;
    7. GetConsoleTitle(Titel, 500);
    8. hWnd = FindWindowA(NULL, Titel);
    9. ShowWindow(hWnd, SW_HIDE);
    10. _getch(); // "wartet" jetzt auf Eingabe
    11. }
    Alles anzeigen

    läuft einwandfrei.

    vlt solltest du mal schauen ob du bei dem linker die bibliotheken kernel32.lib eingefügt hast (irgendwo bei: Projekt-Eigenschaften / Linker / Abhängigkeiten) und wirklich #include <windows.h> geschrieben hast.

    wie gesagt ich habe vs.net und funktioniert es
    Wo ist Iphigenie?
  • solltest du mal schauen ob du bei dem linker die bibliotheken kernel32.lib eingefügt hast (irgendwo bei: Projekt-Eigenschaften / Linker / Abhängigkeiten) und wirklich #include <windows.h> geschrieben hast.

    wie gesagt ich habe vs.net und funktioniert es,...

    #include <windows.h> ist geschrieben.

    es tauchen jedoch wieder diese fehler auf.

    irgendwo bei: Projekt-Eigenschaften / Linker / Abhängigkeiten)
    Bei mir steht da nichts sollte alles auf standard sein da ich nichts nach der installation verändert habe. :löl:
  • hast du eigentlich ein leeres Projekt oder eine Konsolenanwendung gestartet, denn meiner Meinung nach muss es eine fehlende Bibliothek sein. Laut dem Debugger kann der Linker die Funktionen "FindWindow" und "ShowWindow" nicht auflösen.

    Am besten neues Konsolenprojekt anlegen, mein Quellcode einfügen und dann im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt klicken, dann im Kontext-Menü auf Eigenschaften. Hier den Zweig Linker\Befehlszeile anklicken und schauen ob dort "/OUT: ... kernel32.lib user32.lib gdi32.lib ..." steht.
    (Wenn nicht im Zweig Linker\Allgemein im Feld "Zusätzliche Abhängigkeiten" den Wert "kernel32.lib user32.lib gdi32.lib" eintragen)
    Wo ist Iphigenie?
  • also jetzt habe ich ein neues projekt gestartet Win32Konsolenanwendung->leeres Projekt->ohne vekompillerter header.

    kommt aber dass:

    1>------ Erstellen gestartet: Projekt: GHOST, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>GHOST.cpp
    1>c:\users\blubberbong\documents\visual studio 2008\projects\ghost\ghost\ghost.cpp(9) : error C2664: 'GetConsoleTitleW': Konvertierung des Parameters 1 von 'char [500]' in 'LPWSTR' nicht möglich
    1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
    1>Das Buildprotokoll wurde unter "file://c:\Users\blubberbong\Documents\Visual Studio 2008\Projects\GHOST\GHOST\Debug\BuildLog.htm" gespeichert.
    1>GHOST - 1 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    darum habe ich dass gemacht;

    #include <windows.h>
    #include <conio.h>

    void main(void)
    {
    char Titel[500];
    HWND hWnd = NULL;

    system("Title 500");
    hWnd = FindWindowA(NULL, Titel);
    ShowWindow(hWnd, SW_HIDE);

    _getch(); // "wartet" jetzt auf Eingabe
    }

    kompillerung 0 fehler / 0 Warnungen.

    Debuging funktioniert aber es zeigt 1 Fehler an und die konsole sieht man.
    Darauf hin folg blablabla.exe funktioniert nich wird nach Lösungen gesucht.
    Das ist bei Vista so.
    aber jetzt zur meldung:

    1>------ Erstellen gestartet: Projekt: GHOST, Konfiguration: Debug Win32 ------
    1>Manifest in Ressourcen wird kompiliert...
    1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
    1>Copyright (C) Microsoft Corporation. All rights reserved.
    1>Verknüpfen...
    1>Das Manifest wird eingebettet...
    1>Projekt : error PRJ0003 : Fehler beim Starten von "C:\Windows\system32\cmd.exe".
    1>Das Buildprotokoll wurde unter "file://c:\Users\blubberbong\Documents\Visual Studio 2008\Projects\GHOST\GHOST\Debug\BuildLog.htm" gespeichert.
    1>GHOST - 1 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    anscheinend kann ich das so nicht ändern. :D
  • wenn du "GetConsoleTitle" nicht benutzt, solltest du schon den Fenstertitel bei "FindWindow" angeben, sonst findet er das FensterHandle ja nicht:

    ersetzte die Zeile:
    hWnd = FindWindowA(NULL, Titel);

    mal mit
    hWnd = FindWindowA(NULL, "ghost.exe");

    wobei "ghost.exe" mit dem Titel zu ersetzen ist, der in dem Konsolenfenster steht (müsste glaub ich der ganze Dateiname sein z.B.: "C:\Users\...\ghost.exe")
    Wo ist Iphigenie?
  • sieht um einiges besser aus aber das dumme ist ich sehe das program.

    1>------ Erstellen gestartet: Projekt: GHOST, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>Überspringen... (keine relevanten Änderungen gefunden)
    1>GHOST.cpp
    1>Das Buildprotokoll wurde unter "file://c:\Users\blubberbong\Documents\Visual Studio 2008\Projects\GHOST\GHOST\Debug\BuildLog.htm" gespeichert.
    1>GHOST - 0 Fehler, 0 Warnung(en)
    ========== Erstellen: 1 erfolgreich, Fehler bei 0, 0 aktuell, 0 übersprungen ==========

    der momentaniger Code ist:

    #include <windows.h>
    #include <conio.h>

    void main(void)
    {
    char Titel[500];
    HWND hWnd = NULL;

    system("Title 500");
    hWnd = FindWindowA(NULL, "ghost.exe");
    ShowWindow(hWnd, SW_HIDE);

    _getch(); // "wartet" jetzt auf Eingabe
    }

    Fakt ist: Der code, das Program dass ich leider immer noch sehe und der Titel hat sich verändert,...
    :(

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von blubberbong ()