Android加壳

话说解决问题和研究问题是两码事

网上那个的加壳方案,

mProviderMap   在

235行  http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4.4_r1/android/app/ActivityThread.java?av=f

在2.3  -4-4.2的手机上,获取到的这个map是空的 所以不会走到下面的循环里面去

但是4.4.4的上面他能获取到这个map里面有值的

而且他是这样是内容

[email protected](5355): [email protected]

但是在2.3-4.4.2的手机上  这个map是空的

这个map在前面的版本里是 HashMap  后面的是ArrayMap

要注意

所以在2.3-4.4.2的手机上不会进入map就没有那个   expected receiver of type android.content.ContentProvider, but got null  异常了

然而在4.4.4的手机上Map不为空,进入之后

有一个获取android.app.ActivityThread$ProviderClientRecord 的mLocalProvider 属性值  ,这个不知道为什么  在4.4.4的手机上就是空的

321行代码http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4.4_r1/android/app/ActivityThread.java#ActivityThread.ProviderClientRecord

需要处理一下

然后在源码里找了好久  因为4.4.4的上map里有1个值,第二个map循环出来取这个值的时候 mLocalProvider空了,我就去源码找了半天,结果未果

后来发现  那个mLoacalProvider可以为空的,但是这个map还是要循环完的,

最终我只是想  应该  android.app.ActivityThread$ProviderClientRecord  到这里获取的时候可能  应该里面还有一系列的操作   保证程序能运行起来

这个问题   一开始以为是buildtools的问题,从 19.0.0  一直试到23.0.2  但是发现不行,在公司的是4.4.2  家里的是4.4.4的手机上    纠结了好几天

后来发现偏偏我的手机和公司的测试机都是4.4  但是一个是4.4.4  一个是4.4.2  恰好我在公司试的好好的以为4.4的没问题, 在家里就不行了

时间: 2024-10-14 00:45:30

Android加壳的相关文章

Android加壳原理分析

0x00 阅读本文前,建议读者首先阅读Android加壳原理,参考文章Android中的Apk的加固(加壳)原理解析和实现.如果没有看过这篇文章,本文理解起来比较困难. 0x01 下面我们来分析脱壳代码为什么要这样写,核心脱壳代码在ProxyApplication类里面,首先执行成员方法attachBaseContext,然后执行成员方法onCreate. 那么attachBaseContext是什么时候被执行的呢,为什么先于onCreate执行呢?那就需要看Android的源码了,我们选用的是

分享Android NDK技术详解及应用(Android加壳图片处理性能优化)

1.课程研发环境案例源代码编译和运行环境以JDK1.7和android-sdk-23以及android-ndk-10e版本为基准, ,以下环境都适用于项目.开发工具:android studio 1.5正式版, QT 5.0,SourceInsight 3.5;其他工具:使用到了IDEA PRO工具以及www.androidxref.com网站查看分析源码.2.内容简介本课程主要讲解NDK技术的基本使用方法,如基本常用的JNI函数.Android系统中能使用的本地库的使用方法和注意事项以及GCC

Android加壳native实现

本例仅在Android2.3虚拟机跑通过,如果要适配其他机型,请自行研究,这里只是抛砖引玉. 0x00 在Android中的Apk的加固(加壳)原理解析和实现,一文中脱壳代码都写在了java层很容易被识别出来,很多需求需要把脱壳的程序转移到native层,其实转移的思路也很简单,就是在native层通过JNI调用Java层代码. 0x01 public class ProxyApplication extends Application { @Override protected void at

分享Android NDK技术详解及应用(Android加壳\图片处理\性能优化)

HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力.HBase是Apache的Hadoop项目的子项目.HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.

android apk 防止反编译技术第一篇-加壳技术

做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习.现在将最近学习成果做一下整理总结.学习的这些成果我会做成一个系列慢慢写出来与大家分享,共同进步.这篇主要讲apk的加壳技术,废话不多说了直接进入正题. 一.加壳技术原理 所谓apk的加壳技术和pc exe的加壳原理一样,就是在程序的外面再包裹上另外一段代码,保护里面的代码不被非法修改或反编译,在程序运行的时候优先取得程序的控制权做一些我们自己想

Android中的Apk的加固(加壳)原理解析和实现

Android中的Apk的加固(加壳)原理解析和实现 标签: android 2015-09-13 13:58 42287人阅读 评论(49) 收藏 举报 本文章已收录于:  Android知识库  分类: Android(140)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一.前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个

Android so UPX加壳

网上有篇 Android SO(动态链接库)UPX加固指南,详细介绍了如何使用UPX给Android SO加壳,尝试做了一下结果ok,这里只记录遇到的几个小问题. 1.40k以下so不能加壳 [email protected]:~/src$ upx.out a.out                        Ultimate Packer for eXecutables                          Copyright (C) 1996 - 2011UPX 3.08  

【原创】Android VMP加壳 POC

介绍 这个壳的核心——字节码解释器,它参考了dalvik虚拟机的解释器.不需要hook.注入.目前只支持算数运算指令. 我个人把dalviki指令分为这么几类: 算数运算指令. 引用类指令.如const-string.invoke-kind,这类指令需要引用dex的资源. 其他指令 解释执行算数运算指令较为简单. 引用类指令的实现需要解析dex文件的格式,把class.method.field.string等数据解析一遍,保证可以找到这些数据,那么引用类指令的解释执行就可以实现,这个是我准备要做

Android中的Apk的加固(加壳)原理解析和实现(转)

一.前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk,结果被人反编译了,那心情真心不舒服.虽然我们混淆,做到native层,但是这都是治标不治本.反编译的技术在更新,那么保护Apk的技术就不能停止.现在网上有很多Apk加固的第三方平台,最有名的应当属于:爱加密和梆梆加固了.其实加固有些人认为很高深的技术,其实不然,说的简单点就是对源Apk进行加密,然后