Announcement

Collapse
No announcement yet.

Feststellen, ob ein Programm von Delphi aufgerufen wurde

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Du meinst ?

    <pre>

    function GetProcAdr(Module: hModule; Name: PChar): Pointer;
    asm
    XOR ECX,ECX // except frame
    PUSH OFFSET @@6
    PUSH DWord Ptr FS:[ECX]
    MOV FS:[ECX],ESP
    PUSH EBP
    PUSH EBX
    MOV EBP,EDX
    PUSH EDI
    <b> AND EAX,not 3 <--------- </b>
    MOV EDX,[EAX + 03Ch]
    PUSH ESI

    </pre>

    Wären dann nicht die untersten 8 Bits eg. 16 Bits richtiger ?

    Comment


    • #32
      Nein, die unteren beiden reichen, da die an einem Handle nur Flags sind.<br>
      In obigen Beispiel ist es nicht so wichtig.<br>
      Aber lade mal eine Datei per LoadLibraryEx("Xxx.dll", 0, LOAD_LIBRARY_AS_DATAFILE) mit einer Datei, die noch nicht im Speicher ist, ergibt stets ein Handle, das auf $01 endet.<p>
      Wie gesagt geht nur um's Prinzip =)<br>

      Gruß Nic

      Comment


      • #33
        Was bedeuten diese Flags ?

        Comment

        Working...
        X