zoukankan      html  css  js  c++  java
  • Android解析编译之后的所有文件(so,dex,xml,arsc)格式

    我们在之前一篇一篇介绍了如何解析Android中编译之后的所有文件格式,所有的工作都完成了,这里我们就来做个总结,我们为什么要做这些工作:

    第一篇:解析so文件格式

    点击进入

    这里我们解析so文件,主要是为了修改so中内容,在so文件中添加字符串内容,同时我们可以做到对so的加密工作,从而达到apk的底层加固策略。同时我们了解了so文件的格式之后,对反编译底层的代码也是很有帮助的。


    第二篇:解析AndroidManifest.xml文件格式

    点击进入

    这里我们解析AndroidManifest.xml文件,主要是为了修复我们在使用apktool进行反编译的时候出现的一些错误信息,同时也了解到apktool反编译的工作原理,当然这里还可以解析Android中的其他资源文件xml。这里我们还可以对apk进行加固,就是通过修改AndroidManifest.xml文件内容,防止apktool这样的工具进行反编译。

    注意:这里我们可以使用aapt命令更为方便,具体看文章内容的总结部分。这里就不在赘述了。


    第三篇:解析resource.arsc文件格式

    点击进入

    这里我们解析resource.arsc文件,主要是为了修复我们在使用apktool进行反编译的时候出现的一些错误信息,同时也了解到apktool反编译的工作原理,同时我们可以减小apk包的大小,主要是通过对resource.arsc中资源文件名进行混淆,减小命名的大小。因为本身Android中是不对资源文件进行混淆工作的。同时我们可以修改resource.arsc文件内容,防止apktool这样的工具进行反编译。

    注意:这里我们可以使用aapt命令更为方便,具体看文章内容的总结部分。这里就不在赘述了。


    第四篇:解析dex文件格式

    点击进入

    这里我们解析dex文件,主要是为了更好的了解Android中的代码结构,同时我们解析完dex之后,就知道代码的结构,调用哪些api,从而判断执行了某些功能,比如判断apk是否调用了系统的api,是否包含广告sdk的api等信息,同时我们知道dex的结构之后,我们就可以对dex进行加密工作,从而做到上层对apk进行加固的工作。

    注意:这里可以使用dexdump命令更为方便,具体看文章内容的总结部分,这里就不在赘述了。


    总结

    所以关于Android中的编译之后的文件解析工作就算告一段落,这些知识也是我们后面的逆向基础,特别是在遇到逆向失败的时候,我们能够通过具体的错误信息来定位问题,当然这些文件格式的了解也对让我们对Android中apk包生成的流程有个大体的了解。


    更多内容:点击这里

    关注微信公众号,最新Android技术实时推送



  • 相关阅读:
    java多线程:并发包中ConcurrentHashMap和jdk的HashMap的对比
    java编程之:Unsafe类
    mave之:java的web项目必须要的三个jar的pom形式
    java多线程:并发包中ReentrantReadWriteLock读写锁的锁降级模板
    java多线程:并发包中ReentrantReadWriteLock读写锁的原理
    java编程之:按位与运算,等运算规则
    java多线程:jdk并发包的总结(转载)
    liunx之:wps for liunx的安装经验
    mysql中enum类型理解
    MySQL类型float double decimal的区别
  • 原文地址:https://www.cnblogs.com/roccheung/p/5797258.html
Copyright © 2011-2022 走看看