Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prozess verstecken / Win7x64 (https://www.delphipraxis.net/173377-prozess-verstecken-win7x64.html)

Medium 21. Feb 2013 21:22

AW: Prozess verstecken / Win7x64
 
Sahne, da hab' ich jemanden angefixt :mrgreen: Nochmals heissen Dank!

Mit 64bit. Wie ist das da? Kann ich nur 32bit Prozesse verstecken, oder kann ich nur auf einem 32bit Windows Dinge damit verstecken? Also an welcher Seite schlägt da die Einschränkung zu?

Aphton 21. Feb 2013 21:44

AW: Prozess verstecken / Win7x64
 
Zitat:

Zitat von msdn
SetWindowsHookEx can be used to inject a DLL into another process. A 32-bit DLL cannot be injected into a 64-bit process, and a 64-bit DLL cannot be injected into a 32-bit process. If an application requires the use of hooks in other processes, it is required that a 32-bit application call SetWindowsHookEx to inject a 32-bit DLL into 32-bit processes, and a 64-bit application call SetWindowsHookEx to inject a 64-bit DLL into 64-bit processes. The 32-bit and 64-bit DLLs must have different names.

Ich kann es nur in der 32 bit Version kompilieren, dadurch und wegen der Funktionsweise (siehe Msdn Erläuterung) kann ich damit nur 32 bit Prozesse hooken.
Falls dein Kompiler 64 kompilieren kann und letzendlich die Dll 64 bit ist, funktioniert es (nur) mit 64 bit Prozessen.

Medium 21. Feb 2013 21:55

AW: Prozess verstecken / Win7x64
 
Was ich meine ist: Unser Programm ist 32bit. Es läuft aber auf einem 64bit Windows. Kann ich das Programm dann hiermit verstecken?

Aphton 21. Feb 2013 22:09

AW: Prozess verstecken / Win7x64
 
Kurz: Jein!

Ein 32 Bit Prozess kann keine 64 Bit Dynamic-Link-Libraries (Dlls) laden, das muss aber geschehen, damit die Anwendung die Hooks installieren kann!

Du könntest das ganze "überbrücken" - du kannst einen Hook-installer (ne 64 Bit Exe) programmieren, der das System hookt. Das ginge - dafür müsstest du nicht einmal großartig
viel an eurem Projekt/Produkt ändern.

[Euer Produkt |32 Bit] - ruft auf - [HookInstaller mit best. Parametern|64 Bit] >setzt globalen hook

Ach noch etwas, was du unbedingt berücksichtgen solltest.
Dieser Hook modifiziert nur die zur Ausgabe ermittelten Prozesse!
Man kann immernoch locker per Cmd Befehl ala~
cmd /C taskkill /F /IM IrgendEinProzess.exe
Prozesse killen.

Ich hab halt rausgefunden, wie man den Prozess ausm TaskMgr wegbekommt, du müsstest, sofern du es nicht killbar machen willst, rausfinden,
welche APIs da systemintern verwendet werden und diese dann hooken und modifizieren!

Medium 21. Feb 2013 22:11

AW: Prozess verstecken / Win7x64
 
Okay, dann brauche ich nur noch einen 64bit Compiler :D (Könnte das eine .NET Anwendung machen?) Wenn ich zu viel frage, hau mir ruhig auf die Finger.

Aphton 21. Feb 2013 22:23

AW: Prozess verstecken / Win7x64
 
Ich habe absolut keine Erfahrung mit .NET. Sry :(
Google sagt mir, dass es Unterschiede zwischen normalen & .Net Dlls gibt.

Vlt. kennt sich da jem. besser aus?

lbccaleb 21. Feb 2013 22:27

AW: Prozess verstecken / Win7x64
 
Zitat:

Zitat von Medium (Beitrag 1204703)
Okay, dann brauche ich nur noch einen 64bit Compiler :D (Könnte das eine .NET Anwendung machen?) Wenn ich zu viel frage, hau mir ruhig auf die Finger.

Nichts leichter als daas:

http://www.pilotlogic.com/sitejoom/i...yphon-download

In Codetyphon ist unteranderem Lazarus 1.1 enthalten. Und das besotzt auch einen 64Bit Compiler.

Einfach runterladen, entpacken und dann das Setup starten. Hilfe dazu gibt ess auch auf der Seite.

JamesTKirk 22. Feb 2013 09:32

AW: Prozess verstecken / Win7x64
 
Zitat:

Zitat von Medium (Beitrag 1204703)
Okay, dann brauche ich nur noch einen 64bit Compiler :D (Könnte das eine .NET Anwendung machen?) Wenn ich zu viel frage, hau mir ruhig auf die Finger.

Für ein einfaches Hooking Tool solltest du (falls du ansonsten in Delphi arbeitest) einfach Free Pascal verwenden können. Dort gibt es einen Win32 => Win64 Cross Compiler im Downloadbereich (sogar der ganz frische 2.6.2 ;) ). Die meisten Spezialunits für Windows werden übrigens über die Jedi Units (jwa...) bereitgestellt (falls du bestimmte Funktionen nicht finden solltest).

Gruß,
Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz