ss1271's Site

风餐露宿,不可一日无码.

DroidCon UK 2012 - Who Needs Thumbs? Android Instrumentation & Reverse Engineering

| Comments

目录

Session 1: The Fragment Transition by Corey Latislaw Session 2: Picking up the Pieces – Overcoming Devices Fragmentation by Jan Berkel & Jon Schmidt Session 3: Who Needs Thumbs? Android Instrumentation and Reverse Engineering by David Teitelbaum Session 4: Beaming Data to Devices with NFC by Mark Murphy Session 5: Memory Analyzer: avoiding memory leaks by Felipe Ferraz Session 6: Deep Dive into Android Custom Components by Chiu-Ki Chan Session 7: Fast, user-friendly and power-efficient network communication on Android by Erik Hellman Session 8: Developing for Android on 2.x/3.x/4.x by Kenichi Kambara Session 9: Crash Reporting Trends for Mobile App Developers by Andrew Levy Session 10: Android Layouts by Mark Allison 本节主要讲Android上对软件的反向工程。多数人可能听说过这个做法,不过本节纯讨论技术方法,不涉及具体软件的反向工程,切记仅供学习而不是抄袭。如果你拿来抄袭,那你和腾x公司、渣浪微博、淫淫网之流没有区别,本文对所有因为学会了反向工程而引发的任何形式的法律纠纷不负任何责任。请牢记DON’T BE EVIL. 因为我在听此讲座之前自己做过类似的事情,所以大家可以参考我的过程总结,其实和讲座的过程别无他样。Android反编译其实是一项相当成熟的技术,网上可以找到非常多的例子教程以及各种工具,不过用的比较多的是我将要提到的几款。 首先请准备好工具: 方法:
  1. apktool d PATH_TO_APK_FILE DESTINATION_FOLDER_OF_DECOMPILED_FILES
  2. sh /PATH_TO_DEX2JAR/dex2jar-version/dex2jar.sh /PATH_TO_APK/someApk.apk
然后用JD-GUI打开dex2jar生成的jar,可以看到未经整理的源代码;apktool生成的文件如果会用smali可以直接使smali,不会的可以当作参考layout布局文件等等。 不过本session提到的是高端方法,似乎用的是smali然后对源代码改动就是插入logcat输出,再打包,运行。我的方法掠过重打包,因为我觉得如果作为学习之用,能看到反编译后的代码已经足够。 SoundCloud分享录音很不错,不过免费用户只能有2小时时长,而我不太愿意为一个不常用的服务付费,故直接把现场做的Evernote笔记拿来分享,Session录音请走这里

Comments