资讯专栏INFORMATION COLUMN

Mac OS上反编译android app的环境搭建

baukh789 / 2090人阅读

摘要:原文链接很多时候,我们出于学习或者安全测试等的目的,需要对的安装文件进行反编译来查看源代码,下面我们来一起搭建下的反编译环境。

原文链接:http://tabalt.net/blog/decomp...

很多时候,我们出于学习或者安全测试等的目的,需要对andorid app的安装文件进行反编译来查看源代码,下面我们来一起搭建Mac os 下的反编译环境。

安装环境

建立基本文件夹

mkdir -p ~/study/apkkiller/soft/bin
mkdir -p ~/study/apkkiller/soft/src
mkdir -p ~/study/apkkiller/output/

andorid app的安装文件为apk包,要反编译apk文件,需要下载apktool和dex2jar这两个软件,它们均托管在google code上:

http://code.google.com/p/android-apktool/
http://code.google.com/p/dex2jar/

从以上两个页面找到下载地址,这里我们找到的是 apktool1.5.2 和 dex2jar-0.0.9.15的下载地址:

cd ~/study/apkkiller/soft/src
wget http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2
wget http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip

解压后文件存放在如下目录:

~/study/apkkiller/soft/src/apktool1.5.2
~/study/apkkiller/soft/src/dex2jar-0.0.9.15

为了方便使用,建立两个软连接:

ln -s ~/study/apkkiller/soft/src/apktool1.5.2/apktool.jar ~/study/apkkiller/soft/bin/apktool
ln -s ~/study/apkkiller/soft/src/dex2jar-0.0.9.15/dex2jar.sh ~/study/apkkiller/soft/bin/dex2jar
测试反编译环境

下面开始来反编译我们的测试apk文件,看看环境是否可以正常运行

cd ~/study/apkkiller
mkdir -p ~/study/apkkiller/output/test/source
mkdir -p ~/study/apkkiller/output/test/result

cp ./test.apk ./output/test/source/test.zip
unzip ./output/test/source/test.zip -d ./output/test/source/test

cp ./output/test/source/test/classes.dex ./output/test/source/classes.dex
~/study/apkkiller/soft/bin/dex2jar ./output/test/source/classes.dex
# output ./output/test/source/classes_dex2jar.jar

要查看反编译后的文件,可以下载jd-gui工具,打开上面生成的 ./output/test/source/classes_dex2jar.jar 文件即可, 该工具可以将源码包都导出来。jd-gui从下面的地址下载:

http://jd.benow.ca/
http://jd.benow.ca/jd-gui/downloads/jd-gui-0.3.5.osx.i686.dmg

apk的资源文件都存在上面我们解压的文件夹./output/test/source/test中,里面有很多xml文件,但是是加密的,无法直接查看。这时,就需要用到apktool工具了:

java -jar ~/study/apkkiller/soft/bin/apktool d ./test.apk ./output/test/source/test_resource

将导出的源码和资源文件合并,就得到我们想要的结果了。

原文链接:http://tabalt.net/blog/decomp...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/12310.html

相关文章

  • [React Native Android安利系列]搭建React Native Android环境

    摘要:环境首先,我们需要搭建一个开发环境。在终端下,直接执行命令进行查看,如果没有,请百度安装与环境变量配置。如图图不过,如果你运行到了这一步,恭喜你,你已经将的安卓项目成功的编译并安装到手机上了。 欢迎大家收看react-native-android系列教程,跟着本系列教程学习,可以熟练掌握react-native-android的开发,你值得拥有https://segmentfault....

    pf_miles 评论0 收藏0
  • react-native:环境搭建

    摘要:是开源的,在和的基础上构建原生的和应用的平台。着力于提高多平台的开发效率,。下面简单介绍下的环境搭建。环境要求最新的系统,要开发应用就必须使用系统。运行在当前目录下会多出一个的目录,里面是项目的文件。 Any application that than can be written in JavaScript will eventually be written in JavaScri...

    curried 评论0 收藏0
  • react-native:环境搭建

    摘要:是开源的,在和的基础上构建原生的和应用的平台。着力于提高多平台的开发效率,。下面简单介绍下的环境搭建。环境要求最新的系统,要开发应用就必须使用系统。运行在当前目录下会多出一个的目录,里面是项目的文件。 Any application that than can be written in JavaScript will eventually be written in JavaScri...

    tinyq 评论0 收藏0
  • react-native:环境搭建

    摘要:是开源的,在和的基础上构建原生的和应用的平台。着力于提高多平台的开发效率,。下面简单介绍下的环境搭建。环境要求最新的系统,要开发应用就必须使用系统。运行在当前目录下会多出一个的目录,里面是项目的文件。 Any application that than can be written in JavaScript will eventually be written in JavaScri...

    vvpale 评论0 收藏0
  • Android For OpenCV环境搭建

    摘要:是一个基于许可开源发行的跨平台计算机视觉库,可以运行在和操作系统上。后期将进一步完善其学习记录。为了确保工程创建成功,我们可以重新一下工程载入我们在的回调函数中异步初始化,代码很简单,一句话加上一个回调。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 ...

    gnehc 评论0 收藏0

发表评论

0条评论

baukh789

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<