Corax的博客

“我想做我能做的事 ”

【技术研究】使用Pcileech绕过windows锁屏密钥

TEC

资料 https://github.com/ufrisk/pcileech https://github.com/ufrisk/LeechCore/wiki/Device_VMWare 本篇博客有关于通过使用pcileech的unlock模块,绕过windows10版本锁屏密码(本地帐号)。 第一个是pcileech的项目地址 本篇大部分内容与此相关。 也贴出pcileech的有关...

【Android学习】《Android进阶解密》四之三

工具学习

Service的绑定过程 之前是调用context的startservice启动那些service 现在通过Context的bindService来绑定Service,绑定Service的过程要比启动Service的过程复杂一些 ContextImpl到AMS的调用过程 时序图 首先是ContextWrapper调用到ContextImpl的bindservice,跟上节一样,这...

【Android学习】《Android进阶解密》四之二

工具学习

Service的启动过程 这部分与上一部分 根activity启动有部分相似 另外Service启动过程涉及上下文Context的知识点,这里只关注流程而不会详细介绍Contex Service的启动过程将分为两个部分来进行讲解,分别是 ContextImpl到ActivityManageService的调用过程 和 ActivityThread启动Service Contex...

【Android学习】《Android进阶解密》四之一

工具学习

四大组件的工作过程 关联章节:第2章 Android系统启动;第3章 应用程序进程启动过程 书中的流程其实是很不错的,从android系统启动,到应用程序进程(还是要强调是进程),再到第四章的启动应用程序(这里才是应用程序)所需要的关于四大组件的知识,调理很清晰。 原话 在前面的两章中我们学习了系统的启动过程和应用进程的启动过程,应用进程启动后接着就该启动应用程序了,也就是启动根A...

【Android学习】《Android进阶解密》三之四

工具学习

消息循环创建 这里跟三之三一样,同样是作为三之二的补充 消息循环创建的时机在这 我们看看对应的代码 看看当时的分析 可以看到在注释1处通过反射获得了android.app.ActivityThread类,接下来在注释2处获得了ActivityThread的main方法,并将main方法传入注释3处的Zygote中的MethodAndArgsCaller类的构造方法中。 在注释...

【Android学习】《Android进阶解密》三之二

工具学习

应用程序进程启动过程介绍 内容开始多起来了 应用程序进程创建过程因为内容比较多,分为两部分来讲,一部分是AMS发送启动应用程序进程请求,以及Zygote接收请求并创建应用程序进程。 AMS发送启动应用程序进程请求 这是第一个部分哈,时序图先给出 AMS想要启动应用程序进程,AMS会通过调用startProcessLocked方法向Zygote进程发送请求。 我在里面找了两个重载...

【Android学习】《Android进阶解密》三之三

工具学习

Binder 线程池启动过程 在之前应用程序进程创建的过程中 有涉及到关于binder线程池创建的问题。 关于调用时机在这 关于详细调用代码是在这里面创建binder线程池的 我们进入nativezygoteinit看看 可以看到是一个native层的jni方法 得到java层的函数名还不够 还需要得到他在jni中的函数 可以在AndroidRuntime.cpp的...

【Android学习】《Android进阶解密》二之五

工具学习

Android系统启动流程 结合之前的几个部分,可以总结出Android系统启动流程 1.启动电源以及系统启动 电源按下后,引导芯片代码从预定义的地方(固化在rom里面)开始执行,加载引导程序bootloader到ram开始执行 2. 引导程序BootLoader 是在Android操作系统开始运行前的一个小程序,它的主要作用是把系统OS拉起来并运行。 3.Linux内核启动...

【Android学习】《Android进阶解密》二之四

工具学习

Launcher启动过程 上面的启动流程可以说是环环相扣的, 那么这个launcher是哪里来的呢? 概述 系统启动的最后一步是启动一个应用程序来显示系统当中已经安装好的app,这玩意就是launcher, Launcher在启动过程中会请求PackageManagerService返回系统中已经安装的应用程序的信息,并将这些信息封装成一个快捷图标列表显示在系统屏幕上,...

【Android学习】《Android进阶解密》二之二

工具学习

Zygote进程启动过程 init进程启动过程,在启动过程中主要做了三件事,其中一件就是创建了Zygote 进程,本节接着学习Zygote 进程启动过程,首先我们要了解Zygote是什么。 概述 DVM,ART,应用程序进程以及运行系统的关键服务的systemserver进程都是zygote进程来创建出来的,所以也叫他孵化器 它通过fork形式创建应用程序进程和systemserve...