反编译APK

看代码用JADX 可以find usage 超赞~
将apk文件后缀改成zip,解压,打开jadx-gui,拖入解压后的文件夹里的classes.dex文件,就可以查看代码。
也可以使用AndroidDecompiler

看架构用ClassyShark

  • 补充:
  1. 谷歌的APK反编译工具enjarify
    以及传统方法
    apktool + dex2ja+ jd-gui

  2. 能看布局的工具 uiautomator
    或者打开Android Studio -> Tools -> Android Device Monitor 然后点击device面板,
    点击 dump view hierarchy for UI Automator 就可以查看布局,虽然组件类名有时是错的,当可以看 resource id

  3. Android Studio 2.2或以上的build菜单下的Analyze APK能直接反编译APK了,只是不能看java代码。

  4. 通过ActivityTracker获取某个页面的完整类名,这样反编译时可以迅速找到相应的页面类名

  5. mapping文件位置:build/outputs/mapping/release/mapping.txt

  6. 反编译后的布局会看到

 android:layout_height="dimension(17409)"

这样的文本,经计算,和原始值大概是256的倍数关系。即上面的值是58dp

其他对应关系:

android:visibility="0"  = android:visibility="visible"
  android:visibility="1"  = android:visibility="invisible"
  android:visibility="2"  = android:visibility="gone"

减少混淆的工具: simplify(记得加-ie选项)
命令示例:

java -jar /Users/hongjunmin/Documents/开发相关/反编译/工具/simplify-1.3.0.jar -it '.*packageName.*' -ie /Users/hongjunmin/Documents/开发相关/反编译/APK/色散/com.xxx.xxx.apk
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容