-
-
[原创]android res asstes 资源加固(动态加载)
-
发表于:
2018-8-13 11:28
6125
-
[原创]android res asstes 资源加固(动态加载)
由于我的github已经分享出去。大家也都看到了我里面有好多项目,那么我今天就介绍一下我当时写过的一个(没有见过市面上资源加固的项目)
android res asstes资源加固(动态加载)
当时我用testing也测试过兼容性有一大部分能兼容,不过对于加固资源文件比较多的res和 asstes 。copy文件所需的时间成了很大的问题。
在学习第一代 dex加固的时候通过阅读android源码发现:不光可以替换classloader 实现加固 。还可以通过替换 res路径实现 资源文件加固

通过阅读老罗分享的 《Android应用程序资源的查找过程分析》
f3eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8V1I4#2L8%4y4Z5k6h3&6Y4P5h3q4F1k6#2)9J5c8X3q4J5N6r3W2U0L8r3g2Q4x3V1k6V1k6i4c8S2K9h3I4K6i4K6u0r3z5o6R3H3y4U0M7&6z5l9`.`.


得知 Android的资源加载最终都是通过 AssetManager。
而 AssetManager还有一个比较重要的方法int addAssetPath(String path),用于导入zip资源文件或者资源目录
由于4.4系统可以通过 反射 直接替换资源文件路径可以实现资源加固。但是在4.4以后就不行。所以把关键点1 和关键点2合并起来

把mressources 也替换了就能实现资源加固
希望代码对你有用
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课