Skip to content
Better version of RunDll with GUI. This program allows you to load DLLs on Windows. You can select how to load the DLL. By direct Entry Point call (DllMain) or if you want to call directly an exported function of the DLL.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LoadDll
Release
TestDll
.gitattributes
.gitignore
LoadDll.sln
README.md
screenshot1.jpg
screenshot2.jpg
screenshot3.jpg
todo.txt

README.md

LoadDll

Better version of RunDll with GUI. This program allows you to load DLLs on Windows. You can select how to load the DLL. By direct Entry Point call (DllMain) or if you want to call directly an exported function of the DLL.

Supported calling conventions

Right now I support stdcall, fastcall and cdecl. Cdecl special: In the new version it will try to auto detect how many arguments the function needs (by counting MOV REG, [EBP +] and PUSH [ebp +]).

Number of arguments

The number of arguments will be disassembled and assumed by LoadDll (RETN instruction). You can always change the number of arguments. I support only up to 5 arguments of a function. The argument types can be selected from: DWORD (numeric argument, support for dec and hex. Hex start with 0x), STR (String in ASCII), STRW (Unicode String) and a PTR (pointer which points to a empty memory allocation).

Usage

Load a DLL in LoadDLL and go on!

Source is made for Visual Studio 2010 and uses Length Disassembly Engine (LDE) by BeatriX and MemoryModule by Joachim Bauch. I made this tool in 2011 and updated it in 2014.

Screenshots

Screenshot of LoadDll with executed user32.dll!MessageBoxW: Main GUI

Screenshot of loading TestDLL in LoadDLL. First argument is a string (filepath) and second one is a DWORD (number of bytes) TestDLL in LoadDLL

New screenshot of the GUI. Now you can check the "Pause before loading DLL (debug)" checkbox if you want to execute an INT 3 before the DLL is loaded or the exported function is executed. TestDLL in LoadDLL 2

Changes

25.06.2014: + added Drag&Drop support + using Unicode API

23.06.2014: + added "Pause before loading DLL (debug)" + added "Function type" to ListView: guess the function type + added "MemoryModule" by Joachim Bauch + bug fixed in LDE function

You can’t perform that action at this time.