mirror of
https://github.com/beerpiss/saekawa.git
synced 2025-02-21 12:20:16 +01:00
things
This commit is contained in:
parent
4fee755ab4
commit
82d4aec27c
@ -1,3 +1,4 @@
|
|||||||
|
#![cfg(windows)]
|
||||||
mod config;
|
mod config;
|
||||||
mod consts;
|
mod consts;
|
||||||
mod helpers;
|
mod helpers;
|
||||||
|
@ -18,7 +18,7 @@ pub static mut GET_PROCESS_HEAP_PTR: PROC = ptr::null_mut();
|
|||||||
|
|
||||||
#[link_section = ".rtext"]
|
#[link_section = ".rtext"]
|
||||||
#[used]
|
#[used]
|
||||||
pub static mut REPLCE_FILE_W_PTR: PROC = ptr::null_mut();
|
pub static mut REPLACE_FILE_W_PTR: PROC = ptr::null_mut();
|
||||||
|
|
||||||
#[link_section = ".rtext"]
|
#[link_section = ".rtext"]
|
||||||
#[used]
|
#[used]
|
||||||
@ -59,7 +59,7 @@ pub unsafe extern "system" fn replace_with_new_library(parameter: *const c_void)
|
|||||||
let GetModuleFileNameA =
|
let GetModuleFileNameA =
|
||||||
std::mem::transmute::<PROC, GetModuleFileNameAFn>(GET_MODULE_FILE_NAME_A_PTR);
|
std::mem::transmute::<PROC, GetModuleFileNameAFn>(GET_MODULE_FILE_NAME_A_PTR);
|
||||||
let GetProcessHeap = std::mem::transmute::<PROC, GetProcessHeapFn>(GET_PROCESS_HEAP_PTR);
|
let GetProcessHeap = std::mem::transmute::<PROC, GetProcessHeapFn>(GET_PROCESS_HEAP_PTR);
|
||||||
let ReplaceFileW = std::mem::transmute::<PROC, ReplaceFileWFn>(REPLCE_FILE_W_PTR);
|
let ReplaceFileW = std::mem::transmute::<PROC, ReplaceFileWFn>(REPLACE_FILE_W_PTR);
|
||||||
let LoadLibraryW = std::mem::transmute::<PROC, LoadLibraryWFn>(LOAD_LIBRARY_W_PTR);
|
let LoadLibraryW = std::mem::transmute::<PROC, LoadLibraryWFn>(LOAD_LIBRARY_W_PTR);
|
||||||
let HeapFree = std::mem::transmute::<PROC, HeapFreeFn>(HEAP_FREE_PTR);
|
let HeapFree = std::mem::transmute::<PROC, HeapFreeFn>(HEAP_FREE_PTR);
|
||||||
let Sleep = std::mem::transmute::<PROC, SleepFn>(SLEEP_PTR);
|
let Sleep = std::mem::transmute::<PROC, SleepFn>(SLEEP_PTR);
|
||||||
|
@ -235,7 +235,7 @@ pub fn self_update(module: &LibraryHandle) -> Result<bool, SelfUpdateError> {
|
|||||||
external::GET_PROCESS_HEAP_PTR = kernel32.symbol("GetProcessHeap").unwrap();
|
external::GET_PROCESS_HEAP_PTR = kernel32.symbol("GetProcessHeap").unwrap();
|
||||||
external::HEAP_FREE_PTR = kernel32.symbol("HeapFree").unwrap();
|
external::HEAP_FREE_PTR = kernel32.symbol("HeapFree").unwrap();
|
||||||
external::LOAD_LIBRARY_W_PTR = kernel32.symbol("LoadLibraryW").unwrap();
|
external::LOAD_LIBRARY_W_PTR = kernel32.symbol("LoadLibraryW").unwrap();
|
||||||
external::REPLCE_FILE_W_PTR = kernel32.symbol("ReplaceFileW").unwrap();
|
external::REPLACE_FILE_W_PTR = kernel32.symbol("ReplaceFileW").unwrap();
|
||||||
external::SLEEP_PTR = kernel32.symbol("Sleep").unwrap();
|
external::SLEEP_PTR = kernel32.symbol("Sleep").unwrap();
|
||||||
|
|
||||||
debug!("Locating updater code...");
|
debug!("Locating updater code...");
|
||||||
@ -303,7 +303,6 @@ pub fn self_update(module: &LibraryHandle) -> Result<bool, SelfUpdateError> {
|
|||||||
&mut old_protect,
|
&mut old_protect,
|
||||||
);
|
);
|
||||||
|
|
||||||
// 0x00007FFB13A63A14
|
|
||||||
if result == 0 {
|
if result == 0 {
|
||||||
return Err(SelfUpdateError::FailedVirtualProtect {
|
return Err(SelfUpdateError::FailedVirtualProtect {
|
||||||
errno: GetLastError(),
|
errno: GetLastError(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user