Android反编译文件格式解析学习笔记
2017-11-19 本文已影响0人
普通的程序员
学习材料均来自四哥主页
转载请注明四哥主页
所有源码来自
https://github.com/fourbrother/parse_androidso
Android逆向之旅—解析编译之后的AndroidManifest文件格式
Android逆向之旅—解析编译之后的Resource.arsc文件格式
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);
}
}