-
-
Notifications
You must be signed in to change notification settings - Fork 144
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:

To make sure you get exactly what you expect:
-
PE Check 1:10x01 bit - To check count of all planned exports from final PE32/PE32+ module. -
PE Check IL code0x02 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.
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.dllDllExport -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
Except where otherwise noted, wiki content is licensed under a Creative Commons Attribution 4.0 International License. (CC BY 4.0).
π
- π Home
- π Quick start
- π First function
- π Data types
- π .Net Core
- π Export
- π Pre-processing
- π Conari
- π ILMerge & ILRepack
- π [x]AssemblyResolve
- π Post-processing
- π Examples
- π C++ and C# ([+]πΉ)
- π string & struct ([+]πΉ)
- π§ͺ Demo
π
- π DllExport Manager
π
- π Q / A