Android Reverse Engineering: Basics -- Tools Usage and Proguard
来源:互联网 发布:关于淘宝店 编辑:程序博客网 时间:2024/06/06 14:29
步骤参考http://blog.csdn.net/wawxf2008/article/details/21303907
所用工具: Android Studio 1.01 , dex2jar, jadgu
用Android Studio 生成一个默认blank activity (带个hello word)的兼容从2.3.3到5.01的apk。大小为934KB。
用unzip解压后得到以下文件:
直接用文本处理工具打开.xml和dex文件,结果如下应该都是无法直接辨识的十六进制编码。
dex也就是传说中的dalvic bytecode了。用dex2jar把dalvic bytecode 转成java bytecode
Hao$ dex2jar/dex2jar.sh app-release/classes.dex
生成classes_dex2jar.jar。
这时我们可以用jad-gui来再次把java bytecode转成java code,让我们来看看效果
可以看到对于这个简单的且没有使用proguard的apk, jad能够还原的很好。
并且能看到一个build config的类,反应了apk的一些基本信息。内容如下
我们再来测试下使用minify后的情况。
进入build.gridle把false改成true
buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
然后signing release, 注意是release不是debug。
生成的apk大小小了接近一半,为577KB。
重复刚才我们的步骤。
我们可以看到android.support里的class 和method名 都被按字母重命名了。
现在我们再来测一下使用proguard的情况。把minify改成runProguard, 结果gradle报错。查文档看到这么一句话
ProGuard is supported through the Gradle plugin for ProGuard version 4.10. The ProGuard plugin is applied automatically, and the tasks are created automatically if the Build Type is configured to run ProGuard through the minifyEnabled property.
看来上面的minify其实就是proguard + optimization了。
- Android Reverse Engineering: Basics -- Tools Usage and Proguard
- Reverse Engineering and Debug Tools
- [Android Tools] Android Reverse Engineering Heaven tools :)
- Links: Tools And Usage
- Reverse Engineering and Function Calling by Address
- Reverse engineering
- Reverse Engineering破解Android NDK程式(*.so)
- Android Reverse Engineering 101 – Part 1
- [Android] Proguard And DexGuard
- [Android] Proguard And DexGuard
- Protections and Reverse Engineering under .Net (CodeBreakers Journal投稿文章)
- Covert Java : Techniques for Decompiling, Patching, and Reverse Engineering
- Reverse engineering NAND Flash for fun and profit
- Installing VMware Tools on Kali Linux and Some Debugging Basics
- ProGuard Usage 翻译
- ProGuard manual Usage翻译
- Android CTF Reverse-Engineering Android APK 1[binary][100]
- Apktool—A tool for reverse engineering Android apk files
- poj1113--Wall(凸包)
- A. Pasha and Pixels(Codeforces Round #288 (Div. 2))
- B. Anton and currency you all know(Codeforces Round #288 (Div. 2))
- ural 1353. Milliard Vasya's Function
- C. Anya and Ghosts( Codeforces Round #288 (Div. 2))
- Android Reverse Engineering: Basics -- Tools Usage and Proguard
- SQLSERVER 事务日志查看LogExplore 使用方法
- SQL2005中查看事务日志方法-MS-SQLServer
- 4.2.4 init_post函数
- Birthday Cake——直线分割
- 作为一个程序员,我想,是该有自己的一个博客的时候了
- ACM题集以及各种总结大全!
- Struts 1之DispatchAction
- 拾遗语句