CNBetaWin2.0.12 support

This commit is contained in:
traffic95 2025-05-30 23:17:49 +02:00
parent 0ca6e1ebda
commit 7412c92282
5 changed files with 15 additions and 15 deletions

View file

@ -32,7 +32,7 @@ unsafe fn thread_fn() {
thread::sleep(Duration::from_secs(5)); thread::sleep(Duration::from_secs(5));
util::disable_memory_protection(); util::disable_memory_protection();
println!("vivian-patch (2.0.5 BETA) is initializing"); println!("vivian-patch (2.0.12 KOL) is initializing");
println!( println!(
"to work with vivian-rs: https://git.xeondev.com/vivian-rs/vivian-rs/src/branch/2.0_beta" "to work with vivian-rs: https://git.xeondev.com/vivian-rs/vivian-rs/src/branch/2.0_beta"

View file

@ -3,10 +3,10 @@ use std::sync::atomic::{AtomicU32, Ordering};
use super::{ModuleInitError, NapModule, NapModuleContext}; use super::{ModuleInitError, NapModule, NapModuleContext};
const SET_DITHER_CONFIG: usize = 0x86FE960; const SET_DITHER_CONFIG: usize = 0xAC49A20;
const DITHER_CONFIG_AVATAR_USING_DITHER_ALPHA: usize = 0x41; const DITHER_CONFIG_AVATAR_USING_DITHER_ALPHA: usize = 0x41;
const ON_ENTER_SCENE_SC_NOTIFY: usize = 0x85088C0; const ON_ENTER_SCENE_SC_NOTIFY: usize = 0xCC97000;
const ENTER_SCENE_SC_NOTIFY_SCENE_DATA: usize = 0x20; const ENTER_SCENE_SC_NOTIFY_SCENE_DATA: usize = 0x20;
const SCENE_DATA_SCENE_TYPE: usize = 0x6C; const SCENE_DATA_SCENE_TYPE: usize = 0x6C;
const SCENE_TYPE_HALL: u32 = 1; const SCENE_TYPE_HALL: u32 = 1;

View file

@ -7,14 +7,14 @@ use crate::{
util::{import, GAME_ASSEMBLY_BASE}, util::{import, GAME_ASSEMBLY_BASE},
}; };
import!(rsa_create() -> usize = 0x1B582F20); import!(rsa_create() -> usize = 0x1B583DD0);
import!(rsa_from_xml_string(instance: usize, xml_string: usize) -> usize = 0x1B583160); import!(rsa_from_xml_string(instance: usize, xml_string: usize) -> usize = 0x1B584010);
import!(il2cpp_string_new(cstr: *const u8) -> usize = 0x1158AA0); import!(il2cpp_string_new(cstr: *const u8) -> usize = 0x1162FC0);
pub unsafe fn initialize_rsa_public_key() { pub unsafe fn initialize_rsa_public_key() {
const SERVER_PUBLIC_KEY: &str = include_str!("../../server_public_key.xml"); const SERVER_PUBLIC_KEY: &str = include_str!("../../server_public_key.xml");
let rsa_public_key_backdoor_field = let rsa_public_key_backdoor_field =
((*(GAME_ASSEMBLY_BASE.wrapping_add(0x554E500) as *const usize)) + 252856) as *mut usize; ((*(GAME_ASSEMBLY_BASE.wrapping_add(0x55594B8) as *const usize)) + 252856) as *mut usize;
let rsa = rsa_create(); let rsa = rsa_create();
rsa_from_xml_string( rsa_from_xml_string(
@ -33,14 +33,14 @@ pub unsafe fn initialize_rsa_public_key() {
pub unsafe fn replace_sdk_public_key_string_literal() { pub unsafe fn replace_sdk_public_key_string_literal() {
const SDK_PUBLIC_KEY: &str = include_str!("../../sdk_public_key.xml"); const SDK_PUBLIC_KEY: &str = include_str!("../../sdk_public_key.xml");
*(GAME_ASSEMBLY_BASE.wrapping_add(0x5950C50) as *mut usize) = il2cpp_string_new( *(GAME_ASSEMBLY_BASE.wrapping_add(0x595BC00) as *mut usize) = il2cpp_string_new(
CString::new(SDK_PUBLIC_KEY) CString::new(SDK_PUBLIC_KEY)
.unwrap() .unwrap()
.to_bytes_with_nul() .to_bytes_with_nul()
.as_ptr(), .as_ptr(),
) as usize; ) as usize;
*(GAME_ASSEMBLY_BASE.wrapping_add(0x5974060) as *mut usize) = il2cpp_string_new( *(GAME_ASSEMBLY_BASE.wrapping_add(0x597F010) as *mut usize) = il2cpp_string_new(
[27818, 40348, 47410, 27936, 51394, 33172, 51987, 8709, 44748, [27818, 40348, 47410, 27936, 51394, 33172, 51987, 8709, 44748,
23705, 45753, 21092, 57054, 52661, 369, 62630, 11725, 7496, 36921, 28271, 23705, 45753, 21092, 57054, 52661, 369, 62630, 11725, 7496, 36921, 28271,
34880, 52645, 31515, 18214, 3108, 2077, 13490, 25459, 58590, 47504, 15163, 34880, 52645, 31515, 18214, 3108, 2077, 13490, 25459, 58590, 47504, 15163,
@ -62,7 +62,7 @@ pub unsafe fn replace_sdk_public_key_string_literal() {
pub unsafe fn monitor_network_state(interceptor: &mut Interceptor) { pub unsafe fn monitor_network_state(interceptor: &mut Interceptor) {
interceptor interceptor
.attach( .attach(
GAME_ASSEMBLY_BASE.wrapping_add(0xDE96720), GAME_ASSEMBLY_BASE.wrapping_add(0xD952A20),
on_network_state_change, on_network_state_change,
) )
.unwrap(); .unwrap();

View file

@ -4,8 +4,8 @@ use crate::util::GAME_ASSEMBLY_BASE;
use super::{ModuleInitError, NapModule, NapModuleContext}; use super::{ModuleInitError, NapModule, NapModuleContext};
const ON_COMBO_INIT_SUCCESS: usize = 0x1ACCE700; const ON_COMBO_INIT_SUCCESS: usize = 0x1ACEFC40;
const STATICS: usize = 0x554E500; const STATICS: usize = 0x55594B8;
const STATIC_ID: usize = 34496; const STATIC_ID: usize = 34496;
const FIELD_OFFSET: usize = 0x44; const FIELD_OFFSET: usize = 0x44;

View file

@ -6,8 +6,8 @@ use crate::util::{self, import, read_csharp_string};
use super::{ModuleInitError, NapModule, NapModuleContext}; use super::{ModuleInitError, NapModule, NapModuleContext};
const MAKE_INITIAL_URL: usize = 0x1D172280; const MAKE_INITIAL_URL: usize = 0x1D17D450;
const WEB_REQUEST_CREATE: usize = 0x1CC5EC00; const WEB_REQUEST_CREATE: usize = 0x1CC6BD90;
pub struct Network; pub struct Network;
@ -37,7 +37,7 @@ unsafe extern "win64" fn on_web_request_create(reg: *mut Registers, _: usize) {
} }
} }
import!(il2cpp_string_new(cstr: *const u8) -> usize = 0x1158AA0); import!(il2cpp_string_new(cstr: *const u8) -> usize = 0x1162FC0);
impl Network { impl Network {
const SDK_URL: &str = "http://127.0.0.1:20100"; const SDK_URL: &str = "http://127.0.0.1:20100";