Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

Repository files navigation

🧪 Egui DLL Loader (WIP)

A modern GUI tool built with Rust and egui to inject or manually map DLLs into running processes using classic injection or process hollowing techniques.

✨ Features

  • 🚀 DLL injection via CreateRemoteThread + LoadLibraryW
  • 🧠 Manual process hollowing with custom image mapping
  • 🧬 Exported function resolution via PE parsing
  • 📜 Export viewer for inspecting DLL symbols
  • 🪟 Windows native API integration via windows crate
  • 🎨 UI built with eframe and egui

🛠️ Usage

  1. Run the application:
   cargo run --release
  1. Choose a DLL from your plugin directory.
  2. Select an exported function (like DllMain or test_function).
  3. Inject it into a running process or launch a hollowed process.
  4. Confirm behavior via popups, file logs, or custom payload logic.

⚠️ Notes

  • Manual mapping requires PE32/PE32+ compliant DLLs.
  • Ensure your exported function is a proper entrypoint (e.g., no reliance on loader IAT unless mapped).
  • Hollowed processes must be suspended and launched from trusted binaries (notepad.exe, rundll32.exe, etc.).

🔒 Disclaimer

This tool is for educational and development purposes only. Unauthorized process injection may be considered malicious by antivirus software and violates the terms of use on most systems.

🧩 Example Rust DLL

#[no_mangle]
pub extern "system" fn test_function() {
    let msg = widestring::U16CString::from_str("Test Function Called!").unwrap();
    let title = widestring::U16CString::from_str("Test DLL").unwrap();
    unsafe {
        MessageBoxW(
            std::ptr::null_mut(),
            msg.as_ptr(),
            title.as_ptr(),
            MB_OK,
        );
    }
}

📁 Project Structure

egui_dll_loader/
├── Cargo.toml
├── dll_loader
│   ├── build.rs
│   └── src      
│       ├── inject.rs      # Hollowing + injection logic
│       ├── main.rs        # GUI entrypoint
│       └── processes.rs   # PE parsing (export RVA, sections)
├── rusty_dll
│   └── src
│       └── lib.rs         # Rust DLL to test the loader with

🧠 Future Ideas

  • Reflective DLL injection
  • IAT fixups for full manual mapping
  • Thread hijacking instead of CreateRemoteThread
  • Basic AV evasion research modes

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages