大约 5 分钟
1.环境准备
本文主要介绍lsposed的编译流程;
lsposed仓库:https://github.com/LSPosed/LSPosed
libxposed100仓库:https://github.com/LSPosed/LSPosed
jdk:17
2.lsposed编译
首先拉取lsposed的仓库:
git clone https://github.com/LSPosed/LSPosed.git .
大约 2 分钟
本文主要介绍Android系统流程中的基本考点!
1.Android虚拟机的变化
JIT:
JIT即运行时编译策略,可以理解成一种运行时编译器,此时Android的虚拟机使用的是Dalvik,为了加快Dalvik虚拟机解释dex速度,运行时动态地将执行频率很高的dex字节码翻译成本地机器码
缺点:
(1)每次启动应用都需要重新编译
(2)运行时比较耗电,造成电池额外的开销
大约 8 分钟
大约 3 分钟
之前在Android当中,有内联汇编的系统调用方案,然后呢,有了鸿蒙,于是乎就想这里能不能直接内联汇编实现系统调用呢,想到这个想法,那就尝试一下吧。
使用环境
我这里只有9的API,因此这里基于API 9进行测试,对于大于API 9的版本,因为我拿不到对应的sdk,因此无法测试,对于高版本文档,我这也看不了,因此也没办法查阅。

大约 3 分钟
在上一篇文章当中,研究了在鸿蒙当中如何采用内联汇编的方案来执行系统调用,这种方案呢,可以直接在so当中搜索到相关的指令,那么有没有什么方案可以避免这一点呢,那么我就想到了mmap这个函数。
mmap函数
mmap是一个Unix和类Unix操作系统(如Linux)中的一个系统调用,它允许程序员将一个文件或其他对象映射进内存。通过这种方式,文件或设备的内容可以像访问普通内存数组那样直接访问,而无需使用传统的文件读写操作。
有了,这个知识,那么,我们就可以用代码来实现这个功能了。
大约 3 分钟
大约 11 分钟
1.团队组成
安全后厨团队是由各大厂移动安全从业者、各高校硕博组建的一支旨在移动安全研究的团队,团队包括三个小组:运营推广小组、技术研究小组、学术交流小组。
| 工作职责 | |
|---|---|
| 运营推广小组 | 主要负责微信公众号、星球、博客网站等文章的整理和格式的调整,并定期完成相关的活动策划等 |
| 技术研究小组 | 由各大厂等安全从业人员组成,主要为定期交流分享技术文章,分享行业内的知识前沿等 |
| 学术交流小组 | 由各高校硕博学术组成,主要负责分享学术论文,定期交流行业内的学术会议,并组建学术研讨会等 |
大约 2 分钟
大约 4 分钟
本文主要介绍C++面试中的基本考点!
基础语法
在main执行之前和之后执行的代码可能是什么?
main函数执行之前,主要就是初始化系统相关资源:
- 设置栈指针
- 初始化静态
static变量和global全局变量,即.data段的内容 - 将未初始化部分的全局变量赋初值:数值型
short,int,long等为0,bool为FALSE,指针为NULL等等,即.bss段的内容 - 全局对象初始化,在
main之前调用构造函数,这是可能会执行前的一些代码 - 将main函数的参数
argc,argv等传递给main函数,然后才真正运行main函数 __attribute__((constructor))
大约 186 分钟
