Linux - 安卓内核模拟触摸笔记
首先得学学多点触摸协议! static irqreturn_t zet6223_irq(int irq, void *dev_id) { struct zet6223_ts *ts = dev_id; u16 finger_bits; /* * First 3 bytes are an
阅读全文 →首先得学学多点触摸协议! static irqreturn_t zet6223_irq(int irq, void *dev_id) { struct zet6223_ts *ts = dev_id; u16 finger_bits; /* * First 3 bytes are an
阅读全文 →本篇文章的目的是为了修改系统调用表,而不是修改指令做什么inline hook,这里浅浅提一下,在arm64安卓平台,在内核的inline hook可以通过aarch64_insn_write 实现,当然这个方法是不导出的需要使用kprobe去获取! PS: aarch64_insn_write 是
阅读全文 →linux内核的aio.c文件里面有几个系统调用,分别是io_setup, io_destroy, io_submit, io_cancel, io_getevents 。 io_submit 系统调用原型 #include <linux/aio_abi.h> #include <sys/sysc
阅读全文 →首先我们需要准备一个ndk,真的很奇怪那些人老是推荐去什么奇怪的地方去下载,那玩意要安Android Studio或者sdkmanager,我不想安装怎么办?去github下载就好了!点我直达! 首先我们得下载一个工具链(((
阅读全文 →在面向新开发人员的 Linux 内核编程邮件列表中,人们会提出一些常见问题。几乎每次提出这些问题时,回答总是“不要这样做!”,让困惑的提问者想知道他们闯入了什么样的奇怪开发社区。这是偶尔发布的系列文章中的第一篇,旨在解释为什么做这些事情通常不是一个好主意。然后,为了弥补这些指责,我们打破了所有的规则
阅读全文 →static __always_inline unsigned long __must_check copy_to_user(void __user *to, const void *from, unsigned long n) { if (!check_copy_size(from, n, tr
阅读全文 →#undef INTERNAL_SYSCALL_ERROR_P #define INTERNAL_SYSCALL_ERROR_P(val) \ ((unsigned long int) (val) > -4096UL) #ifndef SYSCALL_ERROR_LABEL # define
阅读全文 →在 AArch64架构(ARM 64位架构)中,以 aarch64_insn_xxx 命名的一系列函数(例如 aarch64_insn_read、aarch64_insn_write、aarch64_i
阅读全文 →