AOSP去特征|AOSP导入android-studio|AOSP导入clion

什么是AOSP

开源性:AOSP的源代码公开,任何人都可以获取和修改,适合想要开发或自定义安卓系统的开发者。
灵活性:AOSP提供了基本的安卓功能,制造商可以基于AOSP开发出自己的定制系统(如三星的One UI、小米的MIUI、华为的EMUI等)。
参考标准:AOSP作为安卓系统的基础,为安卓生态系统中的硬件和软件提供了一个标准。任何符合AOSP标准的应用都可以在AOSP基础上运行。
不包含Google服务:AOSP并不包含Google Play服务(如Google Play商店、Gmail等),这些服务是Google专有的。在中国市场或不依赖Google服务的设备上,厂商可以基于AOSP构建自己的应用商店和服务体系。

脱壳能干吗

Root检测绕过
脱壳机
集成证书

过root检测

如果root之后手机会有信息特征,app可以通过这些特征来达到闪退或者白屏得效果
检测情况
	比如在系统目录下有没有su命令
		/system/app/Superuser.apk
		/sbin/su
		/system/bin/su
		/system/xbin/su
		/data/local/xbin/su
		/data/local/bin/su
		/system/sd/xbin/su
		/system/bin/.ext/.su
	root权限可能会改变设备的某些系统属性,应用可以通过检查这些属性来判断。
		例如,通过读取getprop命令的输出查看系统参数,或检查ro.debuggable、ro.secure属性是否被更改。

将AOSP导入到Clion

在~/bin/aosp 目录中执行下面得操作
source build/envsetup.sh
lunch  
然后选择自己的版本
继续输入下面的
export SOONG_GEN_CMAKEFILES=1
export SOONG_GEN_CMAKEFILES_DEBUG=1
然后进行构建
用clion打开下面得目录
/bin/aosp/out/development/ide/clion/art/runtime/libart-arm64-android

将AOSP导入到Android Studio

source ~/bin/aosp/build/envsetup.sh
mmm development/tools/idegen/
	用于编译 AOSP(Android 开源项目)中的 idegen 模块的命令。
	idegen 是一个工具,专门为在 IDE(集成开发环境)中查看和编辑 AOSP 源码而设计。
	通过编译 idegen,可以生成适用于 Android Studio 或 IntelliJ IDEA 的工程配置文件(如 .ipr 和 .iml 文件),从而方便地在这些 IDE 中导入和浏览 AOSP 源码。
development/tools/idegen/idegen.sh
如果显示权限不足没关系 等待即可 
如果完成了会生成
ls ~/bin/aosp/ | grep andro
android.iml
android.ipr

之后配置Android Studio
	1.先创建一个空项目 然后让他去加载gradle 图在下面 这个时间很长感兴趣的可以配置国内源
		https://blog.csdn.net/github_74110837/article/details/143092695 
		上面你那个博客是更还源
	2.在设置栏搜索Android S  找到Android SDK 然后在SDK Platforms中 下载 你所需要的安卓版本 我这里是 10 和11
	3 在设置栏目中找到 SDKTools中 下载NDK CMake 这两个  图在下面
用 android studio打开 ~/bin/aosp/android,ipr  这时间就很长了 大概得半个小时了




脱壳

正向开发 
先需要将app打包成apk 之后在进行加壳 使用第三方加固  也就是将apk提交给第三方加固 然后就可以发布app了
加固方式有
	VMP加固 虚拟机保护   (自定义虚拟机)虚拟机运行此代码 -> 手机在运行 
	整体加固 直接整体加固
	抽取加固 只有骨架没有血肉 执行功能填充  整体思路就是主动运行某个方法的时候抽出来保存
	其实大型app对速度有要求的一般都是不加壳的

文件修改

关闭 senlinux

~/bin/aosp/system/core/init/selinux.cpp
如果没动过话 在106行数 加入 return false


开启adbd得root权限

~/bin/aosp/system/core/adb/daemon/main.cpp

去除aosp特征值

下两个是指纹信息是该Android版本在于app眼中是什么存在
	正式版本
	调试版本
所以要改成正式版本
/aosp/build/tools/buildinfo.sh
/aosp/build/tools/buildinfo_common.sh
还有其他特征值

修改PTRACE_TRACEME
	~/bin/aosp/bionic/libc/bionic/ptrace.cpp
	获取当前进程id 并且获取 prtace进程 那么就退出
修改得地方如下图



证书增添

将弄好得证书放入到
~/bin/aosp/system/ca-certificates/files 

证书如何处理的话可以看我以前的文章
相关推荐
诸神黄昏EX8 分钟前
Android 分区相关介绍
android
大白要努力!1 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
Estar.Lee1 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
Winston Wood1 小时前
Perfetto学习大全
android·性能优化·perfetto
浩宇软件开发2 小时前
Android开发,使用TabLayout+ViewPager2实现校园健康安全宣传
android studio·android开发
热爱生活的五柒4 小时前
vscode利用ofExtensions插件可以调试单进程Openfoam,但是不能调试mpi多进程案例
ide·vscode·编辑器
界面开发小八哥4 小时前
更高效的Java 23开发,IntelliJ IDEA助力全面升级
java·开发语言·ide·intellij-idea·开发工具
Dnelic-4 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
Eastsea.Chen7 小时前
MTK Android12 user版本MtkLogger
android·framework
小江村儿的文杰13 小时前
XCode Build时遇到 .entitlements could not be opened 的问题
ide·macos·ue4·xcode