You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
reptile/doc/why_kernel项目泛读.md

2.3 KiB


├── kernel
│   ├── backdoor.c  //后门程序,用于监听特定的网络数据包,并根据数据包的内容执行指定的命令
│   ├── dir.c    //判断文件夹是否隐藏
│   ├── encrypt
│   │   └── encrypt.c //使用给定的十六进制密钥对文件内容进行加密
│   ├── file.c   //判断文件是否隐藏
│   ├── include  //函数声明、定义、引用的头文件
│   │   ├── backdoor.h
│   │   ├── config.h
│   │   ├── dir.h
│   │   ├── encrypt.h
│   │   ├── file.h
│   │   ├── module.h
│   │   ├── network.h
│   │   ├── proc.h
│   │   ├── string_helpers.h
│   │   └── util.h //基本的功能实现,例如加密、命令执行和权限提升
│   ├── Kbuild
│   ├── khook //替换掉需要钩掉的函数的前几个字节替换成一个跳转指令让X开始执行的时候跳转到框架自定义的STUB代码部分STUB再调用用户自定义的钩子函数。然后又会执行原先被跳转指令覆盖的指令最后回到被钩掉的函数的正常执行逻辑
│   │   ├── engine.c  //内核级别的挂钩hook机制主要用于在Linux内核中动态修改函数行为
│   │   ├── engine.h
│   │   ├── engine.lds
│   │   ├── internal.h
│   │   └── x86
│   │       ├── hook.c  //内核中实现x86架构下的函数钩子hook
│   │       ├── Makefile
│   │       ├── README.md
│   │       ├── stub32.inc //32位汇编代码的定义或宏
│   │       ├── stub.inc  //汇编代码的定义或宏
│   │       └── stub.S //x86架构上实现函数调用的拦截和转发 汇编代码
│   ├── kmatryoshka
│   │   ├── Kbuild
│   │   └── kmatryoshka.c //内核模块的初始化
│   ├── loader
│   │   └── loader.c      ////加载所需模块
│   ├── main.c
│   ├── module.c          //内核模块隐藏
│   ├── network.c         //网络地址隐藏
│   ├── proc.c           //进程隐藏
│   ├── string_helpers.c //获取命令行参数,转为可打印的字符
│   └── util.c   //访问和操作进程的命令行参数