Skip to content
Denis Kuzmin (github/3F) edited this page Mar 6, 2025 · 3 revisions

To check export

DllExport tool also provides automatic checking to avoid some errors like this: https://github.com/3F/DllExport/issues/59

You can control this in Wizard or via DllExportPeCheck property:

PE Check IL code

To make sure you get exactly what you expect:

  • PE Check 1:1 0x01 bit - To check count of all planned exports from final PE32/PE32+ module.
  • PE Check IL code 0x02 bit - To check existence of all planned exports (IL code) in actual PE32/PE32+ module.
  • PE Check PE32/PE32+ 0x04 bit - To check module type for PE32 or PE32+ regarding selected architecture.

List of exported functions

Accessing to list of exported functions in modified PE32/PE32+ module can be like:

DllExport -pe -list-all -i {module}

For example:

DllExport -pe -list-all -hex -i bin\assets\Debug\prj\NetfxAsset\x64\NetfxAsset.dll
ord function addr
1 add 0x00003a92
4 callme 0x00003a9e
8 free 0x00003aaa
5 getStructExarg 0x00003ab6
6 getUnalignedStruct 0x00003ac2
7 pass 0x00003ace
3 passBuffered 0x00003ada
2 throwException 0x00003ae6

To iterate each function using basic batch script you can for example:

@echo off
for /f "usebackq delims= " %%a in (`DllExport -pe -list -i bin\assets\Debug\prj\NetfxAsset\x64\NetfxAsset.dll`) do (
    echo ["%%a"]
)
["add"]
["callme"]
["free"]
["getStructExarg"]
["getUnalignedStruct"]
["pass"]
["passBuffered"]
["throwException"]

Note: You can check personally bin\assets\Debug\prj\NetfxAsset\x64\NetfxAsset.dll from example above after build, like:

git clone https://github.com/3F/DllExport.git DllExport
cd DllExport & .\build Debug
DllExport -packages bin\assets -dxp-version actual -pe -list-all -hex -i bin\assets\Debug\prj\NetfxAsset\x64\NetfxAsset.dll

DllExport -packages bin\assets -dxp-version actual -pe -list-all -hex -i bin\assets\Debug\prj\NetCoreAsset\net8.0\x64\NetCoreAsset.dll

1 touch 0x00025452

To see other available keys for working with PE:

DllExport -pe -help
Clone this wiki locally