Skip to content
/ FuBi Public

FuBi! Function Binding and Calling for Win32 DLL (Just a fun project!)

Notifications You must be signed in to change notification settings

kerbymart/FuBi

Repository files navigation

Fubi

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.

Project Details

Programming Language: C++
Dependencies: Boost library, DbgHelp library
Compiler: Visual Studio

Architecture

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.

Building the Project

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 .

Running Fubi

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

About

FuBi! Function Binding and Calling for Win32 DLL (Just a fun project!)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published