
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 评论 -
修复apktool回编译时被AndroidResGuard处理过的APK报错问题
修复apktool回编译时被AndroidResGuard处理过的APK报错问题:No resource identifier found for attribute 'layout' in package 'com.tencent.mm'No resource identifier found for attribute 'key' in package 'com.tencent.mm'.......原创 2018-04-25 15:01:15 · 4277 阅读 · 0 评论 -
Xposed hook动态加载的class
最近用Xposed hook QQ的一些class,总是hook不到。问题根源是ClassLoader不对,因为那几个class是动态加载进来的。通过先ClassLoader.loadCLass则可以很轻松的拿到想要的classLoader对象 XposedBridge.hookAllMethods(ClassLoader.class, "loadClass", new XC...原创 2018-06-07 14:04:49 · 13459 阅读 · 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 评论 -
编译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 评论 -
ida调试
commands:adb forward tcp:12345 tcp:12345adb shell am start -D -n com.demo.app/.MainActivityadb -d forward tcp:8700 jdwp:$PIDadb -d forward tcp:8700 jdwp:18428 && jdb -connect com.sun.j...原创 2019-09-05 22:25:41 · 610 阅读 · 0 评论 -
解决微信打包报错:invalid symbol: 'do'以及invalid symbol: 'if'
第一种解决方式:自己编译aapt,比较麻烦。第二种解决方式:替换do&if,也比较麻烦。第三种:二进制修改appt,比较简单。如下是针对linux平台的aapt修改.1.解压出apktool.jar中的aapt,并使用vim打开:vim -b prebuilt/aapt/linux/aapt2.切换到16进制::%xxd3.搜索"abstract"关键字定位到do&if位置,下图红...原创 2018-03-09 14:59:48 · 3942 阅读 · 0 评论 -
一键绕过App签名验证
Hook了PackaegManager,返回我们指定的签名地址:https://github.com/xxxyanchenxxx/SigKill原创 2017-12-11 16:57:46 · 18527 阅读 · 8 评论 -
QQ数据库破解
微信的数据库解密文章已经满天飞了,QQ的却比较少,不知为什么....QQ数据库主要放在dabases/xxxxxxx.db(xxxx为你的qq号)中,数据库并没有加密,但是某些数据字段加密了。通过Xposed等动态调试,扣出了QQ的解密算法,github地址:https://github.com/xxxyanchenxxx/QqDecrpt原创 2017-11-28 15:53:43 · 21110 阅读 · 11 评论 -
对微信的二次打包学习2:安装多个微信
继上一篇,实现了重打包。那打包后是不是就意味着我们能够在手机上面安装多个微信了呢?还是用是目前官方最新版本6.3.7来试验。安装打包后的APK会提示provider conflict...原来里面使用了provider,两个APK的provider authorities都是一样的,当然会冲突。一看有10多个provider,于是乎简单搞个脚本来干.#! /原创 2015-11-19 14:06:05 · 3382 阅读 · 6 评论 -
某理财APP多开器的思路(二)
为毛上次写了多开器的思路,没几天APP就升级了,而且之前的方式也不管用了。。IDA看了so里面的变化,NND,这次除了检查签名,还会检查packageName,并且后续的其他操作也会用packageName来组合路径。这样之前的方式就不行了,直接传目标的context,会导致它所有数据操作都不是用的自己的/data/data/packageName下的,而失败。我想要什么?原创 2015-12-25 16:02:42 · 1628 阅读 · 1 评论 -
某理财APP多开器的思路(一)
在玩的一款P2P理财产品是:网信理财现在每天每个帐号有1.5的红包,那如果有多个账户就得不断的切换,很是麻烦。于是想是否可以搞个多开器玩玩?说做就做.....搬出ApkTool神器,试了下,解压,打包没有防护,顿时信心大增。但是在安装运行时,有签名验证保护。经过分析验证是在.so中进行的,它会将签名等信息上传到服务器上进行验证。由于现在是原创 2015-11-24 12:17:20 · 1721 阅读 · 0 评论 -
去除某Launcher App的包名保护与签名保护,进行逆向开发
这个App没有加固,但在so中有包名验证以及签名验证。下面是保护的代码:签名签证并不是一个直接写死的值,懒得去深究它的验证方式。最简单的思路就是直接给他一个正版的签名值给他慢慢验证~~~下面是实现:对so进行如下修改,让它调用自己的函数进行验证:第一个修改用于绕过packageName的验证,第二个修改则用于绕过签名的原创 2016-02-17 18:12:20 · 2191 阅读 · 0 评论 -
常用的Smali代码
每次都去网上找,太麻烦了。所以把最常用的做个记录,省的以后到处找。java代码: private void log(){ Log.e("my_tag", "log-test"); } private void logCallStack(){ Log.e("call stack:",Log.getStackTraceString(new Exception()));原创 2016-05-07 22:43:05 · 6474 阅读 · 0 评论 -
重打包资源报错解决
遇到的APK可以正常反编译,打包时会出现如下错误:I: Using Apktool 2.1.1I: Checking whether sources has changed...I: Smaling smali folder into classes.dex...I: Checking whether resources has changed...I: Building resour原创 2016-06-15 18:51:49 · 6495 阅读 · 1 评论 -
使用IDA从内存中dump指定的dex
虽然自己编译了一套能够简单够脱壳的坏境,不过使用上总感觉比较重量级。今天只想把APK中某个动态解密,加载的dex搞出来,用IDA轻快很多。步骤1:首先通过cat /proc/pid/maps查看目标dex文件所在的内存地址:可以看到我们的起始地址是:5faa2000 结束地址是:5fb36000原创 2016-05-09 21:32:32 · 14497 阅读 · 1 评论 -
如何从OAT文件中提取dex文件
背景: 因为想分析下中兴某5.0上的Framework 通过adb pull /system/framework拿出来后,发现那个文件是oat格式的。目的:从这个oat文件中提取dex文件.如果对OAT文件格式有所了解的话,就知道它其实包含了完整的odex文件,而odex又包含了dex.所以我们只需要从这个文件中把dex抠出来,就可以进行各种反编译了原创 2016-07-01 15:31:09 · 7824 阅读 · 3 评论 -
对微信的二次打包学习1:重打包
抱着学习的心态,从官网上了下了一个weixin.apk.版本是:6.3.7do&if回编译错误的问题可以参考这篇http://blog.youkuaiyun.com/XXOOYC/article/details/79497058,提供了linux平台的工具,提供过了linux平台的工具,不再需要修改代码.使用Apktool解压weixin.apk没有,但是重新编译会报如下错:yc@yc:~/temp2...原创 2015-11-18 11:03:40 · 10296 阅读 · 34 评论