孙禾颐最新自拍图集,眼力心动下水道技术工具上天男主幻龙五月全系列下载观看
最新发布的资源中...
2024-09-11
有的时候,我们想分析一个程序的java层逻辑,进行反编译后,发现代码所有的函数名、变量名、类名等都成了一些杂乱无章的名字,没有任何规律可言,这是怎么回事呢?其实程序是被混淆了。
混淆是什么?
混淆是通过一些工具,对函数名、变量名、类名、字段进行批量重命名。
混淆的例子以及作用
例子:
先来看一下没有被混淆的例子:这是我们自己写的程序,反编译:
发现逻辑很清楚,反编译之后的源码和我们写的代码完全一样,我们写的应用就是一只被宰的羊,谁都可以咬一口。
代码保护的第一步就是混淆,就是对代码动下手脚,让反编译出来的代码不这么容易看懂。
打开andoridkiller工具,以X右为例子
打开一个smail文件夹:
发现里面都变成了这种:这种只是初级的混淆,还有一些可能混淆成外文的。
正常的开发中是不会有这种命名的
随便点进去看一个,虽然有影响的,但是影响不大。
需要借助一个工具:jdax-gui;
看一下这工具能把我们的代码还原成什么程序:
我们可以借助一些工具达到简单的混淆的目的,点击这个
图标,它会把我们的代码重新混淆。
重新打开,这里会对我们的代码重新反编译并且重命名,可以方便我们来区分。
混淆无非就是增加我们的逆向时间,放到jdax-gui里面是为了好看一些,但是整体的逻辑是不会混淆的。
也就说,代码混淆并不能一劳永逸的解决代码保护的问题,只是把读代码的时间变得比开发代码的时间还要长,当然,有些核心代码最好不要放在Java中,有一些非常有毅力的人,还是愿意花这个时间的。
ProGuard介绍以及混淆特点
(1)ProGuard会检测和移除封装中未使用的类、字段、方法和属性,包括自带代码库中未使用的项。
(2)ProGuard还可以优化字节码,移除未使用到的代码指令,以及用短名称混淆其余的类、字段和方法。
以上内容就是为大家推荐的代码混淆技术有哪些(代码混淆定义及操作)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题
内容来源于网络仅供参考版权声明:所有来源标注为小樱知识网www.cnfyy.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。
本文标题:代码混淆技术有哪些(代码混淆定义及操作)
本文地址:https://www.cnfyy.com/shcs/131594.html
相关文章
某推超人气拥粉无数宅男们心中的偶像【约P大神】(某推大神DC)最新散播噼里啦合集_[49v-1.8G]...
2024-08-21
热点文章
2021年独生子女补贴新政策是真的吗(独生子女证有有效期吗)
2021年国庆节阅兵仪式几点开始几点结束(2021年国庆节还有阅兵吗)
鼠目寸光一点红是什么生肖动物(鼠目寸光一点红)指什么生肖,紧密
k0到k9的玩法大全(强制gc的玩法和注意事项)
入土为安是什么生肖《入土为安》打一个生肖动物,词语解释
浙江12月底全面停工是真的吗(浙江什么时候放假停工)
如何做t(t怎么把p做哭)
北京口碑最差的三甲医院(北京301医院最擅长什么)