[INFO] cloning repository https://github.com/Foolish1337/MasqueradePebAsExplorer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Foolish1337/MasqueradePebAsExplorer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFoolish1337%2FMasqueradePebAsExplorer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFoolish1337%2FMasqueradePebAsExplorer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c27e9f8e8f7bcfd9cb218cacfa8117f8052e358a [INFO] checking Foolish1337/MasqueradePebAsExplorer/c27e9f8e8f7bcfd9cb218cacfa8117f8052e358a against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFoolish1337%2FMasqueradePebAsExplorer" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Foolish1337/MasqueradePebAsExplorer on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Foolish1337/MasqueradePebAsExplorer [INFO] finished tweaking git repo https://github.com/Foolish1337/MasqueradePebAsExplorer [INFO] tweaked toml for git repo https://github.com/Foolish1337/MasqueradePebAsExplorer written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Foolish1337/MasqueradePebAsExplorer already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ed5961ff2b1780ef6da01962645fa2b9dff37e9fba818075eed369a32bd21d5c [INFO] running `Command { std: "docker" "start" "-a" "ed5961ff2b1780ef6da01962645fa2b9dff37e9fba818075eed369a32bd21d5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ed5961ff2b1780ef6da01962645fa2b9dff37e9fba818075eed369a32bd21d5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed5961ff2b1780ef6da01962645fa2b9dff37e9fba818075eed369a32bd21d5c", kill_on_drop: false }` [INFO] [stdout] ed5961ff2b1780ef6da01962645fa2b9dff37e9fba818075eed369a32bd21d5c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e27f94e8494fd1893bed7a942c1abec2ed8c86a01a2af9403272310ee12fc0e7 [INFO] running `Command { std: "docker" "start" "-a" "e27f94e8494fd1893bed7a942c1abec2ed8c86a01a2af9403272310ee12fc0e7", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Checking windows v0.39.0 [INFO] [stderr] Checking widestring v1.0.2 [INFO] [stderr] Checking Evasion v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `Evasion` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/bindings/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/bindings/mod.rs:8:21 [INFO] [stderr] | [INFO] [stderr] 8 | [$stype:ty; $ssize:expr_2021], [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/bindings/mod.rs:35:23 [INFO] [stderr] | [INFO] [stderr] 35 | [$stype32:ty; $ssize32:expr_2021] [$stype64:ty; $ssize64:expr_2021], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/bindings/mod.rs:35:57 [INFO] [stderr] | [INFO] [stderr] 35 | [$stype32:ty; $ssize32:expr_2021] [$stype64:ty; $ssize64:expr_2021], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `impl-default` [INFO] [stderr] --> src/bindings/mod.rs:18:15 [INFO] [stderr] | [INFO] [stderr] 18 | #[cfg(feature = "impl-default")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] ... [INFO] [stderr] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stderr] 124 | | [i64; 1], [INFO] [stderr] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stderr] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stderr] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stderr] 128 | | }} [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `impl-default` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `std` [INFO] [stderr] --> src/bindings/mod.rs:66:11 [INFO] [stderr] | [INFO] [stderr] 66 | #[cfg(feature = "std")] [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stdout] warning: unused import: `PWCHAR` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::bindings::{DWORD, DWORD64, PPEB, PWCHAR, PLDR_MODULE}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: unused import: `widestring::U16String` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use widestring::U16String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] warning: unused import: `widestring::ucstr::U16CStr` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use widestring::ucstr::U16CStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/bindings/mod.rs:68:15 [INFO] [stdout] warning: unused imports: `CloseHandle`, `HANDLE`, and `INVALID_HANDLE_VALUE` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | use windows::Win32::Foundation::{INVALID_HANDLE_VALUE, HANDLE, CloseHandle}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: unused imports: `CreateFileW`, `FILE_ATTRIBUTE_NORMAL`, `FILE_GENERIC_READ`, `FILE_SHARE_MODE`, and `OPEN_EXISTING` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | use windows::Win32::Storage::FileSystem::{CreateFileW, FILE_GENERIC_READ, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_MODE}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 68 | #[cfg(not(feature = "std"))] [INFO] [stdout] warning: unused import: `SystemInformation::GetSystemWindowsDirectoryW` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:15:102 [INFO] [stdout] | [INFO] [stdout] 15 | ...Loader::{GetModuleHandleW, GetProcAddress}, SystemInformation::GetSystemWindowsDirectoryW}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] warning: unexpected `cfg` condition value: `impl-default` [INFO] [stdout] --> src/bindings/mod.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | #[cfg(feature = "impl-default")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `impl-default` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/bindings/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern "system" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 3 | | fn GetLastError() -> u32; [INFO] [stdout] 4 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: no expected values for `feature` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bindings/mod.rs:8:28 [INFO] [stdout] | [INFO] [stdout] 8 | [$stype:ty; $ssize:expr], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 8 | [$stype:ty; $ssize:expr_2021], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bindings/mod.rs:35:32 [INFO] [stdout] | [INFO] [stdout] 35 | [$stype32:ty; $ssize32:expr] [$stype64:ty; $ssize64:expr], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 35 | [$stype32:ty; $ssize32:expr_2021] [$stype64:ty; $ssize64:expr], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bindings/mod.rs:35:61 [INFO] [stdout] | [INFO] [stdout] 35 | [$stype32:ty; $ssize32:expr] [$stype64:ty; $ssize64:expr], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 35 | [$stype32:ty; $ssize32:expr] [$stype64:ty; $ssize64:expr_2021], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/bindings/mod.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | #[cfg(feature = "std")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 3 previous errors; 3 warnings emitted [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/bindings/mod.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | #[cfg(not(feature = "std"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning[E0133]: use of inline assembly is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / asm!( [INFO] [stdout] 25 | | "mov {}, gs:[{:e}]", [INFO] [stdout] 26 | | lateout(reg) out, [INFO] [stdout] 27 | | in(reg) offset, [INFO] [stdout] 28 | | options(nostack, pure, readonly), [INFO] [stdout] 29 | | ); [INFO] [stdout] | |_____^ use of inline assembly [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: inline assembly is entirely unchecked and can cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | unsafe fn __readgsqword(offset: DWORD) -> DWORD64 { // will change later [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `MasqueradePebAsExplorerEx::__readgsqword` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | __readgsqword(0x60) as PPEB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | unsafe fn GetPeb() -> PPEB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `MasqueradePebAsExplorerEx::GetPeb` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | let peb: PPEB = GetPeb(); [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 101 | pub unsafe fn MasqueradePebAsExplorerEx() -> BOOL { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetModuleHandleW` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | let h_module = match GetModuleHandleW(PCWSTR("ntdll.dll".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:123:60 [INFO] [stdout] | [INFO] [stdout] 123 | ...SECTION = std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlEnterCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetProcAddress` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:123:80 [INFO] [stdout] | [INFO] [stdout] 123 | ...std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlEnterCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:124:60 [INFO] [stdout] | [INFO] [stdout] 124 | ...SECTION = std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlLeaveCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetProcAddress` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:124:80 [INFO] [stdout] | [INFO] [stdout] 124 | ...std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlLeaveCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | RtlEnterCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:134:29 [INFO] [stdout] | [INFO] [stdout] 134 | RtlEnterCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:31 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:31 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | RtlInitUnicodeString(&mut (*module).FullDllName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | RtlInitUnicodeString(&mut (*module).FullDllName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | RtlInitUnicodeString(&mut (*module).BaseDllName, PCWSTR("Explorer.exe".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:139:31 [INFO] [stdout] | [INFO] [stdout] 139 | RtlInitUnicodeString(&mut (*module).BaseDllName, PCWSTR("Explorer.exe".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())); [INFO] [stdout] | ^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | RtlLeaveCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:141:29 [INFO] [stdout] | [INFO] [stdout] 141 | RtlLeaveCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/bindings/mod.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | &*(self as *const _ as *const $ftype) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/bindings/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | pub unsafe fn $variant(&self) -> &$ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/bindings/mod.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | &mut *(self as *mut _ as *mut $ftype) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/bindings/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `LARGE_INTEGER_s` is more private than the item `LARGE_INTEGER::s` [INFO] [stdout] --> src/bindings/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | pub unsafe fn $variant(&self) -> &$ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LARGE_INTEGER::s` is reachable at visibility `pub(crate)` [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: but type `LARGE_INTEGER_s` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bindings/mod.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | struct LARGE_INTEGER_s { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `LARGE_INTEGER_s` is more private than the item `LARGE_INTEGER::s_mut` [INFO] [stdout] --> src/bindings/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LARGE_INTEGER::s_mut` is reachable at visibility `pub(crate)` [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: but type `LARGE_INTEGER_s` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bindings/mod.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | struct LARGE_INTEGER_s { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `LARGE_INTEGER_u` is more private than the item `LARGE_INTEGER::u` [INFO] [stdout] --> src/bindings/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | pub unsafe fn $variant(&self) -> &$ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LARGE_INTEGER::u` is reachable at visibility `pub(crate)` [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: but type `LARGE_INTEGER_u` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bindings/mod.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | struct LARGE_INTEGER_u { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `LARGE_INTEGER_u` is more private than the item `LARGE_INTEGER::u_mut` [INFO] [stdout] --> src/bindings/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LARGE_INTEGER::u_mut` is reachable at visibility `pub(crate)` [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: but type `LARGE_INTEGER_u` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bindings/mod.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | struct LARGE_INTEGER_u { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PBYTE` is never used [INFO] [stdout] --> src/bindings/mod.rs:95:10 [INFO] [stdout] | [INFO] [stdout] 95 | pub type PBYTE = *mut BYTE; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LONG` is never used [INFO] [stdout] --> src/bindings/mod.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | pub type LONG = ctypes::c_long; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `NTSTATUS` is never used [INFO] [stdout] --> src/bindings/mod.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub type NTSTATUS = LONG; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WCHAR` is never used [INFO] [stdout] --> src/bindings/mod.rs:98:10 [INFO] [stdout] | [INFO] [stdout] 98 | pub type WCHAR = ctypes::wchar_t; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PWCHAR` is never used [INFO] [stdout] --> src/bindings/mod.rs:99:10 [INFO] [stdout] | [INFO] [stdout] 99 | pub type PWCHAR = *mut WCHAR; // *mut u16 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WORD` is never used [INFO] [stdout] --> src/bindings/mod.rs:100:10 [INFO] [stdout] | [INFO] [stdout] 100 | pub type WORD = ctypes::c_char; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ULONG_PTR` is never used [INFO] [stdout] --> src/bindings/mod.rs:104:10 [INFO] [stdout] | [INFO] [stdout] 104 | pub type ULONG_PTR = usize; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LONGLONG` is never used [INFO] [stdout] --> src/bindings/mod.rs:109:10 [INFO] [stdout] | [INFO] [stdout] 109 | pub type LONGLONG = ctypes::__int64; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LARGE_INTEGER_u` is never constructed [INFO] [stdout] --> src/bindings/mod.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct LARGE_INTEGER_u { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LARGE_INTEGER_s` is never constructed [INFO] [stdout] --> src/bindings/mod.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | struct LARGE_INTEGER_s { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `s`, `s_mut`, `u`, `u_mut`, `QuadPart`, and `QuadPart_mut` are never used [INFO] [stdout] --> src/bindings/mod.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 23 | impl $name {$( [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] | ^ ^^^^^ [INFO] [stdout] 126 | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] | ^ ^^^^^ [INFO] [stdout] 127 | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PWSTR` is never constructed [INFO] [stdout] --> src/bindings/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct PWSTR(pub *mut u16); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PPS_POST_PROCESS_INIT_ROUTINE` is never used [INFO] [stdout] --> src/bindings/mod.rs:133:10 [INFO] [stdout] | [INFO] [stdout] 133 | pub type PPS_POST_PROCESS_INIT_ROUTINE = Option; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `GetLastError` is never used [INFO] [stdout] --> src/bindings/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | fn GetLastError() -> u32; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_char` is never used [INFO] [stdout] --> src/bindings/mod.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | pub type c_char = i8; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_schar` is never used [INFO] [stdout] --> src/bindings/mod.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | pub type c_schar = i8; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_ushort` is never used [INFO] [stdout] --> src/bindings/mod.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | pub type c_ushort = u16; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_int` is never used [INFO] [stdout] --> src/bindings/mod.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | pub type c_int = i32; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_uint` is never used [INFO] [stdout] --> src/bindings/mod.rs:76:14 [INFO] [stdout] | [INFO] [stdout] 76 | pub type c_uint = u32; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_long` is never used [INFO] [stdout] --> src/bindings/mod.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub type c_long = i32; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_longlong` is never used [INFO] [stdout] --> src/bindings/mod.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | pub type c_longlong = i64; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_ulonglong` is never used [INFO] [stdout] --> src/bindings/mod.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | pub type c_ulonglong = u64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_float` is never used [INFO] [stdout] --> src/bindings/mod.rs:81:14 [INFO] [stdout] | [INFO] [stdout] 81 | pub type c_float = f32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_double` is never used [INFO] [stdout] --> src/bindings/mod.rs:82:14 [INFO] [stdout] | [INFO] [stdout] 82 | pub type c_double = f64; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `wchar_t` is never used [INFO] [stdout] --> src/bindings/mod.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | pub type wchar_t = u16; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 69 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `Evasion` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/bindings/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/bindings/mod.rs:8:21 [INFO] [stderr] | [INFO] [stderr] 8 | [$stype:ty; $ssize:expr_2021], [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/bindings/mod.rs:35:23 [INFO] [stderr] | [INFO] [stderr] 35 | [$stype32:ty; $ssize32:expr_2021] [$stype64:ty; $ssize64:expr_2021], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/bindings/mod.rs:35:57 [INFO] [stderr] | [INFO] [stderr] 35 | [$stype32:ty; $ssize32:expr_2021] [$stype64:ty; $ssize64:expr_2021], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `impl-default` [INFO] [stderr] --> src/bindings/mod.rs:18:15 [INFO] [stderr] | [INFO] [stderr] 18 | #[cfg(feature = "impl-default")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] ... [INFO] [stderr] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stderr] 124 | | [i64; 1], [INFO] [stderr] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stderr] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stderr] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stderr] 128 | | }} [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `impl-default` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `std` [INFO] [stderr] --> src/bindings/mod.rs:66:11 [INFO] [stderr] | [INFO] [stderr] 66 | #[cfg(feature = "std")] [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `std` [INFO] [stderr] --> src/bindings/mod.rs:68:15 [INFO] [stderr] | [INFO] [stderr] 68 | #[cfg(not(feature = "std"))] [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors; 3 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unused import: `PWCHAR` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::bindings::{DWORD, DWORD64, PPEB, PWCHAR, PLDR_MODULE}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `widestring::U16String` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use widestring::U16String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `widestring::ucstr::U16CStr` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use widestring::ucstr::U16CStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CloseHandle`, `HANDLE`, and `INVALID_HANDLE_VALUE` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | use windows::Win32::Foundation::{INVALID_HANDLE_VALUE, HANDLE, CloseHandle}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CreateFileW`, `FILE_ATTRIBUTE_NORMAL`, `FILE_GENERIC_READ`, `FILE_SHARE_MODE`, and `OPEN_EXISTING` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | use windows::Win32::Storage::FileSystem::{CreateFileW, FILE_GENERIC_READ, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_MODE}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemInformation::GetSystemWindowsDirectoryW` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:15:102 [INFO] [stdout] | [INFO] [stdout] 15 | ...Loader::{GetModuleHandleW, GetProcAddress}, SystemInformation::GetSystemWindowsDirectoryW}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `impl-default` [INFO] [stdout] --> src/bindings/mod.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | #[cfg(feature = "impl-default")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `impl-default` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/bindings/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern "system" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 3 | | fn GetLastError() -> u32; [INFO] [stdout] 4 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bindings/mod.rs:8:28 [INFO] [stdout] | [INFO] [stdout] 8 | [$stype:ty; $ssize:expr], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 8 | [$stype:ty; $ssize:expr_2021], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bindings/mod.rs:35:32 [INFO] [stdout] | [INFO] [stdout] 35 | [$stype32:ty; $ssize32:expr] [$stype64:ty; $ssize64:expr], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 35 | [$stype32:ty; $ssize32:expr_2021] [$stype64:ty; $ssize64:expr], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bindings/mod.rs:35:61 [INFO] [stdout] | [INFO] [stdout] 35 | [$stype32:ty; $ssize32:expr] [$stype64:ty; $ssize64:expr], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 35 | [$stype32:ty; $ssize32:expr] [$stype64:ty; $ssize64:expr_2021], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/bindings/mod.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | #[cfg(feature = "std")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/bindings/mod.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | #[cfg(not(feature = "std"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of inline assembly is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / asm!( [INFO] [stdout] 25 | | "mov {}, gs:[{:e}]", [INFO] [stdout] 26 | | lateout(reg) out, [INFO] [stdout] 27 | | in(reg) offset, [INFO] [stdout] 28 | | options(nostack, pure, readonly), [INFO] [stdout] 29 | | ); [INFO] [stdout] | |_____^ use of inline assembly [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: inline assembly is entirely unchecked and can cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | unsafe fn __readgsqword(offset: DWORD) -> DWORD64 { // will change later [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `MasqueradePebAsExplorerEx::__readgsqword` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | __readgsqword(0x60) as PPEB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | unsafe fn GetPeb() -> PPEB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `MasqueradePebAsExplorerEx::GetPeb` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | let peb: PPEB = GetPeb(); [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 101 | pub unsafe fn MasqueradePebAsExplorerEx() -> BOOL { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetModuleHandleW` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | let h_module = match GetModuleHandleW(PCWSTR("ntdll.dll".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:123:60 [INFO] [stdout] | [INFO] [stdout] 123 | ...SECTION = std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlEnterCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetProcAddress` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:123:80 [INFO] [stdout] | [INFO] [stdout] 123 | ...std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlEnterCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:124:60 [INFO] [stdout] | [INFO] [stdout] 124 | ...SECTION = std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlLeaveCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetProcAddress` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:124:80 [INFO] [stdout] | [INFO] [stdout] 124 | ...std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlLeaveCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | RtlEnterCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:134:29 [INFO] [stdout] | [INFO] [stdout] 134 | RtlEnterCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:31 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:31 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | RtlInitUnicodeString(&mut (*module).FullDllName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | RtlInitUnicodeString(&mut (*module).FullDllName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | RtlInitUnicodeString(&mut (*module).BaseDllName, PCWSTR("Explorer.exe".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:139:31 [INFO] [stdout] | [INFO] [stdout] 139 | RtlInitUnicodeString(&mut (*module).BaseDllName, PCWSTR("Explorer.exe".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())); [INFO] [stdout] | ^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | RtlLeaveCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:141:29 [INFO] [stdout] | [INFO] [stdout] 141 | RtlLeaveCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/bindings/mod.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | &*(self as *const _ as *const $ftype) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/bindings/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | pub unsafe fn $variant(&self) -> &$ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/bindings/mod.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | &mut *(self as *mut _ as *mut $ftype) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/bindings/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `LARGE_INTEGER_s` is more private than the item `LARGE_INTEGER::s` [INFO] [stdout] --> src/bindings/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | pub unsafe fn $variant(&self) -> &$ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LARGE_INTEGER::s` is reachable at visibility `pub(crate)` [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: but type `LARGE_INTEGER_s` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bindings/mod.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | struct LARGE_INTEGER_s { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `LARGE_INTEGER_s` is more private than the item `LARGE_INTEGER::s_mut` [INFO] [stdout] --> src/bindings/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LARGE_INTEGER::s_mut` is reachable at visibility `pub(crate)` [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: but type `LARGE_INTEGER_s` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bindings/mod.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | struct LARGE_INTEGER_s { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `LARGE_INTEGER_u` is more private than the item `LARGE_INTEGER::u` [INFO] [stdout] --> src/bindings/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | pub unsafe fn $variant(&self) -> &$ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LARGE_INTEGER::u` is reachable at visibility `pub(crate)` [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: but type `LARGE_INTEGER_u` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bindings/mod.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | struct LARGE_INTEGER_u { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `LARGE_INTEGER_u` is more private than the item `LARGE_INTEGER::u_mut` [INFO] [stdout] --> src/bindings/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LARGE_INTEGER::u_mut` is reachable at visibility `pub(crate)` [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: but type `LARGE_INTEGER_u` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bindings/mod.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | struct LARGE_INTEGER_u { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PBYTE` is never used [INFO] [stdout] --> src/bindings/mod.rs:95:10 [INFO] [stdout] | [INFO] [stdout] 95 | pub type PBYTE = *mut BYTE; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LONG` is never used [INFO] [stdout] --> src/bindings/mod.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | pub type LONG = ctypes::c_long; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `NTSTATUS` is never used [INFO] [stdout] --> src/bindings/mod.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub type NTSTATUS = LONG; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WCHAR` is never used [INFO] [stdout] --> src/bindings/mod.rs:98:10 [INFO] [stdout] | [INFO] [stdout] 98 | pub type WCHAR = ctypes::wchar_t; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PWCHAR` is never used [INFO] [stdout] --> src/bindings/mod.rs:99:10 [INFO] [stdout] | [INFO] [stdout] 99 | pub type PWCHAR = *mut WCHAR; // *mut u16 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WORD` is never used [INFO] [stdout] --> src/bindings/mod.rs:100:10 [INFO] [stdout] | [INFO] [stdout] 100 | pub type WORD = ctypes::c_char; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ULONG_PTR` is never used [INFO] [stdout] --> src/bindings/mod.rs:104:10 [INFO] [stdout] | [INFO] [stdout] 104 | pub type ULONG_PTR = usize; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LONGLONG` is never used [INFO] [stdout] --> src/bindings/mod.rs:109:10 [INFO] [stdout] | [INFO] [stdout] 109 | pub type LONGLONG = ctypes::__int64; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LARGE_INTEGER_u` is never constructed [INFO] [stdout] --> src/bindings/mod.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct LARGE_INTEGER_u { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LARGE_INTEGER_s` is never constructed [INFO] [stdout] --> src/bindings/mod.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | struct LARGE_INTEGER_s { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `s`, `s_mut`, `u`, `u_mut`, `QuadPart`, and `QuadPart_mut` are never used [INFO] [stdout] --> src/bindings/mod.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 23 | impl $name {$( [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] | ^ ^^^^^ [INFO] [stdout] 126 | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] | ^ ^^^^^ [INFO] [stdout] 127 | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PWSTR` is never constructed [INFO] [stdout] --> src/bindings/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct PWSTR(pub *mut u16); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PPS_POST_PROCESS_INIT_ROUTINE` is never used [INFO] [stdout] --> src/bindings/mod.rs:133:10 [INFO] [stdout] | [INFO] [stdout] 133 | pub type PPS_POST_PROCESS_INIT_ROUTINE = Option; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `GetLastError` is never used [INFO] [stdout] --> src/bindings/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | fn GetLastError() -> u32; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_char` is never used [INFO] [stdout] --> src/bindings/mod.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | pub type c_char = i8; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_schar` is never used [INFO] [stdout] --> src/bindings/mod.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | pub type c_schar = i8; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_ushort` is never used [INFO] [stdout] --> src/bindings/mod.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | pub type c_ushort = u16; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_int` is never used [INFO] [stdout] --> src/bindings/mod.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | pub type c_int = i32; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_uint` is never used [INFO] [stdout] --> src/bindings/mod.rs:76:14 [INFO] [stdout] | [INFO] [stdout] 76 | pub type c_uint = u32; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_long` is never used [INFO] [stdout] --> src/bindings/mod.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub type c_long = i32; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_longlong` is never used [INFO] [stdout] --> src/bindings/mod.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | pub type c_longlong = i64; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_ulonglong` is never used [INFO] [stdout] --> src/bindings/mod.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | pub type c_ulonglong = u64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_float` is never used [INFO] [stdout] --> src/bindings/mod.rs:81:14 [INFO] [stdout] | [INFO] [stdout] 81 | pub type c_float = f32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `c_double` is never used [INFO] [stdout] --> src/bindings/mod.rs:82:14 [INFO] [stdout] | [INFO] [stdout] 82 | pub type c_double = f64; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `wchar_t` is never used [INFO] [stdout] --> src/bindings/mod.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | pub type wchar_t = u16; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.47s [INFO] [stdout] warning: 69 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking Evasion v0.1.0 (/tmp/fixit) [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/bindings/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / extern "system" { [INFO] [stdout] 3 | | fn GetLastError() -> u32; [INFO] [stdout] 4 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PWCHAR` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::bindings::{DWORD, DWORD64, PPEB, PWCHAR, PLDR_MODULE}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/bindings/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / extern "system" { [INFO] [stdout] 3 | | fn GetLastError() -> u32; [INFO] [stdout] 4 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `widestring::U16String` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use widestring::U16String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `widestring::ucstr::U16CStr` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use widestring::ucstr::U16CStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CloseHandle`, `HANDLE`, and `INVALID_HANDLE_VALUE` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | use windows::Win32::Foundation::{INVALID_HANDLE_VALUE, HANDLE, CloseHandle}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CreateFileW`, `FILE_ATTRIBUTE_NORMAL`, `FILE_GENERIC_READ`, `FILE_SHARE_MODE`, and `OPEN_EXISTING` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | use windows::Win32::Storage::FileSystem::{CreateFileW, FILE_GENERIC_READ, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_MODE}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemInformation::GetSystemWindowsDirectoryW` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:15:102 [INFO] [stdout] | [INFO] [stdout] 15 | ...Loader::{GetModuleHandleW, GetProcAddress}, SystemInformation::GetSystemWindowsDirectoryW}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `impl-default` [INFO] [stdout] --> src/bindings/mod.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | #[cfg(feature = "impl-default")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `impl-default` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/bindings/mod.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | #[cfg(feature = "std")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/bindings/mod.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | #[cfg(not(feature = "std"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PWCHAR` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::bindings::{DWORD, DWORD64, PPEB, PWCHAR, PLDR_MODULE}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `widestring::U16String` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use widestring::U16String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `widestring::ucstr::U16CStr` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use widestring::ucstr::U16CStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CloseHandle`, `HANDLE`, and `INVALID_HANDLE_VALUE` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | use windows::Win32::Foundation::{INVALID_HANDLE_VALUE, HANDLE, CloseHandle}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CreateFileW`, `FILE_ATTRIBUTE_NORMAL`, `FILE_GENERIC_READ`, `FILE_SHARE_MODE`, and `OPEN_EXISTING` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | use windows::Win32::Storage::FileSystem::{CreateFileW, FILE_GENERIC_READ, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_MODE}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemInformation::GetSystemWindowsDirectoryW` [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:15:102 [INFO] [stdout] | [INFO] [stdout] 15 | ...Loader::{GetModuleHandleW, GetProcAddress}, SystemInformation::GetSystemWindowsDirectoryW}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `impl-default` [INFO] [stdout] --> src/bindings/mod.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | #[cfg(feature = "impl-default")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `impl-default` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/bindings/mod.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | #[cfg(feature = "std")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/bindings/mod.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | #[cfg(not(feature = "std"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of inline assembly is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / asm!( [INFO] [stdout] 25 | | "mov {}, gs:[{:e}]", [INFO] [stdout] 26 | | lateout(reg) out, [INFO] [stdout] 27 | | in(reg) offset, [INFO] [stdout] 28 | | options(nostack, pure, readonly), [INFO] [stdout] 29 | | ); [INFO] [stdout] | |_____^ use of inline assembly [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: inline assembly is entirely unchecked and can cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | unsafe fn __readgsqword(offset: DWORD) -> DWORD64 { // will change later [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of inline assembly is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / asm!( [INFO] [stdout] 25 | | "mov {}, gs:[{:e}]", [INFO] [stdout] 26 | | lateout(reg) out, [INFO] [stdout] 27 | | in(reg) offset, [INFO] [stdout] 28 | | options(nostack, pure, readonly), [INFO] [stdout] 29 | | ); [INFO] [stdout] | |_____^ use of inline assembly [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: inline assembly is entirely unchecked and can cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | unsafe fn __readgsqword(offset: DWORD) -> DWORD64 { // will change later [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `MasqueradePebAsExplorerEx::__readgsqword` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | __readgsqword(0x60) as PPEB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | unsafe fn GetPeb() -> PPEB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `MasqueradePebAsExplorerEx::__readgsqword` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | __readgsqword(0x60) as PPEB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | unsafe fn GetPeb() -> PPEB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `MasqueradePebAsExplorerEx::GetPeb` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | let peb: PPEB = GetPeb(); [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 101 | pub unsafe fn MasqueradePebAsExplorerEx() -> BOOL { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `MasqueradePebAsExplorerEx::GetPeb` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | let peb: PPEB = GetPeb(); [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 101 | pub unsafe fn MasqueradePebAsExplorerEx() -> BOOL { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | let module = (*(*peb).LoaderData).InMemoryOrderModuleList.Flink.sub(16) as PLDR_MODULE; [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetModuleHandleW` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | let h_module = match GetModuleHandleW(PCWSTR("ntdll.dll".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetModuleHandleW` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | let h_module = match GetModuleHandleW(PCWSTR("ntdll.dll".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:123:60 [INFO] [stdout] | [INFO] [stdout] 123 | ...SECTION = std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlEnterCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:123:60 [INFO] [stdout] | [INFO] [stdout] 123 | ...SECTION = std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlEnterCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetProcAddress` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:123:80 [INFO] [stdout] | [INFO] [stdout] 123 | ...std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlEnterCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetProcAddress` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:123:80 [INFO] [stdout] | [INFO] [stdout] 123 | ...std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlEnterCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:124:60 [INFO] [stdout] | [INFO] [stdout] 124 | ...SECTION = std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlLeaveCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:124:60 [INFO] [stdout] | [INFO] [stdout] 124 | ...SECTION = std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlLeaveCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetProcAddress` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:124:80 [INFO] [stdout] | [INFO] [stdout] 124 | ...std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlLeaveCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::LibraryLoader::GetProcAddress` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:124:80 [INFO] [stdout] | [INFO] [stdout] 124 | ...std::mem::transmute(GetProcAddress(h_module, PCSTR("RtlLeaveCriticalSection\0".as_ptr()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | RtlEnterCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | RtlEnterCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:134:29 [INFO] [stdout] | [INFO] [stdout] 134 | RtlEnterCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:134:29 [INFO] [stdout] | [INFO] [stdout] 134 | RtlEnterCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:31 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:31 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).ImagePathName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:31 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:31 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | RtlInitUnicodeString(&mut (*(*peb).ProcessParameters).CommandLine, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | RtlInitUnicodeString(&mut (*module).FullDllName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | RtlInitUnicodeString(&mut (*module).FullDllName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | RtlInitUnicodeString(&mut (*module).FullDllName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | RtlInitUnicodeString(&mut (*module).FullDllName, PCWSTR::from_raw(wexplorer_path)); [INFO] [stdout] | ^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | RtlInitUnicodeString(&mut (*module).BaseDllName, PCWSTR("Explorer.exe".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:139:31 [INFO] [stdout] | [INFO] [stdout] 139 | RtlInitUnicodeString(&mut (*module).BaseDllName, PCWSTR("Explorer.exe".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())); [INFO] [stdout] | ^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::System::WindowsProgramming::RtlInitUnicodeString` is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | RtlInitUnicodeString(&mut (*module).BaseDllName, PCWSTR("Explorer.exe".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:139:31 [INFO] [stdout] | [INFO] [stdout] 139 | RtlInitUnicodeString(&mut (*module).BaseDllName, PCWSTR("Explorer.exe".encode_utf16().chain(Some(0)).collect::>().as_mut_ptr())); [INFO] [stdout] | ^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | RtlLeaveCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | RtlLeaveCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:141:29 [INFO] [stdout] | [INFO] [stdout] 141 | RtlLeaveCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/MasqueradePebAsExplorerEx/mod.rs:141:29 [INFO] [stdout] | [INFO] [stdout] 141 | RtlLeaveCriticalSection((*peb).FastPebLock as *mut RTL_CRITICAL_SECTION); [INFO] [stdout] | ^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/bindings/mod.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | &*(self as *const _ as *const $ftype) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/bindings/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | pub unsafe fn $variant(&self) -> &$ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/bindings/mod.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | &*(self as *const _ as *const $ftype) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/bindings/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | pub unsafe fn $variant(&self) -> &$ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/bindings/mod.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | &mut *(self as *mut _ as *mut $ftype) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/bindings/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/bindings/mod.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | &mut *(self as *mut _ as *mut $ftype) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/bindings/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / UNION!{union LARGE_INTEGER { [INFO] [stdout] 124 | | [i64; 1], [INFO] [stdout] 125 | | s s_mut: LARGE_INTEGER_s, [INFO] [stdout] 126 | | u u_mut: LARGE_INTEGER_u, [INFO] [stdout] 127 | | QuadPart QuadPart_mut: LONGLONG, [INFO] [stdout] 128 | | }} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `UNION` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 36 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 36 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `Evasion` (bin "Evasion" test) due to 2 previous errors; 36 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `Evasion` (bin "Evasion") due to 2 previous errors; 36 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "e27f94e8494fd1893bed7a942c1abec2ed8c86a01a2af9403272310ee12fc0e7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e27f94e8494fd1893bed7a942c1abec2ed8c86a01a2af9403272310ee12fc0e7", kill_on_drop: false }` [INFO] [stdout] e27f94e8494fd1893bed7a942c1abec2ed8c86a01a2af9403272310ee12fc0e7