Fubi is a command-line utility for calling functions from a dynamic-link library (DLL). It loads a DLL, instantiates a Fubi object, and calls functions from the DLL using the Fubi object's function table.
Programming Language: C++
Dependencies: Boost library, DbgHelp library
Compiler: Visual Studio
The Fubi project consists of the following files:
Fubi.h
: Header file for the Fubi class, which contains the function table and methods for calling functions from a DLL.Fubi.cpp
: Implementation file for the Fubi class.SysExports.h
: Header file for the SysExports class, which handles the import and management of functions in a DLL.SysExports.cpp
: Implementation file for the SysExports class.SignatureParser.h
: Header file for the SignatureParser class, which parses function signatures using the Boost Spirit library.SignatureParser.cpp
: Implementation file for the SignatureParser class.DbgHelpDll.h
: Header file for the DbgHelpDll class, which loads the DbgHelp library and provides methods for unmangling function signatures.DbgHelpDll.cpp
: Implementation file for the DbgHelpDll class.stdafx.h
: Standard include file for precompiled headers.stdafx.cpp
: Source file that includes just the standard includes and generates the precompiled header.fubimain.cpp
: Main entry point for the Fubi application.CMakeLists.txt
: CMake build configuration file for this project. Contains the necessary commands and settings for building the project using CMake.
To build the Fubi project, you will need to have CMake installed. Then, follow these steps:
- Open a command prompt and navigate to the directory where the Fubi source files are located.
- Run the cmake command to generate the necessary build files for your platform, specifying the path to the source directory as the argument:
$ mkdir build
$ cd build
$ cmake -A Win32 ..
$ cmake --build .
To run fubi.exe and load a DLL, open a terminal window and navigate to the directory where the executable is located. Then run the following command, replacing "path/to/dll" with the path to the DLL you want to load:
$ fubi.exe path/to/dll