Skip to content

Challenge of implementing Pengu Core in Rust 🦀

License

Notifications You must be signed in to change notification settings

PenguLoader/pengu-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pengu-rust

Challenge of implementing Pengu Core in Rust 🦀

The choice of programming language for a core library is a matter of preference and practicality. The key is to leverage the language's strengths to create a robust, efficient, and maintainable library that seamlessly integrates into the application's ecosystem.


Why Rust?

  • UTF-8 strings
  • Filesystem support
  • C++ FFI & bindgen
  • Mono codebase for cross-platform

Achievements

  • Bootstrapper
    • IFEO mode
    • Symlink mode
  • Handmade hooks
  • Plugin assets
  • Custom imports
  • Preload scripts
  • Basic user plugins
  • Cross-platform
    • Windows
    • macOS

Development

Your pull-requests are welcome!

Refer to Pengu Loader source code.

Rust Bindgen is a good thing to generate bindings from C++ headers, see the build.rs.

A new Pengu docs will release soon to help you to understand the architecture and how it works.

Building

cargo build

To build in production mode, just add --release to the command above.

Installing

After your successful build, you will see the core.dll in the folder target/debug or target/release according to your build mode above. This DLL is compatible with the current Pengu Loader app, so you just replace it in the app folder.

If you prefer to manual install using IFEO method, run this command in elevated cmd.

set "dval=rundll32 \"path\to\core.dll\", #6000"
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\LeagueClientUx.exe" /v Debugger /t REG_SZ "%dval%"

Debugging

Use lldb or VSCode extension to attach to the running LeagueClientUx.exe or LeagueClientUxRenderer.exe.

About

Challenge of implementing Pengu Core in Rust 🦀

Topics

Resources

License

Stars

Watchers

Forks