| Crates.io | arxan-disabler |
| lib.rs | arxan-disabler |
| version | 0.2.1 |
| created_at | 2025-03-12 23:47:48.473579+00 |
| updated_at | 2025-08-07 14:34:28.064475+00 |
| description | (Deprecated, use `dearxan` instead) Neuters Arxan in FromSoftware titles |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1590321 |
| size | 93,021 |
This project is no longer being developed or maintained. A full rewrite that supports all FromSoftware games is available here.
Provides a Rust library and static library with C bindings to disable the Arxan anti-debug/DRM from FromSoftware games.
At the moment, only the latest Dark Souls Remastered is supported, but support for Dark Souls III,
Elden Ring and Armored Core VI is also on the roadmap.
The crate is feature gated and supports the following:
ffi: Exports FFI-compatible functions to be used by foreign code linking to the static library.
Required if building the static library for a non-Rust project.disabler: Includes code for disabling Arxan at runtime, performing all required patches.
Without this feature, the crate can only be used statically.disabler-debug: Like disabler, but instruments the Arxan stubs will logging calls that
trigger when the stub is first executed. May be useful for reverse engineering.Rust (feature disabler needs to be enabled)
#[cfg(feature = "disabler")]
unsafe fn my_entry_point() {
use arxan_disabler::disabler::{ArxanDisabler, DSRArxanDisabler};
DSRArxanDisabler::disable(|| {
println!("Arxan disabled!");
// This is a good place to do your hooks.
// Once this callback returns, the game's true entry point
// will be invoked.
});
}
C/C++, via static linking (features disabler and ffi need to be enabled):
#include <iostream>
#include "arxan_disabler.h"
void my_entry_point() {
const char* context = "Arxan disabled!";
disable_arxan_dsr([](void* ctx){
std::cout << reinterpret_cast<char*>(ctx) << std::endl;
}, context);
}