Android反编译文件格式解析学习笔记

2017-11-19  本文已影响0人  普通的程序员

学习材料均来自四哥主页
转载请注明四哥主页

所有源码来自
https://github.com/fourbrother/parse_androidso

Android逆向之旅—SO(ELF)文件格式详解

Android逆向之旅—解析编译之后的AndroidManifest文件格式

Android逆向之旅—解析编译之后的Resource.arsc文件格式

Android逆向之旅—解析编译之后的Dex文件格式

Android解析编译之后的所有文件(so,dex,xml,arsc)格式

学习以上这些基础知识都是为了了解文件格式,在碰到工具反编译加固的apk时,如何找到具体文件进行调试。

其实还是看不太懂
比如ELF文件格式的图


来自非虫大神 AndroidManifest文件头格式 Resource.arsc文件格式 dex文件头

那么我放这么多图干嘛呢?方便查。。。

也许有一天某个面试官看到这里,我只想告诉你,我真的有在搞这些东西,这个东西没人带入门,真的好痛苦....

附上我的代码注释笔记
https://github.com/lamster2018/DexShell/tree/master/parseSo

其实真的学到的,
我就学到一个 签名校验防二次打包

        PackageManager localPackageManager = getContext().getPackageManager();
        try {
            if (254137923 != localPackageManager.getPackageInfo(getContext().getPackageName(), PackageManager.GET_SIGNATURES).signatures[0].hashCode()) {
                Process.killProcess(Process.myPid());
                return;
            }
        } catch (PackageManager.NameNotFoundException e) {
            System.exit(-1);
        }
    }
上一篇下一篇

猜你喜欢

热点阅读