All Projects → LoadLibraryW → BNSBoost

LoadLibraryW / BNSBoost

Licence: GPL-3.0 license
A simple launcher for Blade & Soul patches. Working as of the Fire and Blood game update.

Programming Languages

C#
18002 projects
C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
assembly
5116 projects

Projects that are alternatives of or similar to BNSBoost

Truckersmp Cli
A simple launcher for truckersMP to be used with wine
Stars: ✭ 111 (+484.21%)
Mutual labels:  mod, launcher
MPPatch
Patch for Civilization V to allow modded multiplayer. Currently under development.
Stars: ✭ 31 (+63.16%)
Mutual labels:  mod, patch
FlySkyRxFirmwareRssiMod
Patched firmwares for the various FlySky receivers to inject RSSI in IBUS channel 14
Stars: ✭ 96 (+405.26%)
Mutual labels:  mod, patch
Gdlauncher
GDLauncher is a simple, yet powerful Minecraft custom launcher with a strong focus on the user experience
Stars: ✭ 386 (+1931.58%)
Mutual labels:  mod, launcher
KanColle-English-Patch-KCCP
English Patch for the original KanColle browser game, to be used with KCCacheProxy. Translates most of the game into english.
Stars: ✭ 28 (+47.37%)
Mutual labels:  mod, patch
ffapi-project
A project containing all Fast Food related APIs and other things.
Stars: ✭ 21 (+10.53%)
Mutual labels:  mod, patch
equine
Mod manager/launcher for Diablo 1
Stars: ✭ 27 (+42.11%)
Mutual labels:  mod, launcher
wcwidth-icons
Support fonts with double-width icons in xterm/rxvt-unicode/zsh/vim/…
Stars: ✭ 36 (+89.47%)
Mutual labels:  patch
MC-Remapper
Deobfuscator for Minecraft by mapping json
Stars: ✭ 104 (+447.37%)
Mutual labels:  mod
software-inc-multiplayer
A multiplayer mod for Software Inc written in C# for Unity.
Stars: ✭ 17 (-10.53%)
Mutual labels:  mod
Presence-Footsteps
An overly complicated footstep sound enhancement mod for Minecraft
Stars: ✭ 79 (+315.79%)
Mutual labels:  mod
factorio-example-mod
Lightweight modular example mod with various features and compatibilities
Stars: ✭ 15 (-21.05%)
Mutual labels:  mod
Wox
Launcher for Windows, an alternative to Alfred and Launchy.
Stars: ✭ 158 (+731.58%)
Mutual labels:  launcher
The-Aether
The original "The Aether" mod, rewritten to be ported to Minecraft 1.18 and beyond.
Stars: ✭ 85 (+347.37%)
Mutual labels:  mod
AutoUpdater
AutoUpdater :: Automatic Mindustry updater mod.
Stars: ✭ 12 (-36.84%)
Mutual labels:  mod
FactorioMods
Various mods for the game Factorio
Stars: ✭ 12 (-36.84%)
Mutual labels:  mod
Gravillaso
Mod on Mindustry V7 | GRavillaso by NiTiS & NickName73
Stars: ✭ 31 (+63.16%)
Mutual labels:  mod
WoW-Launcher
A game launcher for World of Warcraft that allows you to connect to custom servers.
Stars: ✭ 56 (+194.74%)
Mutual labels:  launcher
go-gitdiff
Go library for parsing and applying patches created by Git
Stars: ✭ 41 (+115.79%)
Mutual labels:  patch
DeepCD
[ICCV17] DeepCD: Learning Deep Complementary Descriptors for Patch Representations
Stars: ✭ 39 (+105.26%)
Mutual labels:  patch

BNSBoost Build Status Releases Chat on Discord

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.

        

        

It features options for:

  • Enabling game to use all cores
  • Disabling texture streaming
  • Disabling loading screens
  • Disabling XIGNCODE3
  • Enabling multi-client support
  • Autopatching common XML edits (DPS meter, AFK check, etc.)
  • Arbitrary game XML edits
  • Custom mods (voice packs, etc.)
  • Randomized splash changing
  • Forcing the default launcher to open up with BNSBoost

Downloads

Latest stable build — you probably want this.

