APK反编译

QuibblerQuibbler 2019-11-11 约 4 分钟 2057 次阅读

APK反编译

反编译apk,查看源码资源等,需要用到三个工具apktool、dex2jar、jd-gui。首先去三个平台下载各自的工具包。这里不提供下载,百度可以找到下载资源。

1、apktool

借助apktool提取apk中的目录,资源。使用下面的命令,最好使用Windows原生的shell,用git一堆坑,主要是路径和linux不一样。

可能会遇到缺少framework的错误,这就需要从手机中将系统的framework-res.apk拿出来

adb pull system/framework/framework-res-hwext.apk

pull到电脑上,然后通过apktool安装上

java -jar apktool.jar if framework-res-hwext.apk

默认安装在C盘对应的目录下,可能会提示没有权限,这是用管理员shell或者创建好对应的目录再安卓。

安装好之后,就可以使用用下面的命令使用apktool,提取到当前目录的source目录下。可以看见source目录中和工程目录结构相似。

java -jar apktool.jar d -f com.huawei.search.apk -o source

        

2、dex2jar

其次,使用 dex2jar反编译 apk 得到 Jar 包。进入dex2jar工具目录中

       

将apk解压里面得到的classes.dex拷贝到dex2jar工具目录中;执行命令:

./d2j-dex2jar.bat ./classes.dex

会报错,提示是version版本的问题,试了好几个版本都不行。

终于找到一个机灵鬼写的博客,修改classes.dex的头部,用notepad++打开.dex文件,可以看见


dex2jar应该就是通过这个进行version匹配的,可见新版本已经是038,手动改成036保存。这时候可以反编译成功。

再次执行,得到对应的jar文件:

3、jd-gui查看jar源码

最后,通过jd-gui打开反编译的classes-dex2jar.jar文件

即可查看代码,但是绝大多数都是经过混淆的。

上面这一顿操作下来是不是感到很费劲,那么多命令要记住。好在已有集成的逆向工具,一键帮开发者完成反编译。详见交互式反编译器:GDA一文。

更多资料:

        apk 反编译 - 最新版图文教程

        APKTool用法

        decompile-apk

        android-security

        APKLab

        

相关推荐

精选
ViewPager和PagerAdapter、FragmentPagerAdapter、FragmentStatePager
Android

ViewPager和PagerAdapter、FragmentPagerAdapter、FragmentStatePager

ViewPager1、ViewPagerandroidx.viewpager.widget.ViewPager,Android中使用非常广泛的控件,可以说是APP必备:首次打开引导页、页面Banner广告等。常用方法:setAdapter() 设置适配器setOffscreenPageLimit() 设置缓存的页面个数,默认是 1setCurrentItem() 跳转到特定的页面setOnPage

1.1k
获取Android内置WebView内核版本
Android

获取Android内置WebView内核版本

获取Android内置WebView内核版本竟然能遇到这样奇葩的事情,网页用的技术过于新颖,以至于只支持高版本Chromium内核的,低版本安卓系统中内置的内核版本较低,无法加载前端页面。1、设置查看在系统设置里 > 应用 > 应用管理 > 显示系统应用,查看WebView组件:2、页面查看通过WebView发起的网络请求,都会带上浏览器的UA,通常页面都可以通过UA判断浏览器的内核版本。这里有两

1.1w
Android 14适配总结
Android

Android 14适配总结

Android 14适配总结毕业工作至今已经适配了三个Android大版本,从Android 11到Android 12、再到Android 13。2023年,Google即将推出的Android 14,上半年已经开始第一批适配。现在,第四个Android版本已经适配完,总结记录一下。1、Android 14计划Google一般会在2月份对外发布预告,同时放出开发者预览版。“拉通”各大平台、厂商以

1.1w