2019-04-09-泛微云桥e-Bridge 授权破解方法

java

Posted by BY on April 9, 2019
  • 泛微云桥e-Bridge 授权破解方法,无需更改原有程序,本方法是生成授权文件方式。

  • 已放出授权文件生成源码,破解方法自行看源码理解,再次提示此方法仅用来测试系统使用,如需正式使用请购买正版授权。

  • 其中使用的加密有:MD5,RSA,DES,BASE64。

 1 package com.exec;
 2 
 3 import java.io.FileOutputStream;
 4 import java.text.ParseException;
 5 import java.text.SimpleDateFormat;
 6 import javax.swing.JOptionPane;
 7 import java.util.Scanner;
 8 import ln.LN;
 9 import weaver.weixin.license.KeyGenerater;
10 import weaver.weixin.license.PBECipher;
11 import weaver.weixin.license.Signaturer;
12 
13 
14 public class EBRIDGE
15 {
16 
17   private static String companyName="landv测试";
18   private static String userCount="1000";
19   private static String expDate="2019-08-08";
20   private static String macAddr;
21   private static String cpCount="100";
22   private static String mpCount="100";
23   private static String ddCount="100";
24   private static String customid="159357";
25   private static String modulenamelist="微信工资单,微调研,微投票,悬赏招聘,微考勤,微名片,外出考勤";
26   private static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
27   
28 /*
29   private static String jlCount = "1";
30   private static String lanxinCount = "1";
31   private static String gzbCount = "1";
32   private static String jdyzjCount = "1";
33   private static String weworkCount = "1";
34   private static String fxxkCount = "1";
35   private static String emCount = "1";
36 */
37   
38   
39    public static void main(String[] args)
40   {
41         
42     
43     Scanner input=new Scanner(System.in);
44     System.out.print("请您输入识别码:");
45     EBRIDGE.macAddr=input.next();
46      System.out.println(macAddr);
47         try
48         {
49           EBRIDGE.createfile();
50         }
51         catch (Exception e1)
52         {
53           e1.printStackTrace();
54         }
55   }
56   public static void createfile()
57     throws Exception
58   {
59     String params = "companyName=" + companyName + ",userCount=" + userCount + ",expDate=" + expDate + ",macAddr=" + macAddr + 
60       ",cpCount=" + cpCount + ",mpCount=" + mpCount + ",ddCount=" + ddCount + ",jlCount=" + ddCount +",lanxinCount=" + ddCount +",gzbCount=" + ddCount +",jdyzjCount=" + ddCount +",weworkCount=" + ddCount +",fxxkCount=" + ddCount +",emCount=" + ddCount +",customid=" + customid;
61     KeyGenerater keys = new KeyGenerater();
62     keys.generater(customid);
63     byte[] pubkey = keys.getPubKey();
64     byte[] prikey = keys.getPriKey();
65     byte[] key = Signaturer.sign(prikey, params);
66     String license = new String(pubkey) + "|" + params + "|" + new String(key);
67     String licensefile = PBECipher.PBEEncrypt(license);
68     byte[] buff = new byte[0];
69     buff = licensefile.getBytes();
70     FileOutputStream licensefileout = new FileOutputStream( "C:\\Users\\landv\\Desktop\\landv"+"\\" + macAddr + "_EBRIDGE.license");
71     licensefileout.write(buff, 0, buff.length);
72     licensefileout.close();
73     
74     String[] moduleName = modulenamelist.split("\\,");
75     for (int i = 0; i < moduleName.length; i++)
76     {
77       String n = String.valueOf(i + 1);
78       String moudleparams = "{\"id\":\"1\",\"systemid\":\"\",\"ifTrue\":\"true\",\"createTime\":\"null\",\"moduleName\":\"" + moduleName[i] + "\",\"customid\":\"" + customid + "\",\"comFrom\":\"\",\"moduleid\":\"" + n + "\",\"expDate\":\"" + expDate + "\",\"license\":\"" + licensefile + "\"}";
79       byte[] moudlekey = Signaturer.sign(prikey, moudleparams);
80       String moudlelicense = new String(pubkey) + "|" + moudleparams + "|" + new String(moudlekey);
81       String moudlelicensefile = PBECipher.PBEEncrypt(moudlelicense);
82       byte[] out_buff = new byte[0];
83       out_buff = moudlelicensefile.getBytes();
84       FileOutputStream out_licensefileout = new FileOutputStream("C:\\Users\\landv\\Desktop\\landv"+"\\" + macAddr + "_" + moduleName[i] + ".license");
85       out_licensefileout.write(out_buff, 0, out_buff.length);
86       out_licensefileout.close();
87     }
88     
89   }  
90   
91 }

avatar