How to decompile Google Android .apk file as readable dump【原创】

简介: How to decompile Google Android .apk file as readable dump【原创】

Background :google android SDK platform provide emulator & ADB utility tools,it's very useful to


decompile the apk file to dump byte readable file.



Summary:


if you are ready for it, the sequences as following,



  - create/launch emulator from command line


  - launch the ADB utility tool from command line


  - install apk file from local directory from command line


  - list all system application apk file from command line


  - dexdump selected .dex file from emulator


  - pull dump file to local directory



Detail Section:


 


   step 1: create your own emulator if you still not create one and then launch the emulator


               launch the windows command line console, then chnage root directory to your android


               SDK Platform/tools directory, for me


               C:/>cd /d D:/android-sdk-windows/tools


               D:/android-sdk-windows/tools>android create -avd -n my_android1.5 -t 2


               D:/android-sdk-windows/tools>emulator -avd  my_android1.5


   step 2: after emulator launched, go to windowns console to start ADB Shell utility tool


               make sure your emulator is running before you start ADB. if it's successful


             D:/android-sdk-windows/tools>adb shell

               # cd /system/app

               cd /system/app

               # ls

               ls

               Mms.apk

               ApplicationsProvider.apk

               GlobalSearch.apk

               Calculator.apk

               SpareParts.apk

               GestureBuilder.apk

               Music.apk

               SdkSetup.apk

               PackageInstaller.apk

               Fallback.apk

               SettingsProvider.apk

               DrmProvider.apk

               Development.apk

               TelephonyProvider.apk

               PinyinIME.apk

               HTMLViewer.apk

               Settings.apk

               NetSpeed.apk


              if you want to see how many user applications have been installed on your emulator, just


              cd /data/app,and then ls



               step 3: install your apk file using adb shell commands, if you still not install your application


               on emulator


               D:/android-sdk-windows/tools>adb install D:/android-sdk-windows/tools/a.apk


               after install successfully, you will see your apk file using above command line



              step 4: get the cached dex file from your emulator, we have to enter dalvik VM cache using command


              # cd /data/dalvik-cache


              # ls                              


              ..........                          


              data@app@a.apk@classes.dex



              step 5: use dexdump file to generate the dump file then use pull command to copy to local directory


              #dexdump -d -f -h data@app@a.apk@classes.dex >> a.apk.dump



finally you will get a bit-readable dump file, based on dalvik class format knowledge, the more you dig


the more you get. normally *.apk file is a .zip file, could be open by any winzip tool.

Reference: SDK platform documentation

相关文章
|
7月前
|
移动开发 安全 Java
Android历史版本与APK文件结构
通过以上内容,您可以全面了解Android的历史版本及其主要特性,同时掌握APK文件的结构和各部分的作用。这些知识对于理解Android应用的开发和发布过程非常重要,也有助于在实际开发中进行高效的应用管理和优化。希望这些内容对您的学习和工作有所帮助。
690 83
|
6月前
|
安全 算法 小程序
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
369 28
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
|
7月前
|
前端开发 Java 编译器
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
201 36
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
|
8月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
195 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
Java Android开发 Windows
使用keytool查看Android APK签名
本文介绍了如何使用Windows命令行工具和keytool查看APK的签名信息,并提供了使用AOSP环境中的signapk.jar工具对APK进行系统签名的方法。
1343 0
使用keytool查看Android APK签名
|
Android开发
将AAB(Android App Bundle)转换为APK
将AAB(Android App Bundle)转换为APK
607 1
|
开发工具 Android开发
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
284 1
|
Android开发 开发者
Android、Flutter为不同的CPU架构包打包APK(v7a、v8a、x86)
Android、Flutter为不同的CPU架构包打包APK(v7a、v8a、x86)
958 1
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
4336 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
214 0

热门文章

最新文章

推荐镜像

更多