Skip to content

LoadLibraryW/BNSBoost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BNSBoost Build status

BNSBoost is a simple loader for starting NCSoft's Blade and Soul. Not endorsed by them in any way, shape, or form; Blade and Soul, etc. are all trademarks of NCSoft.

BNSBoost bypasses NCSoft's file verification, so you can run a patched game straight from the official launcher.

Installation

Grab a release, and unzip! If you like living life on the edge, you can also pick up the latest build from AppVeyor.

Your antivirus might complain since BNSBoost does some sketchy stuff (see below) to run, in which case you'll have to whitelist BNSBoost before proceeding. If you're jumpy about security, you can always compile it from the source in this repository yourself.

Usage

Just run the BNSBoost.exe you got from the release archive!

Using BNSBoost to run patched files

When using the built-in DAT editor, BNSBoost takes care of patching details iteslf.

Before you patch any file, navigate to its directory first, and create a subdirectory called unpatched, then copy the file(s) you wish to patch into unpatched. Then, you can use whatever game file editor you wish to patch the files however you wish. BNSBoost will make the game launcher read from the unpatched folder, while the regular game client will read from the regular folder.

This'll trick the launcher's verifier into thinking you're running an unmodified game, and allow the game to start. The game does no further verification.

You can use this to run your own version of xinput.dll, run custom voice packs, and so on.

How it works

The code itself is pretty short and fairly easy to follow, but in general:

  • BNSBoost detects your launcher path from the registry
  • Launches it suspended
  • Writes the agent DLL into the memory of the launcher, and runs it
    • At this point there will likely be an audible beep, and BNSBoost can be safely closed
  • Unsuspends the game; NCSoft login page shows up
  • The agent modifies the game's import address table (IAT)
    • Redirects all calls to CreateFile, CreateProcess and LoadLibrary
    • Relevant calls to CreateFile are sourced from the unpatched directory
    • CreateProcess hook adds no texture streaming and use all CPU core flags to the game
    • LoadLibrary hook applies the CreateFile hook to any libraries loaded later

The injection procedure itself is mostly sourced from the DMOJ's Windows sandbox, which is also open source.

BNSBoost never touches the game client (Client.exe), only its launcher.

Reporting an issue

I should say that I wrote this project for myself, and it works for me — in that sense, the goal of this project is complete. However, since I figure this may be useful for others, I'll be happy to provide a best-effort attempt at helping out with any errors caused by BNSBoost.

You can use the ticket tracker to report issues, and I'll probably get to them fairly quickly.

Where possible, include a copy of your log.txt from the folder containing BNSBoost. If that's not possible because BNSBoost is crashing too early (e.g., a flickering black window), open an administrator command prompt, cd to your BNSBoost directory, and run BNSBoost.exe from there. There'll probably be some extra info printed there.

Good luck!

About

A simple launcher for Blade & Soul patches. Working as of the Fire and Blood game update.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors