美文网首页
proguard代码混淆面试问题讲解

proguard代码混淆面试问题讲解

作者: 崽子猪 | 来源:发表于2019-05-19 11:18 被阅读0次

一、混淆(proguard)到底是什么?

ProGuard工具是用于压缩,优化,混淆我们的代码.主作用是可以移除代码中的无用类,字段,方法和属性同时可以混淆


二、ProGuard技术的功能

1.压缩(在打包的时候来检查并移除代码中没有用到的字段、方法、属性和类)

2.优化(它可以对字节码进行优化,对.class文件里无用的操作移除)

3.混淆(把有意的名词变成无意的名词)

4.预检测(第二次进行处理和检测)


三、ProGuard工作原理

引入一个 EntryPoint 它是在Proguard过程中不会被处理的类或者方法


四、为什么要进行代码混淆?

因为java是一种跨平台、解释性与语言。Java源代码编写成中间的字节码存储与class文件中。由于跨平台的需要,Java字节码中包含许多源代码信息,如变量名、方法名。并且通过这次名称来访问变量和方法。这些符号有很多信息,很容易被反编译成Java源代码.为了防止这种现象,我们可以使用Java混淆器对Java字节码进行混淆。


五、代码混淆的作用及好处

作用

1.起到了保护代码的作用

2.精简了程序的内存大小

好处

1.混淆后的代码很难被反编译,即使被反编译了也很难看懂真正语义。

2.被混淆的代码仍照原来的档案格式和指令集 执行结果与混淆前一样。

3.混淆的不可逆性,在混淆过程中有一些影响正常运行的信息永远丢失,是程序更难理解

由于缩短变量和函数名以及丢失部分信息的原因,编译后jar文件体积可减少%25左右,对当前费用较贵的无线网络传输是有一定意义的.

相关文章

  • proguard代码混淆面试问题讲解

    一、混淆(proguard)到底是什么? ProGuard工具是用于压缩,优化,混淆我们的代码.主作用是可以移除代...

  • (十八)ProGuard代码混淆面试问题

    一、ProGuard到底是什么 ProGuard工具是用于压缩、优化、混淆代码,主作用是可以移除代码中的无用类、字...

  • ProGuard

    Java代码混淆工具——ProGuard 1.ProGuard简介 简单来说,ProGuard是一个对代码进行压缩...

  • Android使用mapping文件还原混淆代码

    还原混淆文件 ProGuard 提供了命令行来还原混淆后的代码,目录如下: /tools/proguard/bin...

  • java代码混淆工具ProGuard混淆插件

    java代码混淆工具ProGuard混淆插件 介绍 ProGuard是一个纯java编写的混淆工具,有客户端跟ja...

  • Android混淆总结

    Proguard 混淆工具来帮助我们快速地对代码进行混淆。根据 Java 官方介绍,Proguard 对应的具体中...

  • ProGuard代码混淆

    一、简介 ProGuard 工具通过移除无用的代码以及使用语义隐晦的名称来重命名类、字段和方法,从而达到压缩、优化...

  • 代码混淆ProGuard

    1.proguard的四个功能(1).压缩:侦测并移除代码中无用的类、字段、方法和特性。(2).优化:对字节码进行...

  • Proguard代码混淆

    android混淆如果是对android-library那相对比较简单直接在build配置minifyEnable...

  • proguard代码混淆

    springboot项目混淆方案 proguard简单来说是为了防止反编译,更准确的说,进行业务代码的混淆,是使得...

网友评论

      本文标题:proguard代码混淆面试问题讲解

      本文链接:https://www.haomeiwen.com/subject/acvfzqtx.html