

text section of BlackDesert64.exe (Themida renames the. Continue until it tries to load "EasyAntiCheat_圆4.dll" and in 圆4dbg go the. It will now break whenever it tries to load a DLL.
BLACK DESERT ONLINE HACKS .DLL

In 圆4dbg go to "File -> Change Command Line" and append some characters after the executable path.Open bin64\BlackDesert64.exe in 圆4dbg.Make sure you use the ScyllaHide plugin and have the Themida profile enabled.("anti_cheat_activation_address" above is already the address with the offset added).Īs a little side tip, if you have problems dumping the game at its OEP here is how I did it: This function will check if some address + 0x360 is set to 1 and if that's the case, it will try to load EasyAntiCheat.
BLACK DESERT ONLINE HACKS UPDATE
The way to find this address after an update is to string-search for "initializeSecurityModuleSkip". At the moment there is no heartbeat activated for the NA/EU region of the game and it won't kick you from the game. By overwriting the instruction the game client won't try to load EasyAntiCheat and will start normally. Therefore to make it work you have to start "bin64\BlackDesert.exe" and immediately after inject your module and let the code above run in a seperate thread. If (!::VirtualProtect(CAST(void*, anti_cheat_activation_address), sizeof(anti_cheat_activation_instruction), original_page_protection, &original_page_protection))īasically what this snippet does is it waits until the anti cheat activation "set" instruction has been unpacked by Themida and then overwrites the instruction with NOPs. Std::memset(CAST(void*, anti_cheat_activation_address), 0x90, sizeof(anti_cheat_activation_instruction)) If (!::VirtualProtect(CAST(void*, anti_cheat_activation_address), sizeof(anti_cheat_activation_instruction), PAGE_EXECUTE_READWRITE, &original_page_protection)) Static std::uint8_t anti_cheat_activation_instruction = )

Static std::uintptr_t anti_cheat_activation_address = 0x01407F394C
