module eines prozesses auflisten ( ohne toolhelpsnapshot )



  • hallo

    Ich suche eine methode um module die in einem Prozess geladen sind aufzulisten.
    Toolhelpsnapshot kann ich nicht verwenden - vermutlich wird das modul welches ich suche durch einen hook vor toolhelpsnapshot verborgen.

    unsicher bin ich mir bei
    EnumProcessModules
    ich glaub die psapi funktioniert nur unter windows nt.
    brauche das aber für winxp und drum herum.

    ich frage mich auch, ob ich das nicht dirrekt aus dem prozessraum des programms lesen kann.
    ich bin mir aber nicht so sicher wohin die .dll s überhaupt geladen werden. Ohne toolhelp weiß ich nicht wie ich .dlls in einem prozess lokalisieren kann.

    hat jemand eine idee?
    bzw. funktioniert EnumProcessModules vielleicht doch?.

    lg
    Verucca



  • Die funktioniert genau unter alten NT-Versionen nicht, ansonsten laut MSDN aber unter so gut wie jeder Windows-Version:
    http://msdn2.microsoft.com/en-us/library/ms682489.aspx



  • hm danke für die antwort.
    aber ich hab mich entweder nicht klar ausgedrückt oder du hast meine Frage nicht gelesen.

    Ich wollte fragen welche methoden es noch gibt module eines Prozesses aufzulisten ausser der von createtoolhelpsnapshot.

    hierzu wollte ich wissen ob psapi unter winxp oder win2000 ( von vista weiß ich noch garnichts ) verwendbar ist.
    bzw. ob man nicht dirrekt im prozess die .dlls ermitteln kann die geladen sind.

    bei funktionen kann man sich ja vom header her durch hanteln - die frage ist ob das mit geladenen modulen auch möglich ist (werden ja dynamisch geladen bzw. per hook eingefügt).

    ist das jetzt etwas klarer?

    lg
    Verucca

    Edit:
    nagut es scheint einfach so, als hätte ich mich geirrt - psapi dürfte nur unter win9x nicht funktionieren - nt/xp/2000 dürfte das eh gehen.

    jedenfalls wäre es trotzdem interessant ob man geladene .dll files auch dirrekt im prozess auslesen könnte.


Anmelden zum Antworten