1.4 Beta support
This commit is contained in:
parent
0c9a1e61c7
commit
bac8d2277f
6 changed files with 37 additions and 21 deletions
20
Cargo.lock
generated
20
Cargo.lock
generated
|
@ -17,6 +17,14 @@ version = "2.6.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
||||
|
||||
[[package]]
|
||||
name = "camellya-patch"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ilhook",
|
||||
"windows",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iced-x86"
|
||||
version = "1.21.0"
|
||||
|
@ -61,9 +69,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
|||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.86"
|
||||
version = "1.0.87"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
|
||||
checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
@ -106,14 +114,6 @@ version = "0.8.5"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "shorekeeper-patch"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ilhook",
|
||||
"windows",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.79"
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
[package]
|
||||
name = "shorekeeper-patch"
|
||||
name = "camellya-patch"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
name = "shorekeeper"
|
||||
name = "camellya"
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[features]
|
||||
cn_beta_1_4_0 = []
|
||||
cn_beta_1_3_0 = []
|
||||
cn_live_1_3_0 = []
|
||||
os_live_1_3_0 = []
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# shorekeeper-patch
|
||||
# camellya-patch
|
||||
|
||||
PAK files signature check bypass for Wuthering Waves 1.3 beta
|
||||
PAK files signature check bypass for Wuthering Waves 1.4 beta
|
||||
|
||||
### How to use
|
||||
Just inject it at early startup.
|
||||
|
|
|
@ -5,7 +5,7 @@ GOTO:MAIN
|
|||
cargo clean
|
||||
cargo build --release --no-default-features -F %~1
|
||||
set features=%~1:,=-%
|
||||
COPY target\release\shorekeeper.dll build\shorekeeper-%~1.dll
|
||||
COPY target\release\camellya.dll build\camellya-%~1.dll
|
||||
cargo clean
|
||||
ENDLOCAL
|
||||
EXIT /B 0
|
||||
|
@ -15,6 +15,8 @@ if exist "build" rd /q /s "build"
|
|||
mkdir build
|
||||
cargo clean
|
||||
|
||||
: Build for cn_beta_1_4_0
|
||||
call:cargoReleaseBuild cn_beta_1_4_0
|
||||
: Build for cn_beta_1_3_0
|
||||
call:cargoReleaseBuild cn_beta_1_3_0
|
||||
: Build for cn_live_1_3_0
|
||||
|
@ -22,4 +24,4 @@ call:cargoReleaseBuild cn_live_1_3_0
|
|||
: Build for os_live_1_3_0
|
||||
call:cargoReleaseBuild os_live_1_3_0
|
||||
|
||||
tar -acvf shorekeeper-patch-win64.zip -C build
|
||||
tar -acvf camellya-patch-win64.zip -C build .
|
|
@ -21,7 +21,7 @@ fn thread_func() {
|
|||
|
||||
println!("Waiting for ACE init");
|
||||
let module = unsafe { GetModuleHandleA(PCSTR::null()) }.unwrap();
|
||||
let pak_file_offset = ((module.0 as usize) + CONFIG.f_pak_file_check) as *const u128;
|
||||
let pak_file_offset = ((module.0 as usize) + CONFIG.f_pak_file_check) as *const u64;
|
||||
loop {
|
||||
if unsafe { std::ptr::read(pak_file_offset) } == CONFIG.f_pak_file_check_preamble {
|
||||
println!("ACE Initialization finished");
|
||||
|
|
|
@ -10,16 +10,29 @@ pub(crate) struct DisableSdkConfiguration {
|
|||
|
||||
pub(crate) struct InjectConfiguration {
|
||||
pub(crate) f_pak_file_check: usize,
|
||||
pub(crate) f_pak_file_check_preamble: u128,
|
||||
pub(crate) f_pak_file_check_preamble: u64,
|
||||
pub(crate) kuro_http_get: usize,
|
||||
#[cfg(not(feature = "enable-sdk"))]
|
||||
pub(crate) disable_sdk: DisableSdkConfiguration,
|
||||
}
|
||||
|
||||
#[cfg(feature = "cn_beta_1_4_0")]
|
||||
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||
f_pak_file_check: 0x3E37D90, // 0x3E37D90
|
||||
f_pak_file_check_preamble: 0x8148574157565340,
|
||||
kuro_http_get: 0xFE9E00,
|
||||
#[cfg(not(feature = "enable-sdk"))]
|
||||
disable_sdk: DisableSdkConfiguration{
|
||||
sdk_dll: s!("KRSDKEx.dll"),
|
||||
eula_accept: 0x4A6D0,
|
||||
sdk_go_away: 0x8BB40,
|
||||
}
|
||||
};
|
||||
|
||||
#[cfg(feature = "cn_beta_1_3_0")]
|
||||
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||
f_pak_file_check: 0x3D2F460,
|
||||
f_pak_file_check_preamble: 0x943D80000000A8EC8148574157565340,
|
||||
f_pak_file_check_preamble: 0x8148574157565340,
|
||||
kuro_http_get: 0xFC8CF0,
|
||||
#[cfg(not(feature = "enable-sdk"))]
|
||||
disable_sdk: DisableSdkConfiguration{
|
||||
|
@ -32,7 +45,7 @@ pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
|||
#[cfg(feature = "cn_live_1_3_0")]
|
||||
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||
f_pak_file_check: 0x3D35DF0,
|
||||
f_pak_file_check_preamble: 0x943D80000000A8EC8148574157565340,
|
||||
f_pak_file_check_preamble: 0x8148574157565340,
|
||||
kuro_http_get: 0xFC9900,
|
||||
#[cfg(not(feature = "enable-sdk"))]
|
||||
disable_sdk: DisableSdkConfiguration{
|
||||
|
@ -45,7 +58,7 @@ pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
|||
#[cfg(feature = "os_live_1_3_0")]
|
||||
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||
f_pak_file_check: 0x3CDC430,
|
||||
f_pak_file_check_preamble: 0x943D80000000A8EC8148574157565340,
|
||||
f_pak_file_check_preamble: 0x8148574157565340,
|
||||
kuro_http_get: 0xFC6C20,
|
||||
#[cfg(not(feature = "enable-sdk"))]
|
||||
disable_sdk: DisableSdkConfiguration{
|
||||
|
|
Loading…
Reference in a new issue