aboutsummaryrefslogtreecommitdiff
path: root/Exfiltration/mimikatz-1.0/modules/mod_windows.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Exfiltration/mimikatz-1.0/modules/mod_windows.cpp')
-rw-r--r--Exfiltration/mimikatz-1.0/modules/mod_windows.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/Exfiltration/mimikatz-1.0/modules/mod_windows.cpp b/Exfiltration/mimikatz-1.0/modules/mod_windows.cpp
new file mode 100644
index 0000000..a54c5b7
--- /dev/null
+++ b/Exfiltration/mimikatz-1.0/modules/mod_windows.cpp
@@ -0,0 +1,26 @@
+/* Benjamin DELPY `gentilkiwi`
+ http://blog.gentilkiwi.com
+ benjamin@gentilkiwi.com
+ Licence : http://creativecommons.org/licenses/by/3.0/fr/
+*/
+#include "mod_windows.h"
+
+BOOL WINAPI mod_windows::enumHWNDCallback(HWND hwnd, pair<DWORD, vector<mod_windows::KIWI_HWND_ENTRY> *> * mesHWNDS)
+{
+ DWORD processId = 0;
+ if(DWORD threadId = GetWindowThreadProcessId(hwnd, &processId))
+ {
+ if((mesHWNDS->first == 0) || (processId == mesHWNDS->first))
+ {
+ KIWI_HWND_ENTRY monEntree = {hwnd, processId, threadId};
+ mesHWNDS->second->push_back(monEntree);
+ }
+ }
+ return TRUE;
+}
+
+
+bool mod_windows::getHWNDsFromProcessId(vector<mod_windows::KIWI_HWND_ENTRY> * mesHWNDS, DWORD processId)
+{
+ return (EnumWindows(reinterpret_cast<WNDENUMPROC>(enumHWNDCallback), reinterpret_cast<LPARAM>(&make_pair<DWORD, vector<mod_windows::KIWI_HWND_ENTRY> *>(processId, mesHWNDS))) != FALSE);
+} \ No newline at end of file