apk反编译

反编译


之前一直有想法开始写自己的博客,由于种种原因一直没有开始。这次是因为一个偶然的事情,由于同事电脑出现故障,电脑里的数据全部丢失。(公司没有给提供服务器,代码全是我们自己保存,一个教训啊!!)怎么办?重写?那不可能,老板同意,客户也不同意啊。再说了,老板也不同意。我的建议就是把现有的apk反编译,最起码不用重头再写了。好像也不是第一次碰到了,之前也是有一个朋友,项目上线了,再改动的时候把代码给删错了很大一部分,也是反编译找回来了。

好了,言归正传!开始记录我们反编译的过程。

推荐两个反编译软件,一个是一键反编译,一个是反编译助手

一键反编译下载地址:https://pan.baidu.com/s/1F7wdoCDq7QZRIIMPV0wSdw   提取码:i2r5

反编译助手下载地址:https://pan.baidu.com/s/1b0Gwry-OBla4kLaW8-1DtQ    提取码:xzs7

解压出来就可以使用

一键反编译软件使用比较简单:

1. 将apk文件放到onekey-decompile-apk目录下

2. 将apk文件拖拽到_onekey-decompile-apk.bat上

3. 执行完成后

  会在onekey-decompile-apk目录下生成和apk同名的目录(放置了apktools反编译出来的东西)

  会在onekey-decompile-apk目录下生成和apk同名的jar文件(dex2jar反编译出来的class)

而且过几秒钟自动打开

反编译后打开图


反编译助手使用:

反编译助手下载后解压出来的目录

解压后外层目录
中间目录
apktool文件夹

这张图下边还会说到的哦!!!!

点击Android逆向助手.exe运行

1. 将apk文件放到apktool目录下

2. 先选择apk提取dex然后 将apk文件拖拽到Android逆向助手的源文件处上,目标文件目类会自动生成其对应的,当然也是可以修改的。点击操作提取dex,会在其对应目录里生成一个对应的classes.dex文件

提取dex

3. 选择dex转jar,再降classes.dex拖到源文件处,点击操作,将文件转成jar

dex转jar

完成后也会自己打开到之前代码打开界面,这里就不再展示了。

说到这里已经可以找到对应的代码了,可以对代码进行一些操作,这里就不再赘述了。

Ok,到此结束!什么?res里的文件图片资源怎么看?

如果你只是想找里边的图片,那就把.apk文件改一下后缀呗,就改一个.zip吧

压缩包里的目录

就从里边找吧,会找到你的东西的。

当然了,如果你想看里边的xml文件,不好意思,打开了是一堆乱码,当然也需要反编译了。

好了,又用到上边说的一张图了。看下边!

就是这张图

这是apktool下的目录结构,我们可以把apktool配置到path项,这样就可以在任何地方进行cmd命令了。

1. 当然可以不配置,把对应的apk放到这个目录下。

2. 进入到cmd命令,切换到当前盘符,然后输入 apktool d -f **\**.apk -o ** 命令。

    之前的命令是apktool d  **\**.apk  **,由于版本问题,以后的只能输入这个命令才有效。

    这样就会反编译出来我们的xml了,等等还会有坑哦,由于apktool版本低了,反编译失败,没办法了只能下载新版本的替换了。

    下载链接:https://pan.baidu.com/s/1v9FkG-SD9dEmcpvZUNpPFA   提取码:t53l

3. 完成以后在生成的目录里打开,再看就不会是乱码了。



以上的都是在没有混淆等的情况下哦,人家apk做了处理后再想看懂那就...你懂的。

你可能感兴趣的:(apk反编译)