Android代码混淆及反编译apk

序言:
经常听开发提起代码混淆引起的BUG,混淆后在测试一下有没有问题,那问题来了什么是代码混淆,怎么确认代码混淆成功了,带着问题读下文吧~~

一、代码混淆的原理

代码混淆是将程序中的代码,等价转换为难以阅读理解的行为,提高攻击者阅读理解代码的难度,提高安全性,可以有效的提高应用被逆向破解的难度

二、代码混淆的方法

1.字符串加密:对应用程序中使用的字符串进行加密,防止获取关键词定位核心业务代码

2.类名、方法名混淆:讲代码中类名,方法名,属性名替换成无意义的符号,增加代码逆向难度,这种方式也是在java中最常用到的方式~

3.程序结构混淆:代码结构进行打乱混排,把源码的可读性降到最低。

三、如何反编译apk,查看代码混淆

1.准备工作

	dex2jar:将apk反编译成java源码的工具(classes.dex转化成jar文件)
	
	jd-gui:查看APK中classes.dex转化成出的jar文件,即源码文件

2.把dex2jiar.zip 和 gui 解压到当前文件夹
解压

3.把apk后缀更改为.ZIP格式解压到当前文件夹
apk

4.在解压后的apk文件夹中找到classes.dex文件,拖动到dex2jar-2.0文件夹
classes

5.dex2jar-2.0文件夹中,cmd运行

d2j-dex2jar classes.dex

cmd
生成class-dex2jar.jar文件
class-dex2jar.jar
6.使用gui查看反编译后的java源码,打开后把上面转换完的文件直接拖入
在这里插入图片描述
7.看到的代码就是混淆后的代码啦~~~

jar

这里不是起点~
也不是终点~

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值