
Android
XXOOYC
read the fucking code....
展开
-
Android各厂商Rom包解压方式
大体流程:具体操作以及命令:1.小米解压刷机包zip文件后(1)先将br转成datbrotli.exe -d system.new.dat.br$ file system.new.datsystem.new.dat: Linux rev 1.0 ext2 filesystem data, UUID=4729639d-b5f2-5cc1-a120-9ac5f788...原创 2020-04-27 18:06:02 · 10420 阅读 · 0 评论 -
防内存dump
挂起进程:kill -19 $pid恢复执行:kill -18 $pid原创 2019-11-07 14:55:06 · 1263 阅读 · 0 评论 -
QQ数据库破解
微信的数据库解密文章已经满天飞了,QQ的却比较少,不知为什么....QQ数据库主要放在dabases/xxxxxxx.db(xxxx为你的qq号)中,数据库并没有加密,但是某些数据字段加密了。通过Xposed等动态调试,扣出了QQ的解密算法,github地址:https://github.com/xxxyanchenxxx/QqDecrpt原创 2017-11-28 15:53:43 · 21110 阅读 · 11 评论 -
一键绕过App签名验证
Hook了PackaegManager,返回我们指定的签名地址:https://github.com/xxxyanchenxxx/SigKill原创 2017-12-11 16:57:46 · 18527 阅读 · 8 评论 -
Hook IME,进行键盘记录或输入控制
https://github.com/xxxyanchenxxx/HookIME原创 2017-12-04 11:33:45 · 3923 阅读 · 2 评论 -
Android中如何开启变态混淆防止被反编译
效果图:比a,b,c这样的爽多了吧,即便被别人反编译,要想看懂你代码,估计也得骂会娘。如何操作:1.proguard-rules.pro中增加下面2项配置#混淆变量&函数-obfuscationdictionary guard_ex.txt#混淆类名-classobfuscationdictionary guard_ex.txt2.生成我们的字典guard_ex.txtimport ...原创 2018-06-28 19:05:55 · 4905 阅读 · 0 评论 -
深入源码分析non-sdk并绕过Android 9.0反射限制
Android 9.0终于来了,non-sdk或许是我们最大的适配点。本文将分析non-sdk的原理以及如何绕过它继续反射调用系统私有API。 先看一段简单的反射代码: Class<?> activityThreadClass = Class.forName("android.app.ActivityThread"); Met...原创 2018-08-11 17:18:22 · 9412 阅读 · 6 评论 -
VirtualApp 9.0适配
non-sdk如何绕过可以参考前一篇最终通过hook GetMemberActionImpl()函数来绕过了检查。但是hook libart.so的过程中,需要对so的函数地址进行修正,否则会导致hook不到。 已经将hook绕过API检查做成了java版的sdk,可以从这里获取https://github.com/xxxyanchenxxx/VirtualAppEx/tree...原创 2018-09-04 18:52:54 · 11519 阅读 · 5 评论 -
Background execution not allowed-----解决8.0以上发送的隐式广播无法被收到
target>=26时,APP发送的隐式广播连自己也收不到,0上限制。报错log如下:08-23 21:45:38.271 1207 1225 W BroadcastQueue: Background execution not allowed: receiving Intent { act=com.xxx.xxx flg=0x10 (has extras) } to com....原创 2018-09-12 18:55:53 · 11743 阅读 · 4 评论 -
编译Android 9.0内核源码并刷入手机
目的:修改内核源码,并刷入手机步骤如下:1.获取手机对应的内核下载地址参考https://source.android.com/setup/build/building-kernels我的设备是pixelsailfish,所以对应的源码地址是kernel/msm,编译配置是marlin_defconfig使用git下载:git clone https://aosp...原创 2019-01-07 15:23:02 · 16395 阅读 · 1 评论 -
Android基于LLVM的Native层代码混淆
1.采用LLVM进行Native层代码混淆,先看一下混淆的效果混淆之前的函数:混淆之后的函数:混淆后的函数体几乎变得无法阅读!2.再看文件大小变化:混淆前:混淆后:3.如何集成:首先下载源码并编译,参考:https://github.com/obfuscator-llvm/obfuscator/wiki/Installation下面是实际用...原创 2019-04-12 18:19:00 · 4903 阅读 · 0 评论 -
让App吐出自己的Crash信息
某App启动后Native层就会Crash,但是由于它集成了google_breakpad,将Native层的异常全部捕获并处理了,所以看不到任何的异常信息,只有这么一段:06-24 14:22:45.165 570 570 I Zygote : Process 7047 exited due to signal (11)通过分析它是集成了google_breakpad,于是找...原创 2019-06-25 11:22:54 · 769 阅读 · 0 评论 -
同盾sdk获取局域网内其他设备的Ip和Mac
同盾sdk代码:static String gqgggggg9q9qqggqq() { String str; int i = 0; try { BufferedReader bufferedReader = new BufferedReader(new FileReader("/proc/net/arp")); ...原创 2019-06-21 23:45:36 · 1202 阅读 · 0 评论 -
如何监听彩信的发送
短信的接收和发送,有Broadcast发送出来。而对于彩信,接收时有Broadcast,但是发送时却没有。大概看了下彩信MMS的发送流程,发现可以通过监听android.net.conn.CONNECTIVITY_CHANGE这个广播来监听彩信的发送。下面是流程分析发送彩信最终会调用com.android.mms.transactionTransactionServ原创 2016-08-16 18:15:00 · 5157 阅读 · 0 评论 -
编译Android 5.1.1源码
编译的基本命令:. build/envsetup.sh lunchmake -j8很明显,第一次编译会遇到各种各样的问题,通过搜索引擎找到答案,需要先安装某些软件,于是把一口气这几个装完sudo apt-get install lib32z1-devsudo apt-get install bisonsudo apt-get install libswitch-perl原创 2016-02-25 12:26:57 · 2822 阅读 · 0 评论 -
Android中Button设置drawablePadding没效果和设置selector后按下时没效果
第一个问题:drawablePadding与drawableLeft同时设置,但是UI上没有任何的效果:Button XML如下: <Button android:layout_width="wrap_content" android:layout_height="wrap_content"原创 2015-08-11 14:27:01 · 2613 阅读 · 0 评论 -
Apktool打包失败
【错误信息】$ java -jar libs/apktool.jar b RemoteControl-system_unsinged/I: Using Apktool 2.0.1I: Checking whether sources has changed...I: Checking whether resources has changed...I: Building r原创 2015-11-03 11:31:40 · 3549 阅读 · 0 评论 -
Android 5.0/6.0进程自动重启调研(5.0+)
前言 众所周知,在Android 5.0+,系统安全有了比较大的提升。守护进程也不像4.4之前那么容易了。比如通过fork等创建的子进程也会同父进程一样被Kill. 那么到底在5.0+上发生了什么变化呢?带着好奇,决定走进去看一看究竟....初探 查看ActivityManagerService.java源码,发现在M上kill进原创 2015-11-06 11:13:43 · 4850 阅读 · 0 评论 -
AIDL中的in,out,inout
in, out, inoutUnlike Java there are three directional tags that can be specified in the method prototypes when defining an AIDL interface. These tags indicate which way the data will go. Let’s see a原创 2015-12-01 00:26:36 · 664 阅读 · 0 评论 -
Android 中如何计算 App 的启动时间?
原文地址:http://androidperformance.com/2015/12/31/How-to-calculation-android-app-lunch-time.html1 应用启动场景事实上 Android 中一个 App 的启动时间可以准确计算的.但是要分场景.也就是说要分开游戏和应用. 大家都知道,在Android中,游戏开发和应用开发是转载 2016-01-05 10:44:10 · 1178 阅读 · 0 评论 -
关于Android APP在线热修复bug方案的调研(二)(MultiDex的原理分析---Nuwa)
通过上一篇的分析,目前bug在线热修改的主要两套框架AndFix与Nuwa.上篇文章也对AndFix的机制进行了分析。那么这两套框架该如何选取呢?从目前的测试来看,Nuwa的支持似乎要比AndFIx好一些。下面是我的测试,添加了一个静态的字段:通过AndFix来制作patch会直接报错:而使用Nuwa来制作Patch则没有问题,能够正常运原创 2015-12-16 17:21:40 · 3590 阅读 · 0 评论 -
如何让模拟器加载自己的Room
背景: 比如要修改系统源码,修改后如何让模拟器加载呢?第一步:首先创建模拟器配置~/Dev/android-sdk-linux/tools/android avd第二步:加载自己的image文件: ~/Dev/android-sdk-linux/tls/emulator -system system.img -ramdisk ramdisk.im原创 2016-02-13 22:48:56 · 2583 阅读 · 0 评论 -
如何对自己的App进行系统签名,并安装到手机运行
背景:某些App需要一些权限比较高功能,比如管理其他进程,静默安装(貌似辅助功能也能实现)等,可能需要把自己定义成为系统APP,也就是sharedUserId="android.uid.system",这就要用到系统签名。虽然最后签名是与不同的手机厂商合作的,可是在开发的工程中,如何用系统签名文件签名进行测试呢?虽然源码里面能够找到签名文件platform.x509.pem/pla原创 2016-02-15 18:17:44 · 7049 阅读 · 0 评论 -
Android中如何禁用其他应用,并且不在桌面显示
1.首先需要系统签名。2.达到的效果:应用被禁用后,图标也从桌面上消失。3.参考Settings源码,实现的代码如下:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.testdiableapp" android:versionC原创 2016-02-16 14:32:15 · 13763 阅读 · 4 评论 -
关于Android APP在线热修复bug方案的调研(一)(AndFix)
调研背景: App发布出去后,如果发现有紧急或重要bug如何进行修复呢? 重新发布一版APK?但这样代价太大.... 那么有没有一种方案能够不用更新整个APK,而只把服务器上的很小的补丁文件下载下来进行修复bug呢? 本文的调研也正是为了解决该问题。几种解决方案对比: 其实这也属于Plugin开发的一种方式,只是更侧原创 2015-12-15 16:38:12 · 3180 阅读 · 6 评论 -
5.0上禁用手机移动数据上网调研
背景: 在4.4以及之前的手机,可以通过反射调用ConnectivityManager#setMobileDataEnabled()设置手机是否允许使用手机流量上网。 而到了5.0+,这个API已经被移除了。主要就是为了调研在5.0上如何实现,算是一个小调研吧。调研结果:在5.0上,取而代之的是TelephonyManager#setDataEnabled()原创 2016-03-22 18:22:48 · 7140 阅读 · 1 评论 -
关于Android APP在线热修复bug方案的调研(三)(集成Nuwa遇到的坑与解决)
集成了有段时间了,遇到的坑也比较多。总的来说就是这套框架还不成熟,可能是没有经过实际运行的检验吧,另外也不支持ART。集成需要很小心,稍不注意可能就会惹得一身骚。下面算是集成的一些总结吧。1.hotfix适用范围: 1. 对于要修改到resource级别的change不适用比如:要修改到string.xml或者layout.xml等,就不能应用到补丁检测原创 2016-03-14 17:33:38 · 6295 阅读 · 7 评论 -
AIDL绑定到对方进程后,进程被杀后的现象调研
测试1:bind到provider,bind方式如下:操作测试结果杀掉TestProcess A不受影响杀掉process Atest也被kill测试2:bind到service,bind方式如下:操作测试结果杀掉TestProcess原创 2015-03-24 15:36:42 · 1151 阅读 · 0 评论