代码混淆的作用,代码混淆技术原理

生活百科 2023-04-29 18:19生活百科www.xingbingw.cn

  有时候,我们想分析一个程序的java层逻辑。反编译后,我们发现所有的函数名、变量名、类名等。的代码已经成为一些混乱的名字,没有任何规则。这是怎么回事?实际上,程序是混乱的。

  什么是困惑?

  混乱是通过一些工具批量重命名函数名、变量名、类名、字段。

  混淆的例子和作用

  示例

  我们来看一个不混淆的例子这是我们自己写的程序,反编译的

  逻辑很清楚。反编译后的源代码和我们写的代码一模一样。我们写的应用就是一只被宰的羊,谁都可以咬。

  代码保护的第一步是混淆,即对代码进行篡改,使反编译后的代码不那么容易理解。

  打开andoridkiller工具,以X右为例。

  打开一个小文件夹3360

  发现都变成了这种这种混淆只是初级的,有的可能会混淆成外语。

  正常发育没有这个名字。

  点进去看一个就行了。虽然有影响,但影响不大。

  需要一个工具jdax-GUI;

  看看这个工具可以将我们的代码恢复到什么程序中

  我们可以使用一些工具来达到简单混淆的目的。点击这个

  图标,它会混淆我们的代码。

  重新打开,我们的代码会在这里重新编译重命名,方便我们区分。

  迷茫无非是增加我们的逆向时间。放入jdax-gui是为了更好看,但整体逻辑不会混乱。

  换句话说,代码混淆并不能一劳永逸地解决代码保护的问题。只是阅读代码比开发代码需要更长的时间。,有些核心代码最好不要放在Java里,有很大毅力的人也愿意花这个时间。

   ProGuard和混淆特征介绍

   (1)ProGuard会检测并移除包中未使用的类、字段、方法和属性,包括自己代码库中未使用的项。

   (2)ProGuard还可以优化字节码,去掉不用的代码指令,用简称混淆其他类、字段和方法。

Copyright@2015-2025 www.xingbingw.cn 性病网版板所有