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"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "camellya-patch"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"ilhook",
|
||||||
|
"windows",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced-x86"
|
name = "iced-x86"
|
||||||
version = "1.21.0"
|
version = "1.21.0"
|
||||||
|
@ -61,9 +69,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.86"
|
version = "1.0.87"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
|
checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
@ -106,14 +114,6 @@ version = "0.8.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "shorekeeper-patch"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"ilhook",
|
|
||||||
"windows",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "2.0.79"
|
version = "2.0.79"
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
[package]
|
[package]
|
||||||
name = "shorekeeper-patch"
|
name = "camellya-patch"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
name = "shorekeeper"
|
name = "camellya"
|
||||||
crate-type = ["cdylib"]
|
crate-type = ["cdylib"]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
cn_beta_1_4_0 = []
|
||||||
cn_beta_1_3_0 = []
|
cn_beta_1_3_0 = []
|
||||||
cn_live_1_3_0 = []
|
cn_live_1_3_0 = []
|
||||||
os_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
|
### How to use
|
||||||
Just inject it at early startup.
|
Just inject it at early startup.
|
||||||
|
|
|
@ -5,7 +5,7 @@ GOTO:MAIN
|
||||||
cargo clean
|
cargo clean
|
||||||
cargo build --release --no-default-features -F %~1
|
cargo build --release --no-default-features -F %~1
|
||||||
set features=%~1:,=-%
|
set features=%~1:,=-%
|
||||||
COPY target\release\shorekeeper.dll build\shorekeeper-%~1.dll
|
COPY target\release\camellya.dll build\camellya-%~1.dll
|
||||||
cargo clean
|
cargo clean
|
||||||
ENDLOCAL
|
ENDLOCAL
|
||||||
EXIT /B 0
|
EXIT /B 0
|
||||||
|
@ -15,6 +15,8 @@ if exist "build" rd /q /s "build"
|
||||||
mkdir build
|
mkdir build
|
||||||
cargo clean
|
cargo clean
|
||||||
|
|
||||||
|
: Build for cn_beta_1_4_0
|
||||||
|
call:cargoReleaseBuild cn_beta_1_4_0
|
||||||
: Build for cn_beta_1_3_0
|
: Build for cn_beta_1_3_0
|
||||||
call:cargoReleaseBuild cn_beta_1_3_0
|
call:cargoReleaseBuild cn_beta_1_3_0
|
||||||
: Build for cn_live_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
|
: Build for os_live_1_3_0
|
||||||
call:cargoReleaseBuild 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");
|
println!("Waiting for ACE init");
|
||||||
let module = unsafe { GetModuleHandleA(PCSTR::null()) }.unwrap();
|
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 {
|
loop {
|
||||||
if unsafe { std::ptr::read(pak_file_offset) } == CONFIG.f_pak_file_check_preamble {
|
if unsafe { std::ptr::read(pak_file_offset) } == CONFIG.f_pak_file_check_preamble {
|
||||||
println!("ACE Initialization finished");
|
println!("ACE Initialization finished");
|
||||||
|
|
|
@ -10,16 +10,29 @@ pub(crate) struct DisableSdkConfiguration {
|
||||||
|
|
||||||
pub(crate) struct InjectConfiguration {
|
pub(crate) struct InjectConfiguration {
|
||||||
pub(crate) f_pak_file_check: usize,
|
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,
|
pub(crate) kuro_http_get: usize,
|
||||||
#[cfg(not(feature = "enable-sdk"))]
|
#[cfg(not(feature = "enable-sdk"))]
|
||||||
pub(crate) disable_sdk: DisableSdkConfiguration,
|
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")]
|
#[cfg(feature = "cn_beta_1_3_0")]
|
||||||
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||||
f_pak_file_check: 0x3D2F460,
|
f_pak_file_check: 0x3D2F460,
|
||||||
f_pak_file_check_preamble: 0x943D80000000A8EC8148574157565340,
|
f_pak_file_check_preamble: 0x8148574157565340,
|
||||||
kuro_http_get: 0xFC8CF0,
|
kuro_http_get: 0xFC8CF0,
|
||||||
#[cfg(not(feature = "enable-sdk"))]
|
#[cfg(not(feature = "enable-sdk"))]
|
||||||
disable_sdk: DisableSdkConfiguration{
|
disable_sdk: DisableSdkConfiguration{
|
||||||
|
@ -32,7 +45,7 @@ pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||||
#[cfg(feature = "cn_live_1_3_0")]
|
#[cfg(feature = "cn_live_1_3_0")]
|
||||||
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||||
f_pak_file_check: 0x3D35DF0,
|
f_pak_file_check: 0x3D35DF0,
|
||||||
f_pak_file_check_preamble: 0x943D80000000A8EC8148574157565340,
|
f_pak_file_check_preamble: 0x8148574157565340,
|
||||||
kuro_http_get: 0xFC9900,
|
kuro_http_get: 0xFC9900,
|
||||||
#[cfg(not(feature = "enable-sdk"))]
|
#[cfg(not(feature = "enable-sdk"))]
|
||||||
disable_sdk: DisableSdkConfiguration{
|
disable_sdk: DisableSdkConfiguration{
|
||||||
|
@ -45,7 +58,7 @@ pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||||
#[cfg(feature = "os_live_1_3_0")]
|
#[cfg(feature = "os_live_1_3_0")]
|
||||||
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
pub(crate) const CONFIG: InjectConfiguration = InjectConfiguration {
|
||||||
f_pak_file_check: 0x3CDC430,
|
f_pak_file_check: 0x3CDC430,
|
||||||
f_pak_file_check_preamble: 0x943D80000000A8EC8148574157565340,
|
f_pak_file_check_preamble: 0x8148574157565340,
|
||||||
kuro_http_get: 0xFC6C20,
|
kuro_http_get: 0xFC6C20,
|
||||||
#[cfg(not(feature = "enable-sdk"))]
|
#[cfg(not(feature = "enable-sdk"))]
|
||||||
disable_sdk: DisableSdkConfiguration{
|
disable_sdk: DisableSdkConfiguration{
|
||||||
|
|
Loading…
Reference in a new issue