![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 68
卓桐
这个作者很懒,什么都没留下…
展开
-
miuiv13-redmi-note11TPro-root
好多年不关注这些了,搜索发现多了ab分区、卡刷/OTA包payload.bin等变化。现在再看源码、搜资料自己解包payload.bin等是来不及了。所以还是先看看网上的一些教程吧。原创 2022-09-30 17:17:42 · 4386 阅读 · 0 评论 -
cm11修改wifi_mac地址
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。参考find5的部分源码https://github.com/CyanogenMod/android_device_oppo_apq8064-common/tree/cm-11.0/wcnss_oppo大原创 2022-05-12 00:34:14 · 751 阅读 · 0 评论 -
cm11下的recovery和recovery-cm
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。1:应该是默认使用recovery。界面和cm10.2的好像没什么差异,支持触摸,滑动触摸。2:如果把recovery-cm改名recovery,删除原来的recovery编译完内核就停止了,没看到报错原创 2022-05-12 00:31:36 · 163 阅读 · 0 评论 -
cm10.2和cm11源码问题集合
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。均以小米2为环境测试。10.2:1:参见ubuntu文档目录的安卓源码编译,下载;cm官方的清单有些安卓分支没有了,需要改分支。2:使用如下分支产生的问题,这个原本是好不容易找到的以前秋叶的cm10.原创 2022-05-12 00:26:46 · 822 阅读 · 0 评论 -
procsysrq-trigger文件的功能
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。立即重启计算机 echo “b” > /proc/sysrq-trigger立即关闭计算机 echo “o” > /proc/sysrq-trigger导出内存分配的信息原创 2022-05-12 00:17:58 · 195 阅读 · 0 评论 -
prop属性相关
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。/build/core/Makefile有以下定义:Whether there is default locale set in PRODUCT_PROPERTY_OVERRIDESproduct_pr原创 2022-05-12 00:16:55 · 422 阅读 · 0 评论 -
readme
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。这个地址的源码包括lk,好像是为高通平台适配的源码,值得参考。参考:http://blog.csdn.net/singleton1900/article/details/8434978 源码可能是4.0的原创 2022-05-12 00:15:33 · 297 阅读 · 0 评论 -
recovery_minui解说
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。int gr_init(void); /* 初始化图形显示,主要是打开设备、分配内存、初始化一些参数 */ void gr_exit(void); /* 注原创 2022-05-12 00:12:51 · 209 阅读 · 0 评论 -
sys目录下的一些值
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。这个就是手机电量的值,只读。/sys/class/power_supply/battery/capacity 链接到/sys/devices/platform/msm_ssbi.0/pm8921-core原创 2022-05-12 00:11:18 · 152 阅读 · 0 评论 -
tmpfs和ccache加速编译
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。1:ccache的设置:export USE_CCACHE=1好像老安卓版本是prebuilt/linux-x86/ccache/ccache -M 20Gprebuilts/misc/linux-x原创 2022-05-12 00:09:51 · 553 阅读 · 0 评论 -
关机状态下开启adb_root
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。1:小米2原系统只要在default.prop中配置如下即可关机状态下开启adb_root:ro.adb.secure=0ro.secure=0ro.allow.mock.location=0ro.原创 2022-05-11 23:59:28 · 2406 阅读 · 0 评论 -
米2源码相关
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。1:/device/xiaomi/aries/overlay/frameworks/base/core/res/res/xml/storage_list.xml内容:也许改为如下代码应该有可能开启大容原创 2022-05-11 23:58:14 · 166 阅读 · 0 评论 -
修改关机充电动画
说明应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。1:充电动画是在/sbin/chargeonlymode这个文件中,以前用修改第一屏的方法替换过里面的充电图片,但是这样是不会动的画面。而官方关机画面中的数字电量其实一张包含数字和%的透明图片,可见处理方式原创 2022-05-11 23:54:46 · 1766 阅读 · 0 评论 -
android11应用安装目录变更
又变了。。。https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-platform-11.0.0_r7/services/core/java/com/android/server/pm/PackageManagerService.java#16016/** * Given {@code targetDir}, returns {@code targetDir/~~[randomStrA]/[p原创 2021-06-30 17:24:53 · 1336 阅读 · 1 评论 -
win下Android studio执行sync:你的主机中的软件中止了一个已建立的连接
win下Android studio执行sync:你的主机中的软件中止了一个已建立的连接双网卡开启wifi热点触发,关闭wifi热点可以解决。原创 2020-12-10 17:58:08 · 224 阅读 · 1 评论 -
[已发表,转载勘误]Android upx脱壳
已发在https://www.anquanke.com/post/id/197643不过有部分内容发布之后无法编辑,勘误后如下。Android upx脱壳写在前面因为我不是pc平台过来的,而是直接从Android入门的,所以upx壳其实一开始并不了解,后来接触到,但是可以直接动态调试或者做个内存快照,对我来说加没加upx其实对我逆向分析影响不大。另一方面upx壳因为开源且其实有很多脱壳的教...原创 2020-03-01 17:25:04 · 754 阅读 · 0 评论 -
如何写一个Android inline hook框架_新增功能或修复bug_浮点相关的问题
之前的hook框架已经可以满足绝大多数需求,但是设计之初未详细的看完arm64下浮点相关的部分,以为和arm一样也是通过通用寄存器、栈传递,现在修复这一部分,这个bug只对dump读写寄存器相关的部分有影响,对replace部分(采用定义一个和被hook函数原型一致的函数)无影响。arm应该不用保存浮点相关的寄存器目前来看arm浮点参数,float参数占用一个寄存器或者栈,double占用相邻...原创 2020-01-08 12:13:53 · 530 阅读 · 0 评论 -
Android9.0 hook dlopen问题/如何hook dlopen相关函数
Android9.0中在activity的onCreate之前hook dlopen函数,如果需要返回值(即修改了LR寄存器),那么会触发:E/libEGL: EGL_ANDROID_blob_cache advertised, but unable to get eglSetBlobCacheFuncsANDROID。不会crash,但是界面不会绘制出来。是因为dlopen(libEGL_ad...原创 2020-01-02 12:46:52 · 3872 阅读 · 2 评论 -
如何写一个Android inline hook框架
Android_Inline_Hookhttps://github.com/GToad/Android_Inline_Hook_ARM64有32和64的实现,但是是分离的,要用的话还要自己把两份代码合并在一起。缺点:1、不支持函数替换(即hook后不执行原函数),现在只能修改参数寄存器,无法修改返回值。2、不支持定义同类型的hook函数来接受处理参数,只能通过修改寄存器的方式修改参数。...原创 2020-01-02 12:39:07 · 1514 阅读 · 2 评论 -
Android elf hook的方式
got/plt hook自己写了之后觉得,got和plt应该分开更好一些。got hook有爱奇艺的xhook,个人或者github上一些开源的got hook。爱奇艺说是plt hook,个人觉得很疑惑,看实现也是替换got表中的地址值,和plt没太大关系吧。plt hook我知道的应该是Facebook:https://github.com/facebookincubator/profil...原创 2020-01-02 12:38:35 · 952 阅读 · 0 评论 -
签名
抓包gethttps://api.imdada.cn/v1_0/supplier/city/?userId=0&userModeType=2GET /v1_0/supplier/city/?userId=0&userModeType=2 HTTP/1.1Accuracy: 0User-Token: 1Lng: 0.0Request-Id: 22a13eff-09...原创 2019-10-18 13:53:10 · 476 阅读 · 0 评论 -
Android 锁屏后不被暂停的奇淫巧计
据说是某狗音乐的方案。现在的情况是锁屏后线程、主进程都停止运行,建立服务置为前台服务,绑定通知都不行。但是一些音乐类软件还能后台播放,所以打开脑洞,一直播放一个无声的音频能不能保持锁屏后进程运行。测试后确实可行。前台服务/绑定通知+循环播放无声音频。public class MService extends Service { Notification notific...原创 2019-10-14 16:57:34 · 941 阅读 · 0 评论 -
4.4以下一直存在的祖传代码问题
1、首先是mk中限制较死,比如某个变量、函数未使用就报错,可以把LOCAL_CFLAGS += -Werror注释掉。2、例如下面代码Method* dvmOptResolveInterfaceMethod(ClassObject* referrer, u4 methodIdx){ DvmDex* pDvmDex = referrer->pDvmDex; Meth...原创 2019-04-08 00:25:39 · 376 阅读 · 0 评论 -
待定
package com.pnf;import b;public class dex2jar1 { public static int a; public static boolean a() { return 0; } public void antidex2jar(byte arg1, @b int arg2) { } ...原创 2019-03-31 10:33:59 · 245 阅读 · 1 评论 -
不要相信伪代码
jeb使用很久了,转换的Java伪代码记忆中没出过什么大的逻辑错误,一般就是太复杂的方法无法转换,要么是较复杂的选择语句或者try cache转换带goto等,但一般没见到有逻辑错误(也可能是我没留意),不久前碰到一个感觉不应该出的逻辑问题,感觉很意外,记录一下。时间久了,因为没遇到伪代码的错误(也可能忘了),所以就会不自觉的以为伪代码就是正确的代码,进而去信赖一个工具。 参照...原创 2019-01-14 15:25:11 · 547 阅读 · 0 评论 -
android studio 3.2.1卡在indexing paused due to batch update
新安装的安的android studio,3.2.1最新版。导入一个工程项目一直卡在indexing paused due to batch update。参照其他人做法:1. 退出AS,去项目目录下删除项目module下所有的.impl文件,删除项目所有的.idea文件2. Invalidated the cache and restarted Android Studio 亲测只...原创 2019-01-04 23:47:16 · 2704 阅读 · 0 评论 -
利用梆梆加固逻辑漏洞取巧脱壳
首先要道个歉,之前要发的进程注入,开发hook框架、插件化等技术,因为原公司产品还在使用,暂时是不能开源了,还是食言了。 抽空看了几家加固的应用,做了个通用脱壳机(轻量化,只需要进程注入埋点,全Java层即可,可以不依赖hook框架,当然我为了方便使用的我自己写的hook框架。类似dexhunter以及一些修改源码、编译系统的方式太重了),暂时除了梆梆函数级加密,其他加固的抽取字节码的只要...原创 2018-11-07 19:23:45 · 5072 阅读 · 1 评论 -
ubuntu18.04创建android studio图标
ubuntu18.04存放图标/快捷方式的位置有三个:1:/usr/share/applications/2:当前用户~/.local/share/applications/3:当前用户~/.gnome/apps/第三个未测试是否其作用,其和其他两个目录下面的desktop文件的区别就是多了一行OnlyShowIn=Old;可知第一个是针对所有用户。一开始...原创 2019-10-02 02:56:34 · 595 阅读 · 0 评论 -
快手签名
整理了下,发现还有个和达达类似套路的,一起看看吧。抓包发送短信验证码POST /rest/n/user/requestMobileCode?app=0&lon=146.3516&did_gt=1562212339132&c=MYAPP%2C1&sys=ANDROID_8.1&isp=&mod=LGE%28AOSP%20on%20TTOG...原创 2019-09-07 01:41:48 · 2857 阅读 · 1 评论 -
Android应用进程fork出来的子进程能运行虚拟机吗?
今天(几个月前)有人问了这个问题,需求还有些奇葩,想在fork出来的子进程中去运行一部分动态下发的代码,而且不知道动态下发的代码的具体内容,有可能导致崩溃,所以想在子进程中执行。这里不从系统源码和安全上分析,就从写出实现代码,执行,根据异常信息去分析。我们写过双进程反调试,知道fork应用进程去执行是没有问题的,jni调用生成一个字符串之类的也没问题。但是一般的反调试代码都是一个死循环,阻...原创 2019-10-18 13:37:18 · 1022 阅读 · 0 评论 -
android修改进程名
通过分析Android应用进程的创建启动流程,知道设置应用进程的名称是在http://androidxref.com/4.4_r1/xref/frameworks/base/core/java/android/app/ActivityThread.java#handleBindApplication private void handleBindApplication(AppBi...原创 2019-08-08 19:47:41 · 1719 阅读 · 0 评论 -
Dvm类加载流程
类加载流程对dex文件进行验证并优化,生成odex文件 对odex文件进行解析,解析生成DexFile数据结构,即将文件形式的数据转换成内存中虚拟机可达的数据 对指定的类进行加载,操作DexFile提取对应类的字节码,生成ClassObject数据结构Dexopt Dalivk中,dex的优化使用的是dexopt,将dex文件优化为Odex文件,最终提交给下一步的加载过程。Odex...原创 2019-07-17 08:50:04 · 540 阅读 · 0 评论 -
Android4.4 wifi代理流程
首先简单说下http代理的原理和实现。举例,比如手机访问www.baidu.com,手机的ip为192.168.2.2,代理服务器的ip为192.168.3.4,端口为8087。代理服务器这边socket监听8087端口,手机和代理服务器建立socket连接,把http请求的内容通过socket发送到代理服务器,代理服务器解析出Host。得到host=www.baidu.com和p...原创 2019-06-23 17:05:07 · 1983 阅读 · 0 评论 -
android 4.4 从url.openConnection到Dns解析
其实并不是要分析Dns流程的,一开始是分析Android设置wifi代理,怎么起到全局代理的作用的。因为坏习惯,在线看源码,全凭记忆,没有做笔记的习惯,忽略了一个点,直接分析到dns了,回过头才发现分析过了。而之前群里有人问应用进程hook hosts文件能不能改dns,很久之前分析过4.1,记得是有个远程进程负责dns解析的,但是太久了,细节都忘光了。所以分析完了wifi代理、dns后记...原创 2019-06-21 19:36:20 · 761 阅读 · 0 评论 -
android8.0应用安装目录变更
8.0变为/data/app/com.eg.android.AlipayGphone--26RKwMWxj5TRvruvc91Fw==/想知道包名后面的字符串组成规则,追踪源码。安装应用流程参见其他文章。http://androidxref.com/8.0.0_r4/xref/frameworks/base/services/core/java/com/android/原创 2017-12-31 15:22:47 · 3390 阅读 · 0 评论