Tamper DLL Export Names & GetProcAddress Spoofing
Created the Thursday 11 August 2022. Updated 1 year, 2 months ago.
When a process is running, it is possible to change the results of the call to
GetProcAddress API, for the exported functions of a module along with modifying the export's offsets and name at runtime.
For example, the offset of
VirtualAlloc can be change to the offset of another function. When
VirtualAlloc is called (after getting its address from
GetProcAddress), the second function will be called instead.
To achieve this, it is possible to use the WINAPI
ImageHlp.h, then use
ImageDirectoryEntryToData to get the list of exports. Then the
ImageRvaToVa API can be used to retrieve each exported functions names offset; if desired the export name can be overwritten, resulting in calls to
GetProcAddress with that export name to fail or be directed to another function.
Featured Windows API's
Below, you will find a list of the most commonly used Windows API's that are currently utilized by malware authors for current evasion technique. This list is meant to provide an overview of the API's that are commonly used for this purpose. If there are any API's that you feel should be included on this list, please do not hesitate to contact us. We will be happy to update the list and provide any additional information or documentation that may be helpful.