反编译,混淆加密代码教程

计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中---------------好了 下面我把自己研究的反编译的过程给大家分享一下,不喜勿喷~~~

我们要用到一个反编译软件  这里有网址 大家可以下载http://www.dayanzai.me/android-hack.html


我在这里就自己模拟创建一个项目,放三个类A,B,C

 

然后打包APK   步骤不多说,大家应该都了解  注意打包的过程中会用到keystore

打包完之后  找到自己保存到相关地方的APK,我这里是放到了一个文件夹里  ,然后把APK的后缀改成zip然后解压  会得到这些东西



这时候就可以打开你下载好的反编译软件进行反编译了


看这里有好多选项     选择你的dex文件直接拖过来就可以反编译了  这时候你看到的代码  应该是看不懂了



这就是java文件的反编译   但是我们看到这里

为什么只有两个类  

因为我在proguard-project.txt中加了一句:      -keep class com.example.zcx.A

因为我们反编译的代码默认只保留一个activity的入口,所以这里我保留了一个A类 。你想保留更多的类  可以继续keep。


下面我们讲一下代码的加密,其实很简单;;;;;

打开你项目的/project.properties添加一句:proguard.config=proguard-project.txt

就可以搞定了,你要重新打包一下APK,重新反编译,我把加密和不加密的给你们对比一下

   不加密的:                                                                          


加密的:


 你们可以看加密的比不加密的少很多文件   这里是看不到的,这就是代码的混淆,也叫加密

写的不好的地方大家可以批评指正!










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值