结构体缺失的解决办法1.直接去复制对应内核版本的对应结构体导入这个方法直接一点,但是不同内核的结构体有时候不太一样,而且得一直复制粘贴,还会遇到嵌套结构体的问题,太jb麻烦了,所以除非结构体比较简单,这种方式会好用一些。而且导入时只需要导入到我们最后用到的那个成员就好了。比如:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); ssize_t (*read_iter) ...
ELFLoader的实现0x01 Loador加载流程linker中,加载so有以下流程:
find_module
check_elf_header
elf_module_alloc
layout_segments
find_loaded_phdr
phdr_table_get_dynamic_section
load_dynamic
elf_link
list_add_tail
流程概括下来就是以上九件事,分别举例说说他们每个都是什么意思吧。
0x02 模块实现一、find_module123456789101112131415161718192021222324// 在链表中查找模块static struct elf_module *find_module(const char *name){ struct list_head *pos; struct elf_module *m = NULL, *tmp; list_for_each(pos, &mod_list) { tmp = list_entry(pos,...
过Frida检测通用思路0x00:环境设备:MEIzu21PRO
系统版本:Android 14
Frida-Server:16.4.10
小猿口算:3.93.3
0x01:问题在我使用frida尝试注入,进程直接被杀
1234567891011121314151617PS D:\frida_hook\xiaoyuan> frida -U -l hook.js -f com.fenbi.android.leo ____ / _ | Frida 16.4.10 - A world-class dynamic instrumentation toolkit | (_| | > _ | Commands: /_/ |_| help -> Displays the help system . . . . object? -> Display information about 'object' . . . . exit/quit -> Exi...
基于MPL架构的神经网络
序言: 最近一个名为KAN的神经网络架突然爆火,所以借此机会了解了一下神经网络相关的概念。并分析KAN与传统架构有哪些不同。本文仅代表笔者的个人理解,不涉及严谨的数学证明,若有错误之处还请指正。
正片: 神经网络好像是一个很高级的词汇,让我们听见就觉得其遥不可及。实际上它本质上就是一个函数。为什么这么说呢,就拿最基本的人脸识别来举例子吧。
人脸识别最基本的流程是什么呢,比如我们宿舍的门禁系统,由摄像头拍摄帧流,把数据流发送给上位机,在上位机中对拍摄到的某帧画面进行标记人脸检测人脸,最终输出结果,开门或是不开门。这个过程可以分为三个步骤:
输入图片
处理图片
输出结果
输入 -> 处理 -> 输出,这本质是不是把一个集合里的元素映射到另一个集合呢,这不就是我们初中就开始接触的函数吗?假设我们有一个函数f,f的参数(自变量)是我们输入的图片,直觉上可能会以为f的值就是一个布尔值(是否打开门),可以这么理解,但实际上f是一个浮点数(confident) 它代表置信度或者置信距离,这个数可以用来衡量你是某个人的概率大小。怎么样,原理是不...
旧手机改监控前言: 暑假赋闲在家,有时候几个伯伯会来喊我有事情,我在自己的房间放歌总是听不见,这让他们很烦恼,于是就想着自己做一个监控,正好让爸爸妈妈也能有空看看家门口。
由于需要在有人出现的时候对我发送提醒,所以这里需要引入物体识别。这里为了方便,直接用开源的YoloV8了。接下来就是硬件的选择,最先考虑的是Esp32-cam,因为它很便宜,IDF库用起来也不是很麻烦。但是它的算力太垃圾了,传输视频到是可以,但是推理模型就显得力不从心了,而且主流的模型推理库似乎没有适配Risc-V架构的,这样要实现物体检测就必须再搭配一个上位机,显然不符合原本的设计理念。故只好放弃ESP-32cam,从而选择了Android平台。
Android平台能用的资源很多,更好的CPU/GPU,更丰富的外设,更舒适的开发环境,而且旧手机不用钱,能干很多事情。(我觉得旧手机就是最屌的嵌入式设备,吊打其他开发板,搭载855Soc的手机现在200-300就能买到嘻嘻)
那么接下来就是实现Camera和Yolo推理
Camera使用的camera2 api,在so层实现,写完之后写Yolo推理的时候才发现,有...