Seite 1 von 1

PE-Explorer - Wie kann ich 'Import by Ordinal' unterstützen?

Verfasst: 14.03.2018 12:55
von Mijikai
Ich versuche gerade einen PE-Explorer zu schreiben :)
(Dependency Walker...)

Imports mit Namen kann ich ohne Probleme Auflisten.
Jetzt will ich noch Imports mit Ordinals unterstützen.

Ich habe folgenden Code:

Code: Alles auswählen

;PE64

Structure IMAGE_THUNK_DATA64
  StructureUnion
    ForwarderString.i
    Function.i
    Ordinal.i
    AddressOfData.i
  EndStructureUnion
EndStructure

#IMAGE_ORDINAL_FLAG64 = $8000000000000000

;*ITD.IMAGE_THUNK_DATA64 - OriginalFirstThunk Table!

If Bool(*ITD\Ordinal & #IMAGE_ORDINAL_FLAG64)
  Debug "Function imported by Ordinal: " + Hex(*ITD\Ordinal & $FFFF)
EndIf
Ist das so richtig?

Bzw. Wie kann ich es testen?
(Wie kann ich eine Test-Exe mit 'Import by Ordinal' mit PB erstellen !?)

Re: PE-Explorer - Wie kann ich 'Import by Ordinal' unterstüt

Verfasst: 14.03.2018 16:52
von _JON_
Die *.lib entscheidet ob gegen Ordinal oder Name gelinkt wird.

Eine Beispiel .def:

Code: Alles auswählen

EXPORTS
MsiCloseAllHandles
MsiCloseHandle @8

Re: PE-Explorer - Wie kann ich 'Import by Ordinal' unterstüt

Verfasst: 14.03.2018 16:57
von Mijikai
_JON_ hat geschrieben:Die *.lib entscheidet ob gegen Ordinal oder Name gelinkt wird.

Eine Beispiel .def:

Code: Alles auswählen

EXPORTS
MsiCloseAllHandles
MsiCloseHandle @8
Danke für den Hinweis so kann ich zumindest eine Test-Exe mit Ordinal Import erstellen.