zoukankan      html  css  js  c++  java
  • 混淆器:java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器

    java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器

    下载地址:http://yunpan.cn/QXhEcGNYLgwTD  

    运行方式:java -jar Encrypt.jar

    运行效果:


     

    代码混淆后的效果:

    package o0OOo00.o0Oo0O0;

    import java.awt.Component;

    import java.io.File;

    import java.io.PrintStream;

    import javax.swing.JFileChooser;

    import javax.swing.JFrame;

    import javax.swing.filechooser.FileFilter;

     

    public class o00OoOOooo

    {

     public static final int OoO0o = 0;

     public static final int Oo0oo = 1;

     

     public static String oOoOOOo0OOO0(Component O00ooOoOo, String oOOOoo00, int O0OoOoO, String[] o00ooo00o, String[] OOo00o00o0Oooo)

     {

       JFileChooser OO0o0OO0o0 = new JFileChooser();

       OO0o0OO0o0.setDialogType(O0OoOoO);

       OO0o0OO0o0.setDialogTitle(oOOOoo00);

       String OOO0oo = "";

       String oo0oooo = "";

       int o00OO0 = Math.min(o00ooo00o.length, OOo00o00o0Oooo.length);

       oOo0oo000ooOo00o0O0 OooOOooooo0O = null;

       for (int o00O = 0; o00O < o00OO0; o00O++)

       {

         if ((o00ooo00o[o00O] == null) || (o00ooo00o[o00O].length() <= 0) || (OOo00o00o0Oooo[o00O] == null) || (OOo00o00o0Oooo[o00O].length() <= 0)) {

           continue;

         }

         if (o00O == 0)

         {

           OooOOooooo0O = new oOo0oo000ooOo00o0O0(o00ooo00o[o00O], OOo00o00o0Oooo[o00O]);

           OO0o0OO0o0.addChoosableFileFilter(OooOOooooo0O);

         }

         else

         {

           OO0o0OO0o0.addChoosableFileFilter(new oOo0oo000ooOo00o0O0(o00ooo00o[o00O], OOo00o00o0Oooo[o00O]));

         }

       }

     

       if (OooOOooooo0O != null)

       {

         OO0o0OO0o0.setFileFilter(OooOOooooo0O);

       }

       int OoO0ooOo = OO0o0OO0o0.showDialog(O00ooOoOo, null);

       File o00Ooo0 = OO0o0OO0o0.getSelectedFile();

       String O0OOOooo00O = null;

       if ((o00Ooo0 != null) && (OoO0ooOo == 0))

       {

         O0OOOooo00O = o00Ooo0.getPath();

         if (O0OoOoO == 1)

         {

           FileFilter O0O0O0o0OoO00 = OO0o0OO0o0.getFileFilter();

           if ((O0O0O0o0OoO00 instanceof oOo0oo000ooOo00o0O0))

           {

             String ooO00o0 = ((oOo0oo000ooOo00o0O0)O0O0O0o0OoO00).oo0O00O;

             if (O0OOOooo00O.indexOf(".") < 0)

             {

               O0OOOooo00O = O0OOOooo00O + "." + ooO00o0;

             }

           }

         }

       }

       return O0OOOooo00O;

     }

     

     public static String O000o0OO0Oo0(Component oo00o0)

     {

       String[] OOO0oo = { "enc" };

     

       String[] oo0oooo = { "ENC文件 (*.enc)" };

     

       String OO0O = oOoOOOo0OOO0(oo00o0, "打开", 0, OOO0oo, oo0oooo);

       return OO0O;

     }

     

     public static String oOooO0000oOo(Component oo00o0)

     {

       String[] OOO0oo = { "enc" };

     

       String[] oo0oooo = { "ENC文件 (*.enc)" };

     

       String OO0O = oOoOOOo0OOO0(oo00o0, "保存", 1, OOO0oo, oo0oooo);

       return OO0O;

     }

     

     public static String oO00oo00oOoO0OO00(Component oo00o0)

     {

       String[] OOO0oo = { "jpg", "png", "bmp", "tiff" };

     

       String[] oo0oooo = { "JPEG文件交换格式 (*.jpg)", "PNG可移植式网络图像格式 (*.png)", "与装置无关的位图格式 (*.bmp)", "TIFF格式 (*.tiff)" };

     

       String OO0O = oOoOOOo0OOO0(oo00o0, "保存为图片", 1, OOO0oo, oo0oooo);

       return OO0O;

     }

     

     public static void main(String[] ooO0) {

       JFrame O0oo = new JFrame();

       String OO0O = oO00oo00oOoO0OO00(O0oo);

       System.out.println("s=" + OO0O);

     }

     

     public static class oOo0oo000ooOo00o0O0 extends FileFilter

     {

       private String oo0O00O;

       private String oO00o;

     

       public oOo0oo000ooOo00o0O0(String oo0O00O, String oo0oooo)

       {

         this.oo0O00O = oo0O00O;

         this.oO00o = oo0oooo;

       }

     

       public String oOOooo0o0(File O0oo) {

         String OO0O = O0oo.getPath(); String tempSuffix = null;

         int o00O = OO0O.lastIndexOf('.');

     

         if ((o00O > 0) && (o00O < OO0O.length() - 1)) {

           tempSuffix = OO0O.substring(o00O + 1).toLowerCase();

         }

         return tempSuffix;

       }

     

       public boolean accept(File O0oo) {

         boolean o000OO0oo = O0oo.isDirectory();

         if (!o000OO0oo)

         {

           String o0OoOOoOOOo0O = oOOooo0o0(O0oo);

           if (o0OoOOoOOOo0O != null)

           {

             o000OO0oo = o0OoOOoOOOo0O.equals(this.oo0O00O);

           }

         }

         return o000OO0oo;

       }

     

       public String getDescription() {

         return this.oO00o;

       }

     }

    }

     

    使用说明如下:


  • 相关阅读:
    clickhouse集群部署
    zookeeper集群部署
    linux下安装多路径multipath
    采用xtrabackup部署主从同步(生产)
    部署dg备库同步ogg
    goldengate同步(主库rac从库单节点)
    python3发送邮件
    python2发送邮件
    pip版本过高导致报错
    ERROR 1558 (HY000): Column count of mysql.user is wrong
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3304060.html
Copyright © 2011-2022 走看看