
日常笔记android
inquisiter
这个作者很懒,什么都没留下…
展开
-
android AMS原理解析
startactivityapp启动过程启动下半场,AMS返回后部分结构继承关系原创 2021-01-11 18:02:23 · 793 阅读 · 0 评论 -
Android中的核心概念
contextHandleractivityThread创建Looper过程Looper 读取消息队列过程handler 创建过程handler重构过程如图,使用过程中我们都会重构handleMessage方法,Handler类会利用该方法进行队列填充。Handler使用过程ActivityThread启动looperLooper 创建MessageQueue实例使用时,创建Handler 并重构handlemessage()Looper会查询队列调用handlemessa原创 2021-01-08 15:07:22 · 327 阅读 · 0 评论 -
java反射及hook
一、反射hook的实现条件:1.被hook类中存在可被替换的变量2.重写变量中的方法3.利用反射替换变量4.变量方法被修改二、利用步骤1、确定hook点所在类,明确hook点调用位置。2 、确定调用位置所属类(如果hook函数存在于未被实例化的类中,那么将无法hook)3、继承hook点所在类,重写hook点类中函数需要被hook的函数。4、替换调用类中的hook变量。...原创 2020-12-29 17:27:47 · 1437 阅读 · 0 评论 -
android ndk调用第三方so文件的方法
修改CMakeLists.txt#For more information about using CMake with Android Studio, read the#documentation: https://d.android.com/studio/projects/add-native-code.html#Sets the minimum version of CMake req...原创 2018-10-19 15:13:47 · 830 阅读 · 0 评论 -
Java回调机制
回调就是定义个回调接口`public interface CallBack { /** * 这个是小李知道答案时要调用的函数告诉小王,也就是回调函数 * @param result 是答案 */ public void solve(String result); } `然后再A类中实现接口d,Java自定义的机制会这样执...原创 2018-11-25 10:55:16 · 134 阅读 · 0 评论 -
xposed 后传之Dexposed,Andfix ,VaXposed
发现这个框架几句话就能说明白。dexposed是一个简化的xposed,通过应用自身修改函数的dvmCallMethodV函数的判断标志实现native层跳转及函数流程劫持。应用起来的原理就是主包主动加载一个更新包并且导入dexposed的相关函数。当更新包下载到指定文件夹的时候,主包自动加载,而更新包里面是是对主包指定函数的hook替换,从而实现了实时的网络更新替换即热修复。Xpose原...原创 2018-11-29 16:05:59 · 545 阅读 · 0 评论 -
Backtrace in Android
Backtrace in Android96 Tsing20150.7 2016.02.28 23:03* 字数 33 阅读 2491评论 8喜欢 4libscorkscrew.so在android 5.0之后已经没有了,之前追踪backtrace的方法已经:转:https://www.jianshu.com/p/38dbcc392a67#define MAX_DEPTH ...转载 2019-05-30 10:15:53 · 776 阅读 · 0 评论 -
android插件化欺骗AMS
反射到ActivityManagerNative—gDefault-----Singleton—mInstance ,因为mInstance是ActivityManager类型的,而ActivityManage是接口类型,所以动态构造代理替换startActivty实现目标Activity替换subactivity绕过 AMS对activity得检查。通过反射currentThread一路...原创 2019-08-01 16:27:53 · 446 阅读 · 0 评论 -
mave仓库管理
我下dexposed看了下,来时编译不通过。目录里面只有一个build.gradle,老是现示找不到gradle或其他其他的plugin库,buildscript{ repositories{ jcenter() } dependencies{ classpath 'com.android.tools.build:greadle:2.3.0' //原来是1....原创 2019-08-11 10:46:02 · 222 阅读 · 0 评论 -
seandroid机制总结
大概解释下吧,网上各种文章都写炸了,1.首先安装的时候通过签名在表Mac_premissions.xml中查询确定要创建的各种文件夹和文件的权限属性。2.之后启动的时候通过上一步查询的seinfo确定启动进程的上下文属性类型。3.最后就是根据进程上下文属性访问各种资源和属性。文件上下文属性有seapp_context大概长这样:# Input selectors: # isSy...原创 2019-09-06 20:04:37 · 416 阅读 · 0 评论 -
广播和Cursor
https://www.jianshu.com/p/f348f6d7fe59[BroadcastReciever使用方法]Cursor 的重要方法: getColumnIndex(String columnName) 返回指定列的名称,如果不存在返回-1for(cur.moveToFirst();!cur.isAfterLast();cur.moveToNext()) { ...原创 2018-08-20 15:31:02 · 156 阅读 · 0 评论 -
xposed调用substrate的一些思考
//1.就是实现substrate调用的模块的位置一定要在Global.config中设置。 //2.这个调用会在每个包的调用过程中实现加载native层的hook代码。 //3.要hook的库的路径这里也可以写死,因为我们hook的是系统的函数,不用hook第三方的库 //4.最后就是我们写的nativehook的so文件的代码位置。这个也可以固定,我们每增加一个nativehook,就要...原创 2018-07-13 14:45:58 · 904 阅读 · 0 评论 -
andriod 加载apk过程
Android apk默认加载过程public final class LoadedApk { private static final String TAG = "LoadedApk"; private final ActivityThread mActivityThread; private ApplicationInfo mApplicationInfo原创 2018-01-12 15:27:59 · 362 阅读 · 0 评论 -
dex格式解析
Android Dex文件格式(一) Android Dex文件格式(二) Dalvik指令格式原创 2018-02-26 14:13:01 · 247 阅读 · 0 评论 -
SEandroid攻击方式研究笔记
小问题setenforce 0 这个命令有个效果就是强制突破seandroid机制,等于关闭了seandroid。 理论上讲,即使是root 设备,这个命令应该一般情况下也不能随意执行。不然被病毒攻击后,执行了这个指令后seandroid完全没啥乱用了就。不过我在miui9的一个修改的刷机版本了(拥有root)里实验了下这个命令,是可以在root下执行的。 也就是说,在这个版本里,sea...原创 2018-03-08 18:00:44 · 377 阅读 · 0 评论 -
android 内核漏洞相关
Linux内核提权漏洞的分析和利用(CVE-2016-0728)关于Android的root提权漏洞原创 2018-03-02 15:48:40 · 379 阅读 · 0 评论 -
Binder
Android进程间通信(IPC)机制Binder简要介绍和学习计划个人感觉其实Binder机制应该是seandroid实现的核心载体,我们如何实现策略和上下文的检测都是通过Binder机制实现的。 看了下源码,好像大体的原理比较简单。不过这里面有很多细节,如果做起来肯定是一个巨大的工程。 我这里还是参看了老罗的分析过程: 1. 打开/dev/binder文件:open("/...原创 2018-03-13 14:06:58 · 185 阅读 · 0 评论 -
Java 反射相关思考
动态反射,之前一直理解为只要有.class文件就可以调用。其实这里准确的说,应该是运行中的对象和类就能够获得。 当然,.class文件也可以在加载进内存后,然后再反射调用。 Person accpTeacher = (Person) Class.forName("edu.qust.demo.Person") .newInstance();//获取实...原创 2018-05-31 17:45:09 · 181 阅读 · 0 评论 -
avd 模拟器root过程
centos中修改虚拟机这里要把emulator-user.ini里面的system路径改成我们复制出来的system.img的路径 然后再adb remount进行修改,删除SdkSetup.apk就不会恢复成原来的样子了。emulator -avd MyAndroidVirtualDeviceName -partition-size 256mksdcard -l sdcard 512...原创 2018-06-20 15:13:29 · 889 阅读 · 0 评论 -
命令行更新sdk
http://mirrors.neusoft.edu.cn 端口:80 http://ubuntu.buct.edu.cn/ 端口:80 http://ubuntu.buct.cn/ 端口:80 http://sdk.gdgshanghai.com 端口:8000 IPv6: http://ubuntu.buct6.edu.cn/ 端口:80 android list sdk ...原创 2018-06-27 11:55:40 · 387 阅读 · 0 评论 -
绕过手机锁屏
进入fastboot模式,刷入recoveryfastboot flash recovery twrp-3.0.2-0-hammerhead.img然后进入recovery进入后再用adb命令可以看见所有的文件目录进入data/system目录下可以看见以“ .key”结尾的文件全部删除作者:峰峰小 链接:https://www.jianshu.com/p/a6927...转载 2018-07-03 16:18:13 · 1602 阅读 · 0 评论 -
android逆向神器之firda
这东西ios和android有部分相似 ios装插件,android是个原生的arm包,放进去运行一下。不过要端口转发如下:echo hello world!!source ~/.bash_profileadb forward tcp:27042 tcp:27042adb forward tcp:27043 tcp:27043echo work写成了脚本,没啥好说的。 花了些时...原创 2017-12-12 16:05:35 · 2792 阅读 · 0 评论