AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Dll eines Prozesses nach Strings durchsuchen
Thema durchsuchen
Ansicht
Themen-Optionen

Dll eines Prozesses nach Strings durchsuchen

Ein Thema von Metal_Snake2 · begonnen am 25. Apr 2008
Antwort Antwort
Metal_Snake2

Registriert seit: 19. Nov 2004
134 Beiträge
 
Delphi 7 Personal
 
#1

Dll eines Prozesses nach Strings durchsuchen

  Alt 25. Apr 2008, 11:18
hi,

ich möchte gerne die Module eines Ausgeführten Prozesses nach Strings durchsuchen, jeoch möchte ich nicht über den Dateipfad die Datei durchsuchen sondern würde ich gerne den Speicher des Modules nach Strings durchsuchen.

Mit dieser Methode aus diesem Link kann man einen Stream nach Strings durchsuchen : Klack

Meine Frage ist jetzt: Wie kann ich den Speicherbereich einer DLL Datei die im Speicher eines Prozesses liegt jetzt öffnen und mit der Obigen Methode nach Strings durchsuchen.

Mit folgenden code durchsuche ich einen Ausgeführten Process nach einer Dll:
Delphi-Quellcode:
function TUtils.GetModuleStrings(const modulefilename: string): TStringlist;
var
  hProcSnap : THandle;
  hModuleSnap: THandle;
  pe32 : TProcessEntry32;
  me32 : TModuleEntry32;
  str : TStringlist;
begin
  hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS or TH32CS_SNAPTHREAD, 0);
  if hProcSnap = INVALID_HANDLE_VALUE then exit;

  pe32.dwSize := SizeOf(ProcessEntry32);

  if Process32First(hProcSnap, pe32) = true then
    begin
      while Process32Next(hProcSnap, pe32) = true do
        begin
          hModuleSnap := CreateToolHelp32SnapShot(TH32CS_SNAPMODULE, pe32.th32ProcessID);
          if hModuleSnap = INVALID_HANDLE_VALUE then continue;

          me32.dwSize := SizeOf(ModuleEntry32);
          if Module32First(hModuleSnap, me32) = true then
            begin
              while Module32Next(hModuleSnap, me32) = true do
                begin
                  if (trim(lowercase(me32.szModule)) = trim(lowercase(modulefilename))) then
                    begin
                      str := TStringlist.create;
                      try
                      //TODO Speicher des Modules nach Strings durchsuchen und in die Stringliste Hinzufügen
                      finally
                        str.free;
                      end;
                      break;
                  end;
              end;
          end;
      end;
  end;
end;
Ich hoffe mir kann jemand weiterhelfen

Danke fürs lesen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz