zoukankan      html  css  js  c++  java
  • APK文件反编译

    上次看了两篇反编译APK文件的文章,反编译了几个音乐播放器,自己借用其中一个应用的界面做了一个相应播放器。近期有比较多的空闲时间,所以打算做一个LBS旅行应用。但目前发现又不会反编译了,所以还是记录下来,下次再忘直接看自己的文章比较快。(注:以下为Windows环境下)

    1:反编译Java源码(从dex文件->jar文件->java文件)

    利用工具(1)dex2jar,下载地址:http://code.google.com/p/dex2jar/(不知道能不能连上) (2)jd-gui,下载地址:http://jd.benow.ca/

    解压后启动命令行(开始->cmd),更改目录到解压路径,如我的目录:D:adtapk2javadex2jar-0.0.9.15

    运行命令

    (1) d:

    (2) cd D:adtapk2javadex2jar-0.0.9.15

    (3) 解压要反编的APK文件,得到classes.dex文件,如我要反编译去哪儿旅游攻略,classes.dex文件路径为:D:android_relate ravelLBScom.qunar.travelplan_222048classes.dex

    (4) d2j-dex2jar -o D:android_relate ravelLBScom.qunar.travelplan_222048qne.jar D:android_relate ravelLBScom.qunar.travelplan_222048classes.dex

    注:dex2jar命令已经废弃,官方推荐用d2j-dex2jar命令,上面的命令d2j-dex2jar -o [反编译后的文件保存位置及名字]  [要反编译的dex文件];如果不加-o参数即指反编译到d2j-dex2jar命令所在路径中,这里还有其他的参数,具体可以自己去看d2j-dex2jar -help

    (5) 得到qne.jar文件后用jd-gui打开就行了,这个就不解释了,去用就懂

    2:反编译资源文件

    工具:apktoole,下载地址:http://code.google.com/p/android-apktool/ (假设我的apktool文件路径为:D:adtfbyprk-window)

    运行命令

    (1) d:

    (2) cd D:adtfbyprk-window

    (3) apktool d -s D:android_relate ravelLBScom.qunar.travelplan_222048.apk D:android_relate ravelLBSqne

    注:-s是指src目录就不要反编译出来了,反编译的话得到的是.smali文件(对我反正暂时没什么用)。命令apktool d -s [apk文件路径] [生成的资源目录路径]。具体参数可以自己了解一下apktool -help

    至此Java文件和资源文件都得到了。反编出来的java文件可能添加了混淆,类名为a,b,c这样,暂时没办法还原

    截个图看一下吧:

    命令行:

    得到的文件(1个jar文件,1个资源目录):

     3:直接用apk2java反编译得到资源文件和java源码

    apk2java,下载地址:https://apk2java.googlecode.com/files/apk2java_v1.0.zip

     解压后(例如,我的解压后目录D:adtapk2javaapk2java_v1.0),命令行切换到该目录,把要反编译的apk文件放到D:adtapk2javaapk2java_v1.0目录下

    (1)D:

    (2)cd  D:adtapk2javaapk2java_v1.0

    (3)apk2java sample.apk

    得到一个src的目录,如截图:

    其中,com目录存放有java源码,other则是存在资源文件

  • 相关阅读:
    unity3d 中文乱码解决方法——cs代码文件格式批量转化UTF8
    Unity SteamVR插件集成
    Unity3D Layer要点
    Unity利用Sapi进行windows语音开发
    Scratch入门课程(1)——把工具准备好
    【blockly教程】Blockly编程案例
    【blockly教程】第六章 Blockly的进阶
    【blockly教程】第五章 循环结构
    【blockly教程】第三章Blockly顺序程序设计
    【blockly教程】第四章 Blockly之选择结构
  • 原文地址:https://www.cnblogs.com/creasylai19/p/3791316.html
Copyright © 2011-2022 走看看