• 2024-07-01Android应用启动流程一次看透
    1.1、冷启动和热启动冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,然后再根据启动的参数,启动对应的进程组件,这个启动方式就是冷启动。热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然
  • 2024-06-21Riru和Lsp
    参考lsposed运行流程分析riru通过修改系统属性ro.dalvik.vm.native.bridge将libriruloader.so注入到zygote进程中zygote会执行LoadNativeBridge函数,LoadNativeBridge函数会根据属性ro.dalvik.vm.native.bridge的值进行dlopen,因此.init_array成为了Hook点libriru的init
  • 2024-05-31R语言学习 - 箱线图(小提琴图、抖动图、区域散点图)
    箱线图箱线图是能同时反映数据统计量和整体分布,又很漂亮的展示图。在2014年的NatureMethod上有2篇Correspondence论述了使用箱线图的好处和一个在线绘制箱线图的工具。就这样都可以发两篇Naturemethod,没天理,但也说明了箱线图的重要意义。下面这张图展示了Barplot、Box
  • 2024-05-15Android系统启动流程
    在Android中系统的启动流程是一个经常会被问到的问题,那么下面我们通过一张图来说明一下 从上面的图片中可以看到它的一个启动流程.1.BootLoader首先,当我们点击电源开关后,引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序到RAM,然后执行,这时执行的就是B
  • 2024-04-15Android修改应用列表的失败学习
    没什么实用价值,一种记叙文和学习笔记的结合体。 0.回老家收到新需求:能不能处理一下这台旧手机,让我在家打上单位的钉钉打卡?旧手机型号华为荣耀7i,安卓版本4.0.3。看到华为两个字,我仿佛看到了我失败的未来。1. 首先想到的必然是虚拟定位。但钉钉显然会防范这种方法。搜索资料
  • 2024-03-27Android Zygote 启动流程
    Zygote进程介绍介绍在Android中,DVM、ART、和应用程序进程以及系统关键服务的SystemServer进程都是由Zygote进程创建,它被称为孵化器通过fork方式,创建应用程序进程和SystemServer进程,由于Zygote进程在启动的时候会创建DVM或者ART,因为通过fork而创建的应用程序
  • 2024-03-15Android 11 Zygote启动流程
    Zygote进程由init进程启动,是systemserver进程和APP进程的父进程先看一下rc文件,以init.zygote32.rc为例servicezygote/system/bin/app_process-Xzygote/system/bin--zygote--start-system-serverclassmainpriority-20userrootgrouprootr
  • 2023-09-06Android原生库和架构层通信的socket
    Android为原生库和架构层之间的通信提供了socket机制,在系统中为其提供了/dev/socket节点。/dev/socket节点是在init.rc文件初始化时生成的, $ls/dev/socketadbdcnddnsproxyddpmddpmwrapperfwmarkdims_datadims_qmidims_rtpdinstalldipacm_log_filelmkdlogdlogdrlo
  • 2023-09-04软件测试 | Dalvik虚拟机是如何执行程序的
    Android系统的架构采用分层思想,这样的好处是拥有减少各层之间的依赖性、便于独立分发、容易收敛问题和错误等优点。Android系统由Linux内核、函数库、Android运行时、应用程序框架以及应用程序组成。如图3-4的Android系统架构所示,Dalvik虚拟机属于Android运行时环境,它与一些核心库
  • 2023-08-12Android系统启动-SystemServer上篇-1
    相关文件:/frameworks/base/core/java/com/android/internal/os/-ZygoteInit.java-RuntimeInit.java-Zygote.java/frameworks/base/services/java/com/android/server/-SystemServer.java/frameworks/base/core/jni/-com_android_internal_os_Zygote.cp
  • 2023-05-10Android系统启动-3-zygote篇-1
    基于Android6.0,相关文件主要是:/frameworks/base/cmds/app_process/App_main.cpp/frameworks/base/core/jni/AndroidRuntime.cpp/frameworks/base/core/java/com/android/internal/os/-ZygoteInit.java-Zygote.java-ZygoteConnection.java/frameworks/base/
  • 2023-03-082023年度Android面试复习
    Android系统启动流程?当按电源键触发开机,首先会从ROM中预定义的地方加载引导程序BootLoader到RAM中,并执行BootLoader程序启动LinuxKernel;然后启动用户级别的第一个
  • 2023-03-01GNSS模块
    1.Location服务注册第一个注册是在SystemServer中将location服务注册到ServiceManager中去;第二个注册是在SystemServiceRegistry中服务的注册。注册1:将
  • 2023-01-08lsposed运行流程分析
    xposed适用的最高版本为android8.0,针对高版本的ARTHOOK框架可以使用比较有名的lsposed。它使用了lsplantARTHOOK框架(早期使用YAHFA)并提供了和xposed一样的接口API与其
  • 2022-12-30xposed源码分析
    xposed原理zygote进程是android系统第一个apk进程,其他所有的apk进程都是通过zygote进程fork的。xposed是一个hook框架,其通过修改zygote进程的native层代码和java层代码在z
  • 2022-12-05AMS和Zygote通信为什么采用socket而不是Binder
    参考:为什么SystemServer进程与Zygote进程通讯采用Socket而不是Binder1、AMS、WMS等系统服务处于SystemServer进程中2、SystemServer(SystemService)与ServiceManager勿混
  • 2022-11-0702-DALVIK虚拟机启动过程
    2.1init.rc启动脚本Android系统在启动时,第一个启动的进程就是init进程,也就是我们说的一号进程,我们通过下图的ps命令可以看到init进程号为1。接着,init进程根据读取/init.r
  • 2022-09-28Lsposed 技术原理探讨 && 基本安装使用
    目前市场上主流的Hook框架有两款,一个是Frida,另一个是Xposed。他们之间各有优缺点,简单总结来说:Frida快,但是不稳定;Xposed稳定,但是操作繁琐,减缓了分析的操作的速度。1.1Xpos