Unstable builds — don't file bug reports regarding these builds, but feel free to mention them in Discord.

Usage

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

We also maintain a wiki on using BNSBoost. Some topics you may be interested in:

FAQ

My antivirus complains about your binaries!

Your antivirus might complain since BNSBoost's launcher hooking can match its malware definitions, 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.

Most antiviruses are alright with it, though.

Can I be banned using this?

Absolutely! The use of any 3rd-party tools to run the game is strictly against NCSoft's EULA, and could land you a ban. But if you've already been using a 3rd-party launcher, this isn't really any different.

But you're using injection! Isn't that more likely to get me banned?

I figure half the reason people shy away from injection is that it sounds like you're getting a flu shot, and relate that unpleasant experience to what's going on in the launcher. However, injection is a pretty common practice in tools that interface with games nowadays.

So let's be clear: if you're using Discord, Steam, TeamSpeak, etc., you're already injecting into Blade and Soul. These tools inject into the game to provide things like overlays. Though, they avoid mentioning words like "injection" or "hooking" to avoid sounding scary.

Now, many anti-cheats know these platforms inject, and may have whitelists for them. However, if you've enabled client-injecting features, you have already disabled XIGNCODE3. The launcher is not protected by any anti-cheat, so there's no concern regarding the base functionality of BNSBoost ceasing to work if NCSoft decides to switch off XIGNCODE3 to another anti-cheat.

So what's being injected?

Feature Launcher Client
Extra game flags ✔️
XML patching ✔️
Modding ✔️
Splash changing ✔️
XIGNCODE3 bypass ✔️ ✔️
Multi-client enabling ✔️ ✔️

How it works

There's a bunch of files included alongside BNSBoost that are necessary for it to function. Below is a brief overview of what each does.

inject32.exe / inject64.exe

Writes a DLL into a given process' memory. BNSBoost uses these to write agent DLLs into either the launcher or the client.

agent_launcher.dll

Injected into NCLauncherR.exe by BNSBoost. Sets up two hooks:

  • CreateFileW hook

    Used to bypass file verification by redirecting calls to the unpatched directory, when it exists.

  • CreateProcessW hook

    Used to add client flags (-UNATTENDED, -NOTEXTURESTREAMING, -USEALLAVAILABLECORES) when the launcher spawns the client. If bypassing XIGNCODE3, launches inject32.exe or inject64.exe (depending on client bitness) to inject agent_client32.dll or agent_client64.dll into the client.

agent_client32.dll / agent_client64.dll

Injected into Client.exe by the agent_launcher.dll's CreateProcessW hook. Sets up three hooks:

  • LoadLibraryW hook

    Detects if the client is trying to load x3.xem or xcorona_x64.xem, and if so redirects the library to our patched ones instead.

  • CreateMutexW hook

    Used for multi-client support. The game creates a named mutex "BnSGameClient" to prevent multiple instances from starting; this hook strips the name from it and allows further clients to be started.

  • CreateFileW hook

    The client grabs exclusive access to xml[bit].dat / config[bit].dat, which causes clients to exit with "corrupt game file" messages even if the mutex is patched out. This hook is used to ensure that exclusive access cannot be obtained on any file used by the client, downgrading to sharing read access.

wtsapi32_nclauncher.dll

Copied into the launcher's directory as wtsapi32.dll, it warns you if you're launching NC Launcher without BNSBoost (as this would destroy any patches you have applied). It can also be configured to launch BNSBoost unconditionally, without first prompting. The showing of this warning can be toggled in BNSBoost's Settings tab.

x3.xem / xcorona_x64.xem

VirtualPuppet/XignCode3-bypass built for 32-bit and 64-bit targets, respectively.

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.

Good luck!

Contributors

  • @LoadLibraryW, current maintainer
  • @Xyene, initial author and managing releases/documentation
  • @zeffy, basically a well of BNS internals knowledge

Acknowledgements

BNSBoost wouldn't have been possible without the help or inspiration from:

  • @mrexodia's x64dbg tool
  • @Evengard for his now-defunct "bnsnogg" project
  • @ronny1982 for his original work on bnsdat reversing, LokiReborn for their initial C# port of it
  • Sysinternals for their forum resources and procexp/procmon utilities
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].