Android studio编写的apk文件的反编译与加固

  我们用Android Studio(以下简称AS),开发安卓软件,很容易反编译,但往往很我们并不希望自己的的代码被他人利用,那么我们如何让我们的程序反编译后不被利用呢?答案是可以!  首先我们准备好以下工具:  下面来演示下如何反编译软件。dex2jar、jd-gui和360安全加固软件,其两个软件我已经打包供大家下载。  首先,我们建立一个项目,为方便测试,我们写一些简单的代码,比如a、b两个数比大小的函数,并调用它。写好后,我们要生成一个release包,菜单build->genera
摘要由CSDN通过智能技术生成

  我们用Android Studio(以下简称AS),开发安卓软件,很容易反编译,但往往很我们并不希望自己的的代码被他人利用,那么我们如何让我们的程序反编译后不被利用呢?答案是可以!
  首先我们准备好以下工具:
  下面来演示下如何反编译软件。dex2jar、jd-gui和360安全加固软件,其两个软件我已经打包供大家下载。
  首先,我们建立一个项目,为方便测试,我们写一些简单的代码,比如a、b两个数比大小的函数,并调用它。写好后,我们要生成一个release包,菜单build->generate signed bundle / apk,弹出对话框,选择“APK”选项,Next。如图1,会出现一个“generate signed bundle or apk”对话框。我们新建或打个一个秘钥。这里我们新建一个秘钥,点击“create new...”,出现“New Key Store”对话框(如图2),在Key store path中建立一个jks秘钥, 然后设置密码、秘钥名(Alias)、有效期等信息、其中Certificate中的信息可选填,“OK”(如图3),刚才秘钥设置“generate signed bundle or apk”,里的信息已填充好, 输入刚才设置的两道密码,"Next", 出现“generate signed bundle or apk”的打包界面,,选中(如图4)所示内容。“Finish”,AS便会生成一个debug包和一个release包。
  做完以上工作,就可以开始反编译了,找到刚才的release包(注意:不是debug包)——app-release.apk,拷出并解压缩,可以看到一个classes.dex文件,将其拷到dex2jar工具的根目录下(如果目录已经有classes.dex、classes-dex2jar或classes-error,请先转移或删除),打开命令窗口,通过DOS命令进入到dex2jar目录并执行命令“d2j-dex2jar.bat classes.dex”(如图5)。根目录下会出现classes-dex2jar.jar文件(如图6)。到此我们已经完成反编译工作
  接着,我们启动jd-gui工具,再用jd-gui打开刚刚的classes-dex2jar,我们就以看到反编译后文件(图7)。代码完全暴露。其实我们可以利用AS的代码混淆功能,启动AS,打开用于测试的项目build.gradle,将minifyEnabled fal

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值