Leg*_*end 11 java security android bytecode reverse-engineering
我目前正在研究Dalvik字节码,但由于我缺乏编译器背景,我发现它有点难以掌握设计.我很确定没有人写过关于Dalvik的书(或者我可能是错的)所以有人可以建议我在Java VM上提供一些包含一些动手实例的参考吗?具体来说,我感兴趣的是:
简而言之,我正在寻找的可能是学习逆向工程字节代码,以便我可以分析它的漏洞.有什么建议?
对于参考资料,没有什么比dalvik文档更好.您可以在AOSP的dalvik子项目中找到它们,也可以在http://s.android.com/tech/dalvik/index.html上在线获取它们.
字节码格式(或dalvik项目中的dalvik-bytecode.html)可能是您最感兴趣的格式.Dex格式(dex- format.html)也很有用,指令格式也是如此(instruction-formats.html )
有关字节码的更多常规信息,请查看http://code.google.com/p/smali/wiki/Registers和http://code.google.com/p/smali/wiki/TypesMethodsAndFields
你肯定想要一些工具.我自然很偏爱smali/baksmali,这是目前唯一可用的汇编/反汇编程序.还有一个名为dedexer(但没有汇编程序)的反汇编程序,以及dexdump,它附带AOSP代码库并提供dex文件的低级转储 - 不仅仅是字节码,还包括所有dex结构(baksmali具有类似的输出) ,使用-D选项).
您可能也对apktool感兴趣,它使用smali/baksmali,但也能够反转apk中的"已编译"xml文件.
有几个工具将dalvik字节码转换回java字节码,虽然我不认为它们是100% - undx和dex2jar
| 归档时间: |
|
| 查看次数: |
1928 次 |
| 最近记录: |