编译原生安卓aosp源码,实现硬改以及定位

系列文章目录

第一章 安卓aosp源码编译环境搭建
第二章 手机硬件参数介绍和校验算法
第三章 修改安卓aosp代码更改硬件参数
第四章 编译定制rom并刷机实现硬改(一)
第五章 编译定制rom并刷机实现硬改(二)
第六章 不root不magisk不xposed lsposed frida原生修改定位
第七章 安卓手机环境检测软件分享
第八章 硬改之设备画像

第九章 修改Art虚拟机对指定app的指定函数进行拦截(一)

第十章 修改Art虚拟机对指定app的指定函数进行拦截(二)



前言

起因是因为一次偶然的机会,需要实现某应用异地打卡,最开始使用的方案是root、框架但瞬间被某应用查到。

迫于无奈,只能从操作系统源码入手,反正hook也不过是hook那几个系统里的类,直接改系统的类和函数应该一样的效果。既然到FrameWork层了,顺手研究下其他参数的修改。


一般情况下:我们在移动电话中使用某些基本的技术对不同的基本信息进行更改。包括型号和周边条件的参数。

    作为示例,主要改变的参数包括:
    Android_Id
    IMEI
    移动电话序列号
    移动电话号码
    WIFI-MAC
    WIFI-Name
    Android版本
    ROM固件
    移动电话号码
    移动电话型号
    移动电话品牌
    CPU型号
    移动电话制造商
    GPS定位
    通话记录仿真
    手机短信仿真
    Wi-Fi列表
    等等各种类型的 Android移动电话系统信息的修改能力。

Android从10起,因为 APP的权限限制,无法获得某款手机的独有代码,不过大厂里的资深开发人员,却可以绕过这些代码,获得该手机的独有代码,各家都有各自的本事。

再到安卓13, 虽然app已经不能用常规方式获取到imei, meid, mac等设备的唯一标识符, 虽然如此, 但这些信息能改还是尽量改一下, 百利无一害

例如很多设备信息查看app已经无法获取设备硬件序列号, 但是通过

c 复制代码
adb shell getprop ro.serialno
adb shell getprop ro.boot.serialno
adb shell getprop ro.vendor.serialno
adb shell getprop persist.radio.serialno
adb shell getprop ro.boot.vbmeta.digest

仍然可以, 或者通过libc.so导出函数读取linux内核文件也可以获取

改机的各种方案

1.HOOK框架

在201x时, Xposed版本的改机是最受欢迎的,即使在202x时,这个著名的改机也是很靠谱的,改机的方式就是在app_process中对 java层中的功能进行替换和更改。改变机器的变化点,不外乎是在系统架构的层次上的替换。

博弈

1.通过获取 xposed残留物、关键字来探测、编码叠层、帧的存在性等;反作用力,hook残留物;xposed变种,其中,所述 xposed变种将, 以自制xposed框架替代市面通用的框架;

2.将诸如 getpropro.se rial no、 command等的基础参数与框架层的参数进行比较;反制,因为下面的代码超过了 xposed的框架的能力。

2.ROOT

在安卓8以前的手机root是相对来说方法比较多的,但随着手机厂商加强的安全防护,root越来越难,只有小米手机的开发版系统能开启root。

在 magisk面具出世之后,root方法得到了很大的整合。APP制造商对根的检查、 su文档特性、根过程特性、proc-map特性等。应对措施: magisk已经发展出隐藏root、应用程序包名称的随机化等能力(相对薄弱,但在一些方面仍然可以探测到)。

不管你怎么完美,如果你的手机 root,那就别想了, root的环境是一切软件安全测试的首要重点,一定要免 root。

而且, Xposed的路径和数据包名称也是被侦测到的关键点之一,修改 Xposed的源代码并没有什么作用,各大厂商都有上千种方法可以判断出你使用的是 Xposed架构。

3.ROM定制

主要是将安卓源代码 AOSP编译,进行系统的定制,以实现改字符串,改惟一信息。

优点:修改的自由度很高,可以通过修改机型, IMEI, MAC,序列号,甚至驱动程序等来实现对 CPU的信息覆盖等功能,不需要 root,xp框架等操作,是当前市面商业版最常用的修改方法;

缺点:因为是特定型号,所以不能很好地匹配,而且若要匹配多个手机型号,那么就必须为每个型号准备一组 ROM。

4.其他

1.不使用 root的 VirtualXposed移动电话,使用化身。主要缺点:

第一类: 比root设备卡

第二步:仍然是使用xposed

第三:不太适应,频繁闪退死机。

2.硬改:使用 UA或 HW的硬修改工具来修改移动电话的序列。

3.软改:采用虚拟现实技术、沙盒技术等,不需要 root架构,可以对应用程序进行简单的注入。

相关推荐
SRC_BLUE_1725 分钟前
SQLI LABS | Less-39 GET-Stacked Query Injection-Intiger Based
android·网络安全·adb·less
无尽的大道4 小时前
Android打包流程图
android
镭封5 小时前
android studio 配置过程
android·ide·android studio
夜雨星辰4875 小时前
Android Studio 学习——整体框架和概念
android·学习·android studio
邹阿涛涛涛涛涛涛5 小时前
月之暗面招 Android 开发,大家快来投简历呀
android·人工智能·aigc
IAM四十二5 小时前
Jetpack Compose State 你用对了吗?
android·android jetpack·composer
奶茶喵喵叫6 小时前
Android开发中的隐藏控件技巧
android
Winston Wood8 小时前
Android中Activity启动的模式
android
众乐认证8 小时前
Android Auto 不再用于旧手机
android·google·智能手机·android auto
三杯温开水8 小时前
新的服务器Centos7.6 安卓基础的环境配置(新服务器可直接粘贴使用配置)
android·运维·服务器