Android反编译debug调试详解(一)(附图)

第一次写博客之类的 ,下面使劲踩我。不足之处忘指出。

前言

最近对别人一个项目挺感兴趣,就反编译玩一玩。自己真正意义上反编译并且利用Android studio Debug反编译的项目。自己利用的很多工具,走了很多弯路,折腾了好几天,今天总结出来,给Android的同仁们一个可以的文档,也给自己做一个笔记。

测试环境:

Win10

工具:

apktool (下载)   官网链接

jdk.1.8

Android Studio

环境搭建

下载最新apktool.jar 和apktool.bat 并放到同一目录下。在电脑环境变量里面配置apktool的路径。如下图:

Android反编译debug调试详解(一)(附图)_第1张图片
apktool配置

安装 Android Studio 工具  (这个就不多说了)。

开始反编译:

Win+R   打开CMD命令窗口,输入:

apktool d C:\Users\xxx\Desktop\test.apk

反编译成功后如下图:

Android反编译debug调试详解(一)(附图)_第2张图片
反编译截图

反编译成功后的的apk项目会在你电脑登陆的用户所在目录下如:C:\Users\xxx\test, test就是你apk的名称。如图:

Android反编译debug调试详解(一)(附图)_第3张图片
反编译apk目录和结构

其中smali就是反编译的项目代码。其中文件为.smali  。res 是资源文件。

重新打包

接下来就是准备回编译重新打包的工作了。打开AndroidManifest.xml  在application中加入并保存:

android:debuggable="true"

Android反编译debug调试详解(一)(附图)_第4张图片
修改AndroidManifest.xml

接下来就是重新打包了。

打开CMD窗口,输入(test为之前反编译后的项目路径):  

apktool b C:\Users\xxx\test

Android反编译debug调试详解(一)(附图)_第5张图片
重新打包过程

此时,我们就已经打包成功了。在test(项目目录)会多出一个dist文件夹,文件夹中会有一个apk文件。就是我们打包好的文件了。

Android反编译debug调试详解(一)(附图)_第6张图片
重新打包好的apk

此时这个apk文件是未签名的apk,我们无法安装到手机或者模拟器中。此时就需要给它签名。

在CMD窗口中输入 如下命令并回车:

keytool -genkey -alias test.keystore -keyalg RSA -validity 40000 -keystore test.keystore

/*说明:-genkey 产生密钥

-alias test.keystore 别名 demo.keystore

-keyalg RSA 使用RSA算法对签名加密

-validity 40000 有效期限4000天

-keystore test.keystore */

然后输入密钥库口令:如123456    (自己随意写)

然后再次输入密钥库口令:如123456    

然后一路回车,

...

当出现:

CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?

[否]:

然后输入:是      然后输入回车。

再此输入密钥口令。回车

输入 <-test.keystore> 的密钥口令

(如果和密钥库口令相同, 按回车):

到此,签名文件已经生成了,签名文件生成后的路径在:你电脑登陆的用户所在目录下如:C:\Users\xxx\test, test.keystore就是你apk的名称。如图:


Android反编译debug调试详解(一)(附图)_第7张图片
签名文件所在目录

好,接下来我们给我们未签名的APK进行签名。

在CMD窗口中输入如下命令并回车:

jarsigner -verbose -keystore C:\Users\xxx\test.keystore -signedjar test_signed.apk C:\Users\xxx\test\dist\test.apk test.keystore

/*注:-verbose 输出签名的详细信息

-keystore  demo.keystore 密钥库位置

-signedjar test_signed.apk test.apk test.keystore 正式签名,三个参数中依次为签名后产生的文件test_signed,要签名的文件test.apk和密钥库test.keystore.*/


Android反编译debug调试详解(一)(附图)_第8张图片
正在签名
Android反编译debug调试详解(一)(附图)_第9张图片
签名完成

到此我们的apk已经签名成功了。如图:

Android反编译debug调试详解(一)(附图)_第10张图片
签名后apk路径

到此我们的apk已经签名成功.

接下来我们把apk安装到手机。可以借用第三方工具安装如:应用宝或者豌豆荚 

也可以用adb命令进行安装

adb install (apk在PC上的路径/)*.apk

Android反编译debug调试详解(一)(附图)_第11张图片
安装apk


这篇文章就到这里结束了,下一篇开始讲如何利用Android Studio debug反编译的项目

你可能感兴趣的:(Android反编译debug调试详解(一)(附图))