Hey zusammen, ich habe eine Frage undzwar suche ich ein Befehl wie ich ein Programm finde, der nicht über Findwindow verläuft.
Vielleicht durch den Exennamen selbst, aber selbst dort könnte man die exe einfach umbenennen, deswegen suche ich etwas was man nicht so leicht ändern kann.
Irgendeine erkennbare Struktur eines Programmes, Prozess oder sonstiges.
Undzwar möchte ich um es genauer zu erläutern das mein Programm alle 7 sek einen Suchlauf durchführt das nach einer bestimmten Datei (Cheat Engine) sucht, halt nicht über Findwindow, falls er es nicht findet passiert nix und wenn er es findet schließt sich mein Program.
Mach nen Snapshot von allen aktiven Prozessen (CreateToolhelp32Snapshot) und such dann nach nem Pattern in den Prozessen. Oder lies die Executables mit ReadFile ein und erstell nen Hash. Wenn er mit dem von CE übereinstimmt -> Treffer
Hook NtOpenProcess und schau, ob es dein Prozess ist, für den das Handle erstellt werden soll. Gibt ne Menge Möglichkeiten.
Oder du treibst das mit ReadFile etwas weiter und überprüfst nicht nur den Hash, den kann man ändern. Du könntest nach den typischen Modulen suchen, in der Exe nach typischen Strings etc etc
Deiner Fantasie sind kaum Grenzen gesetzt :P
Oder du alloziierst eine neue Memory Page, lässt sie ohne darauf zuzugreifen im Speicher und rufst dauernd QueryWorkingSet für sie auf, dann guckst du ob sie bereits initialisiert wurde. Wenn ja, hat irgendwas darauf zugegriffen (z.B. ReadProcessMemory / WriteProcessMemory) und nen Page-Fault ausgelöst und die Page wurde physikalisch initialisiert.
Dann kannst zumindest nicht mehr im Prozess nach irgendwas suchen.
Ist aber sehr anfällig wenn z.B. nen bösen Treiber oder Antivirus-Software hast.
Mit ein bisschen Fantasie lässt sich damit eine wunderbare Debugger Detection draus machen.
[C++] FindWindow Fehler 04/28/2012 - C/C++ - 4 Replies Hi Leute,
Ich wollte in C++ aus langeweilge ein Tool machen das Value aus einem Prozess auslesen kann. Die Funktion sollte soweit gehen nur bei mir will die FindWindow Funktion nicht so ganz.
Hier mal ein Teil des Codes:
HWND hwnd;
HANDLE handle;
DWORD ID;
LPCTSTR lpWindowName = L"Prozess name";
problem bei FindWindow 11/14/2011 - General Coding - 4 Replies Hallo Leute ich hab da nen kelines Problem,
Ich habe folgendes Problem mit der FindWindow()-Funktion und hoffe, dass ihr mir da weiterhelfen könnt:
und zwar meldet mein Compiler bei : hwnd = FindWindow(NULL, L"fenster"); immer 2 Fehler:
error LNK2028: Nicht aufgelöstes Token (0A00032D)
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
Woran liegt das?
[C++]Problem FindWindow 05/02/2011 - C/C++ - 21 Replies hey wie der titel schon sagt hab ich ein problem mit findwindow
unzwar immer wenn ich 4story_gsp ( fenstername von 4story spiel )
aufrufen will hwnd = FindWindow(0,L"4Story_GSP");
setzt sich der processhandel auf 0000000000 bei anderen processen geht das ohne probleme nur da nicht liegt es vllt an dem _ oder an was anderes ? bitte um ein paar ideen voran es liegen könnte :P
[C++]FindWindow findet nichts. 09/13/2010 - C/C++ - 18 Replies http://www.paste-code.com/paste.php?id=kbC95ZHRry
Aber sobald ich zum Beispiel :
FindWindow(NULL,"PVP.net-Client") angebe, findet er es und gibt mir dann die HWND aus.
Wo liegt das problem?
Ich hab es auch schon so:
FindWindow("\\„League of Legends\\“-Startprogramm - 1,0,0,31 - ", NULL); versucht, geht trozdem nicht :/
Kal FindWindow help 12/15/2008 - Kal Online - 2 Replies yup, what the title is saying, i'm trying to find the window of kalonline ... but failed.... dont work idk why, name is correct.... hope someone can help
Source:
// Basic Include's
#include <windows.h>
#include <iostream>
// The Namespace