-
-
Notifications
You must be signed in to change notification settings - Fork 134
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: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.
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
Except where otherwise noted, wiki content is licensed under a Creative Commons Attribution 4.0 International License. (CC BY 4.0).
🗎
- 🗎 Home
- 🚀 Quick start
- 🗎 .Net Core
- 🗎 Export
- 🗎 Pre-processing
- 🗎 Conari
- 🗎 ILMerge & ILRepack
- 🗎 [x]AssemblyResolve
- 🗎 Post-processing
- 🗎 Examples
- 🗎 C++ and C# ([+]📹)
- 🗎 string & struct ([+]📹)
- 🧪 Demo
🗔
📂
- 🔍 Q / A