Linux - 内核破坏内核空间只读做到修改系统调用表完成拦截系统调用
本篇文章的目的是为了修改系统调用表,而不是修改指令做什么inline hook,这里浅浅提一下,在arm64安卓平台,在内核的inline hook可以通过aarch64_insn_write 实现,当然这个方法是不导出的需要使用kprobe去获取! PS: aarch64_insn_write 是
android - 编译内核模块
本页详细介绍了为 Android 设备构建自定义内核的流程。以下说明会逐步指导您如何选择正确的源代码,构建内核,以及将结果嵌入到根据 Android 开源项目 (AOSP) 构建的系统映像中。 您可以使用 Repo 获取最新的内核源代码;通过在源代码检出的根目录下运行 build/build.sh
LinuxKernel - io_setup, io_destroy, io_submit, io_cancel, io_getevents解析 (aio.c解析)
linux内核的aio.c文件里面有几个系统调用,分别是io_setup, io_destroy, io_submit, io_cancel, io_getevents 。 io_submit 系统调用原型 #include <linux/aio_abi.h>
#include <sys/sysc
Linux - Note (Things You Never Should Do in the Kernel)
在面向新开发人员的 Linux 内核编程邮件列表中,人们会提出一些常见问题。几乎每次提出这些问题时,回答总是“不要这样做!”,让困惑的提问者想知道他们闯入了什么样的奇怪开发社区。这是偶尔发布的系列文章中的第一篇,旨在解释为什么做这些事情通常不是一个好主意。然后,为了弥补这些指责,我们打破了所有的规则
Linux - 解读aarch64_insn_(read/write/patch_text)
在 AArch64架构(ARM 64位架构)中,以 aarch64_insn_xxx 命名的一系列函数(例如 aarch64_insn_read、aarch64_insn_write、aarch64_i
安卓 - 内核模块读取进程maps
#include <linux/module.h>
#include <linux/sched.h> /* For task_struct */
#include <linux/pid.h> /* For find_get_pid */
#include <linux/mm.h> /* F
Linux - lgetxattr和getxattr有什么区别
在 Linux 中,lgetxattr 和 getxattr 都是用于获取文件的扩展属性(extended attributes)的系统调用函数。两者的主要区别在于它们对符号链接(symbolic links)的处理方式不同。 1. getxattr 描述: getxattr 用于获取指定文件的扩展