MCPcopy Index your code
hub / github.com/Kudaes/CustomEntryPoint

github.com/Kudaes/CustomEntryPoint @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
3 symbols 4 edges 2 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Description

This tool will patch the entry point of the input dll and replace it with the RVA of another exported function in that same dll. This allows to select any exported function in the dll as the new entry point.

The main reason to develop this utility is because, at the time this repository is being created, Rust does not allow to compile to a dll with a custom entry point (unless you forgo using the standard library). Anyway, the tool can be used to patch the entry point of a dll written in other languages as well.

Compilation

Since we are using LITCRYPT plugin to obfuscate string literals, it is required to set up the environment variable LITCRYPT_ENCRYPT_KEY before compiling the code:

C:\Users\User\Desktop\CustomEntryPoint> set LITCRYPT_ENCRYPT_KEY="yoursupersecretkey"

After that, simply compile the code and execute it:

C:\Users\User\Desktop\CustomEntryPoint> cargo build --release
C:\Users\User\Desktop\CustomEntryPoint\target\release> entry_point.exe -h

Usage

C:\Users\User\Desktop> entry_point.exe -i c:\path\to\input\file.dll -f ExportedFunctionName -o c:\output\path\file2.dll

Core symbols most depended-on inside this repo

print_usage
called by 1
src/main.rs
main
called by 0
build.rs
main
called by 0
src/main.rs

Shape

Function 3

Languages

Rust100%

Modules by API surface

src/main.rs2 symbols
build.rs1 symbols

For agents

$ claude mcp add CustomEntryPoint \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact