简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
直接上代码,思路就是得到代码段的起始地址和结束地址,然后先将数据存在一个buffer中,最后写入文件。kallsym.c#include <linux/init.h>#include <linux/module.h>#include <linux/kallsyms.h>static char *path = NULL;module_param(path, cha
Linux x86架构内核Hook实现一、内核函数text_poke()函数用于在内核动态替换opcode,从而达到Inline Hook的效果。/*** text_poke - Update instructions on a live kernel* @addr: address to modify* @opcode: source of the copy* @len: length to c
Linux驱动定时器的使用一、结构体定义在Linux kernel-5.11中内核对定时器的定义:#include/linux/timer.hstruct timer_list {/** All fields that change during normal runtime grouped to the* same cacheline*/struct hlist_nodeentry;//定时器的
前面讲的都是一些基础,比如说拿到sys_call_table地址,简单的hook某个函数,这一节做一个文件/文件夹隐藏,就是hook住文件枚举API --> getdents()&getdents64()fshid.c#include <linux/init.h>#include <linux/module.h>#include <linux/sysca
radare使用入门
这里主要是用到int register_module_notifier(struct notifier_block *nb)的通知链机制,当有ko加载时,notifier函数被调用;register.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/slab.h>MODULE_L
einj 注入内存ue/ce故障
最进在研究反汇编引擎,在google看到capstone反汇编工具,记录一下;capstone 官方网站:http://www.capstone-engine.org/github源码下载:https://github.com/aquynh/capstone下载源码之后://解压文件curtis@curtis-virtual-machine:~/Desktop$ unzip capstone-ma
如果作为恶意驱动的话,肯定是希望自己模块加载之后不会被发现,那么就需要对安装的模块进行隐藏(其实就是让你使用查找命令找不到),使用以下函数在驱动初始化入口进行摘链+kobject_del()函数删除当前模块的kobject就可以起到在/sys/module中隐藏。list_del_init(&__this_module.list);test.c#include <linux/modu
通过修改pte页表属性使内存可写一、相关API/** Lookup the page table entry for a virtual address. Return a pointer* to the entry and the level of the mapping.** Note: We return pud and pmd either when the entry is marked