- 博客(97)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 [Frida集成篇]安卓10系统内置frida相关工具实战教程
1. 前言 frida工具在逆向工程中用的越来越多。平时我们在安卓端需要把frida server或者frida-inject等工具通过adb push放到手机。然后去启动。有时候需要修改frida server的启动端口,那就需要先手动输入命令去结束当前正在运行的frida server,然后重新使用新端口启动。或者偶尔数据线突然断开了,又的重新电脑终端执行命令去启动。这种操作起来非常繁琐麻烦。为了简化frida-server或者frida-inject的操作,可以通过将frida-s....
2021-04-12 12:19:55
1854
3
原创 A_005.手机Pixel 3刷入自编译的Android 12系统ROM
如果手机进入fastboot模式之后,手机界面中的"Device State:"后面的文字为"locked"说明手机还未解锁。在以上刷入工程镜像的操作中,点击"flash-all.bat"之后自动完成了刷机工作。由于Aosp源码中编译出来的最终镜像是各种.img后缀的文件镜像。**说明:**后续操作刷的是安卓11的镜像演示,安卓12的操作是一样的,只需要把对应的镜像名改为下载的安卓12的镜像。比如Ubuntu虚拟中参考命令如下如下:**通过对比之后,需要将如下编译目标中的文件拷贝到工程镜像刷机包目录替换。
2023-07-19 19:30:00
2864
2
原创 A_004.Aosp12源码中编译Pixel 3手机ROM
由于此处的测试机为pixel 3,对应系统源码设备代号为:blueline,所以选择:3. aosp_blueline-userdebug进行编译。执行以上两个脚本之后,会显示一个文本协议,需要按*"Enter"键拉到底部,然后输入"I ACCEPT"的信息之后才能提取成功。安卓Aosp源码中支持很多个设备的镜像编译,在编译之前需要配置对应设备依赖的驱动文件。点击页面中的"Link"下载对应的驱动文件包,并分别解压到源码根目录。Google已为Aosp源码中支持的设备提供了对应的驱动文件支持。
2023-07-16 21:55:02
1639
原创 A_002.基于WSL2环境的Aosp12源码开发环境搭建
源码开发环境组成:Windows 11系统、WSL子系统ubuntu20.04、Source Insight 4.0。可以参考该博客安装破解版Source Insight:https://bbs.pediy.com/thread-215669.htm。在WSL子系统启动的情况下,可以通过在电脑端输入:\\wsl$访问到wsl子系统ubuntu。参考如下图示:Windows端连接访问WSL子系统ubuntu之后,进入目录找到源码下载的位置。比如我当前下载源码目录的路径:\\wsl$\Ubuntu-20.0
2023-07-13 22:00:00
1143
原创 A_003.adb常用命令使用介绍
adb命令是调试控制手机过程中用的比较多工具。在电脑终端中执行adb --help可以查看当前支持的adb命令。当在命令行执行程序相关命令的时候,程序尝试连接到主机上的ADB服务器,如果找不到ADB服务器,程序自动启动一个ADB服务器。ADB服务器启动之后会和手机设备的adbd后台服务进程建立连接后。adb client就可以向ADB servcer发送服务请求;ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口监听设备的连接和拔除。
2023-07-13 21:45:00
1157
原创 玩转Android10源码开发定制(二)之基于Pixel 3手机超级详细演示fastboot刷机
如果手机进入fastboot模式之后,手机界面中的"Device State:"后面的文字为"locked"说明手机还未解锁。在以上刷入工程镜像的操作中,点击"flash-all.bat"之后自动完成了刷机工作。在该界面中使用手机"音量键-"切换功能选项,直到出现图中"Unlock the bootloader"字样,然后按下电源键确定操作。通过对比之后,需要将如下编译目标中的文件拷贝到工程镜像刷机包目录替换。手机usb连接电脑之后,通过如下adb命令使手机进入fastboot模式。参考命令如下如下:**
2022-11-19 22:10:16
2444
2
原创 玩转Android10源码开发定制(二)之基于Pixel 3手机超级详细演示recovery刷机
本节主要内容:Android主要刷机方式:(1).下载platform tools包(2).配置adb和fastboot命令到系统环境变量将下载的platform tools压缩包解压,然后将adb和fastboot所在的路径添加到电脑系统环境PATH变量。配置成功之后在终端输入命令查看是否成功。如下执行命令参考:3.下载Pixel 3安卓11官方工厂镜像刷机包Google官方手机对应的各个系统版本的工厂镜像都可以在以下网址找到,工厂镜像网址:https://developers.google.cn
2022-11-19 11:01:40
2327
原创 玩转Android10源码开发定制(五)之源码目录说明及模块源码路径定位
命令之后,可以通过hmm命令查看源码开发过程中提供的各种命令。安卓源码中主要提供了如下命令。cgrep命令: 在源码 C/C++文件中执行搜索。ggrep命令: 在源码Gradle文件中执行搜索。gogrep命令: 在源码Go文件中执行搜索。jgrep命令: 在源码Java文件中执行搜索。resgrep命令: 在源码res/*.xml文件中搜索。mangrep命令: 在源码AndroidManifest.xml文件中搜索。
2022-11-19 10:29:58
1871
原创 [Frida集成篇]FD_02.基于frida-inject脚本持久化开发实战
frida-inject脚本持久化的方案App开关文件目录以及脚本存储文件目录selinux配置封装和超级Root权限后台进程通信的java Api接口以及封装访问脚本相关目录文件的Java接口系统源码中添加App启动的时候执行frida-inject命令的逻辑代码开发控制App实现对第三方App 持久化的配置。
2022-11-08 08:52:29
1910
原创 [Frida集成篇]FD_01.三种方案实现Frida脚本持久化研究
frida-gadget持久化研究frida-gumjs脚本持久化研究frida-inject脚本持久化研究。
2022-11-08 08:48:16
3851
原创 [Frida集成篇]FC_01.ida server内置以及App控制启动、停止和配置端口
集成到手机系统进程中添加启动、停止的逻辑代码开发控制实现控制停止、启动、端口修改。
2022-10-26 21:09:56
1858
原创 [Frida集成篇]FB_03.开发控制App实现对App使用frida-inject工具
Android(l).linux原有的进程通信方式如管道、消息队列、共享内存、套接字、信号量、信号。比如Zygote进程的IPC采用的是Socket机制;比如adbd进程采用了socket通信机制。(2).安卓扩展的通信方式主要是Binder通信。比如进程主要是使用Binder来完成跨进程间的通信。由于通过修改adbd源码,adbd运行以后拥有了超级Root权限。所以我们可以将他当成一个su程序,只是App不能像正常的su程序那样执行su命令来调用其他shell命令。
2022-10-26 16:11:39
1677
原创 玩转Android10源码开发定制(二)之刷机操作简述
本文只讨论的刷机模式只针对lineageOs编译的系统进行刷机。Android刷机方式主要分为线刷方式和recovery模式刷机。:该方式需要手机处于fastboot模式。Fastboot是一种底层刷机模式,该模式下可以刷入基带、bootloadr以及Android系统的各个分区镜像。如果手机已经无法开机了,也可以通过进入fastboot模式进行线刷救活。:该方式需要刷入第三方recovery,需要手机进入recovery模式。recovery模式下可以进行系统备份或升级、恢复出厂设置等操作。
2022-10-25 11:20:19
1691
原创 [Frida集成篇]FB_01.内置frida-inject到手机系统
是frida中提供的可以直接放到手机端执行注入js脚本到App程序进行hook的工具。也就是说使用命令可以脱离PC端执行注入了。平时我们用frida进行App注入的时候,多半都是PC端安装frida工具,然后把放到手机端。手机端启动开启端口监听,PC端的frida工具通过端口连接到然后相应的命令去让执行相应的操作。将工具下载以后通过adb push命令放到手机,比如放到路径"
2022-10-24 19:05:44
2493
原创 玩转 Android10 源码开发定制(一)源码下载
测试设备: oneplus 3/3T设备代号:oneplus3Android 系统版本:10.0开发环境:Windows10 64bit+VMware+ubuntu虚拟机版本:VMware Workstation 15 Player版本 Ubuntu18.04内存至少 12G RAM硬盘空间至少 200GB。
2022-10-24 18:58:52
1795
原创 [Frida集成篇]FA_07.编译官方fridaserver或者strongFrida并替换系统内置版本
主要是通过patch代码的方式,为frida官方源码进行一些修改,抹除一些关键特征,为Android构建反检测版本的。
2022-10-24 18:37:51
1797
原创 [Frida集成篇]FA_06.不用刷机情况下升级或者降级系统中的fridaserver
由于在不断的更新中,可能有时候需要升级或者降级手机里面内置的。如果重新拷贝到源码里面编译刷机就显得比较麻烦。由于我们开发的手机系统运行已经拥有了超级权限。所以可以通过命令来升级或者降级手机系统中的。
2022-10-13 18:56:20
1647
原创 玩转Android10源码开发定制(二)之adb常用命令使用介绍
adb命令是调试控制手机过程中用的比较多工具。在电脑终端中执行adb --help可以查看当前支持的adb命令。当在命令行执行程序相关命令的时候,程序尝试连接到主机上的ADB服务器,如果找不到ADB服务器,程序自动启动一个ADB服务器。ADB服务器启动之后会和手机设备的adbd后台服务进程建立连接后。adb client就可以向ADB servcer发送服务请求;ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口监听设备的连接和拔除。
2022-09-22 11:07:27
2004
原创 TelephonyManager中NETWORK_TYPE_xx含义详细解释
Android系统中可以通过TelephonyManager提供的方法getNetworkType获取当前手机移动网络类型。以下是定义的各种网络类型的详细含义说明。
2022-09-19 15:38:45
819
原创 google手机连接wifi后提示“无法连接互联网“的原因和解决方法
经常使用谷歌的手机测试,发现它连接WiFi后总会提示"无法连接互联网",原因是先去访问了谷歌的服务器:http://clients3.google.com/generate_204来探测网络是否连通,由于国内网络防火墙的原因访问不了,所以就提示"无网络连接"。可以通过adb命令修改验证网络是否连通的服务器地址。
2022-09-18 08:18:46
22098
4
原创 [Frida集成篇]FA_03.添加自定义属性控制fridaserver启动和停止
本节主要内容:在Android源码中添加自定义属性配置App读取/设置自定义属性的selinux策略将fridaserver启动方式代码改为属性控制为了通过安卓系统的属性控制fridaserver启动和停止,将加入如下属性:2.系统中添加属性2.1 系统中新增属性在文件"build\tools\buildinfo.sh"中添加以下属性,添加之后属性如下:2.2 为新增的属性配置selinux标签由于新增的属性需要在后续开发的具有System权限的App中设置和获取。如果不配置系统App的selin
2022-09-14 06:49:00
793
原创 Ubuntu 20.04系统添加swap交换空间
由于经常使用虚拟机中安装Ubuntu系统下载编译开发安卓源码,经常遇到编译安卓源码过程中内存不足的情况,导致编译安卓源码失败。由于不能再给虚拟机分配更多的物理内存,只能考虑增加ubuntu swap交换分区来解决内存不足的情况。............
2022-08-09 22:29:39
1920
原创 A_01.Aosp11源码下载
安卓源码repo工具下载过程中会在源码根目录下面生成.repo缓存目录。源码下载完成之后,可以将.repo删除释放更多空间处理。以下使用du命令查看.repo目录占用情况。由于下载源码需要很长时间。为了防止这种情况,适应挂机下载的需求。为了以后开机启动之后安装的repo工具立即生效,将repo工具路径加入.bashrc文件中。以上命令显示.repo占用48G的空间,可以使用rm命令删除相应的目录。由于直接使用google官方下载源很难下载,以下使用清华源下载安卓源码。脚本,就可以挂机下载源码了。......
2022-08-09 10:27:20
1451
原创 Riru&Edxposed学习研究(四)Magisk(面具)源码下载编译详细实战教程
说明:本文操作在Windows 平台实现。一、Magisk源码下载在终端执行如下git命令下载Magisk源码。E:\workspace\androidstudio\EdXposedProj\20210109>gitclone--recurse-submoduleshttps://github.com/topjohnwu/Magisk.git以上命令执行完成之后,pcre模块会下载失败。是由于Magisk子模块"pcre"是从"https://android.googleso...
2021-04-17 11:05:08
1803
原创 Riru&Edxposed学习研究(三)免Magisk使用adb命令安装Edxposed
最近研究了一下magisk刷riru和edxposed的脚本,萌生了是否不需要Magisk,直接其他安装好的文件进行adb push 进去,实现Edxposed安装。经过研究实践,安装成功,将操作记录分享一下。一、前期准备 手机设备需要满足如下条件:1.手机adb拥有root权限,可以通过执行adbroot命令2.手机系统版本>=8.03.本文讨论的riru不是最新版本的,是基于替换libmemtrack.so完成zygote注入的版本 ...
2021-04-17 11:03:56
2883
原创 Riru&Edxposed学习研究(二)手把手编译Riru和Edxposed工程源码
一、准备工程源码从以下网址下载Riru工程,下载地址:https://github.com/RikkaApps/Riru从以下网址下载Edxposed工程源码,下载地址:https://github.com/ElderDrivers/EdXposedRiru和Edxposed工程源码下载好之后,用android studio打开,等待加载完成。二、工程源码编译1.Riru工程源码编译 Riru工程编译有两种方式。一种是用gradlew命令编译;另一种是使用a...
2021-04-17 11:02:12
2862
1
原创 Riru&Edxposed学习研究(一)手把手安装Edxposed
一、前期准备测试手机设备准备环境:手机型号:oneplus3系统版本:Android10手机提前刷入twrp recovery镜像。关于如何刷twrp可以参考如下文章:安卓10源码学习开发定制(2)刷机操作之Recovery刷机演示Magisk刷机包准备:Magisk下载地址如下:https://github.com/topjohnwu/Magisk/releases此处我选择Magisk v21.1版本,下载地址:https://github.com/t.
2021-04-17 10:58:49
8515
原创 安卓10源码开发定制(37)DexClassLoader加载流程分析
一、前言 在安卓app加固、插件化开发过程中,DexClassLoader用的比较多。像现在的各种类Xposed的框架在加载外部插件的时候,也使用了DexClassLoader来进行动态加载模块,然后反射调用插件配置的入口方法。 在8.0系统以后,新增了一个InMemoryDexClassLoader。和DexClassLoader都是继承于BaseDexClassLoader。本章节只分析DexClassLoader,下一章分析InMemoryDexClassLoader...
2021-03-19 10:57:54
992
原创 安卓10源码开发定制(36)系统截屏流程之surfaceflinger服务处理流程分析
一、surfaceflinger启动 surfaceflinger作为显示系统非常重要的服务。在init启动之后init进程通过解析surfaceflinger.rc配置文件进行启动。surfaceflinger.rc文件路径如下:frameworks\native\services\surfaceflinger\surfaceflinger.rc 该文件内容如下:service surfaceflinger /system/bin/surfaceflinger c...
2021-03-19 10:54:14
1082
原创 安卓10源码开发定制(35)系统截屏流程之JNI层分析
一、前言 在上一篇安卓10源码开发定制(34)系统截屏流程之Java层分析已经分析了系统截屏中Java层的流程。本篇将接着上篇分析系统截屏在JNI层的流程。二、截屏JNI层流程分析1.SurfaceControl.java类中的jni接口 SurfaceControl.java中定义了native方法来提供屏幕截图操作。如下所示: private static native ScreenshotGraphicBuffer nativeScreensho...
2021-03-19 10:52:00
733
安卓logcat输出内核日志android studio工程源码
2021-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人