-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmain.c
62 lines (50 loc) · 1.7 KB
/
main.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// RootShield
// Author: @ImKKingshuk
#include "rootshield.h"
void print_banner(void) {
const char *banner[] = {
"***************************************************",
"* RootShield *",
"* The Ultimate Shield for Rooted Android Device *",
"* v1.1.0 *",
"* ---------------------------- *",
"* by @ImKKingshuk *",
"* Github- https://github.com/ImKKingshuk *",
"***************************************************"
};
for (int i = 0; i < sizeof(banner) / sizeof(banner[0]); i++) {
pr_info("%s\n", banner[i]);
}
}
static int __init root_shield_init(void) {
print_banner();
pr_info("RootShield initializing");
if (register_exec_monitor() < 0) {
pr_err("Failed to register exec monitor");
return -1;
}
if (register_file_monitor() < 0) {
pr_err("Failed to register file monitor");
unregister_exec_monitor();
return -1;
}
if (register_process_monitor() < 0) {
pr_err("Failed to register process monitor");
unregister_exec_monitor();
unregister_file_monitor();
return -1;
}
pr_info("RootShield initialized successfully");
return 0;
}
static void __exit root_shield_exit(void) {
unregister_exec_monitor();
unregister_file_monitor();
unregister_process_monitor();
pr_info("RootShield exiting");
}
module_init(root_shield_init);
module_exit(root_shield_exit);
MODULE_LICENSE("GPL-3.0");
MODULE_AUTHOR("@ImKKingshuk");
MODULE_DESCRIPTION("The Ultimate Shield for Rooted Android Devices");