zoukankan      html  css  js  c++  java
  • java的jar包加密

    由于项目要求(虽然我觉得代码没什么机密可言...),写好的jar包需要做一定加密处理

    这里提供两种办法,一种奇葩,一种通用

    1. 直接修改jar文件:

    具体步骤:

      在代码中插入一段不会运行的到的代码

    1     private class Invalid{
    2         private Invalid() {
    3             
    4         }
    5     }

      使用eclipse打包文件,右键export > java > JAR file > finish

      使用解压软件打开jar包。记事本打开...$Invalid.class文件,去掉里面的d

      # 最好另存外面,然后把里面的删了再拖进来,貌似不能直接保存

    加密效果:

      好像解压后class文件仍旧可以破解

    方法缺陷:

      如上

    2.使用Proguard混乱工具

    具体步骤:

      下载Proguard

      推荐下载5.X版本,和java8更兼容,而4.X版本和java7兼容   

      # 不然会出现Unsupported class version number [52.0] 的错误

      可以在CSDN上下载(http://download.csdn.net/download/kong_gu_you_lan/9637131)

      # 因为下这个做了好久的奖赏任务。。有个是邮箱验证成功出来的两个字是什么,直接填了“登录”,哈哈

      下载后解压,点开Proguard5.X>bin>proguardgui.bat

      使用Proguard

      左侧input/output,在右边add input添加需要加密jar包,add output自己命名一个导出jar包,下方的library中,有一个默认的rt.jar,如果没有引入什么自定义jar文件,直接这个默认就好

      左侧obfuscation,选择图中这几项即可,其中第2、3个勾勾对应的文件a.txt是混淆函数名,b.txt是混淆类名

      # 其实就是瞎编几个类名和函数名,一个名字占一行

      

       左侧Shrinking,最上面的Shrink去掉

      # 不然会如下报错,The output jar is empty. Did you specify the proper '-keep' options?

      其他默认,点击左侧Process > Process 加密完成

    加密效果:

      还可以

    方法缺陷:

      无法对抗功能更加强大的反编译软件

     

  • 相关阅读:
    EF ObjectQuery查询及方法
    Entity Framework --Entity SQL注意事项
    EF中Entity SQL用法
    Navicat for Oracle设置唯一性和递增序列
    Oracle添加自增长字段方法步骤
    MVC5项目中添加Wep API
    C#版 Winform界面 Socket编程 Client客户端
    C#版 Winform界面 Socket编程 Server服务器端
    给缺少Python项目实战经验的人
    python模块之collections
  • 原文地址:https://www.cnblogs.com/rucwxb/p/7447728.html
Copyright © 2011-2022 走看看