jeffy

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            70 Posts :: 1 Stories :: 14 Comments :: 0 Trackbacks

          jive database : http://www.jivesoftware.com/builds/docs/forums/5.0.5/documentation/database-guide.html#jiveSearch


          http://www.chinaitpower.com/subject/30.asp

          手把手教你如何破解Jive的 License
          2.1 分析
          jive.license文件的內容是經過了base64編碼的。
          把它反編過來內容如下:
          <license>
          <licenseID>3</licenseID>
          <product>Jive Forums Professional</product>
          <licenseType>Evaluation</licenseType>
          <name />
          <company />
          <version>2.5</version>
          <numCopies>1</numCopies>
          <url />
          <expiresDate>2002/06/26</expiresDate>
          <creationDate>2002/05/26</creationDate>
          <signature>302c02144645c9e37dc97f7baa3d3049ba783ce79b58b3780214167f1c81ea83beacd56c63d15b1c708b47d79487</signature>
          </license>

          其中各元素含義如下:
          licenseID:1-->Basic, 2-->Professional, 3-->Enterprise
          product:Jive Forums Basic, Jive Forums Professional, Jive Forums Enterprise
          licenseType: Non-Commercial, Commercial, Evaluation

          其中expiresDate和creationDate元素限定了使用期限。
          修改expiresDate可以延長時間...... , 去掉該兩項,則expiresDate為無限期,creationDate為系統時間

          但大家要注意的是后面有一個signature元素是簽名信息。如果你修改了上面那些內容,在jive中會無法通過驗證。
          弄不到他的私鑰,無法偽造簽名。 所以你的破解可以有兩種方式,一種是在程序里crack license validate, 另一種是自己生成一對加密匙,用生成的私匙簽名替代掉加密程序中的簽名,這樣你就可以變一個Keygen小程序,生成任意的滿足你需求的License,很酷吧,象網上發布的Weblogic的破解便是采用了這種方法,具體操作就留給大家自己練習吧,在此只介紹第一種方法。

          2.2 破解 使用jad反編譯,修改相應的文件
          -------------------------------------------------------------------------
          2.2.1 破解簽名 解開jive.jar文件,找到com.jivesoftware.forum.LicenseManager類。
          -------------------------------------------------------------------------
          static boolean validate(License license)
          throws Exception
          {
          String publicKey = "308201b73082012c06072a8648ce3804013082011f02818100fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669455d402251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b76b9950a5a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb83f6d3c51ec3023554135a169132f675f3ae2b61d72aeff22203199dd14801c70215009760508f15230bccb292b982a2eb840bf0581cf502818100f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d0782675159578ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e13c167a8b547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243bcca4f1bea8519089a883dfe15ae59f06928b665e807b552564014c3bfecf492a038184000281800e12e8c79cffbadb747fa05f83e8ad7ce339c670c2b672e80a1f4dab0b0ea2696856212367d0371a8f56c6262ef0e54c8b954ab207e6bfb98cf0faa43a3b73c2a7ddd36c6b45a9fdbf2346124700a9bcb1b65b16a381e5f72368162e2861e2722c1682157055050b1582b8c9a338e44f4296cd225ee267a1bc2faaf71713e176";
          byte pub[] = StringUtils.decodeHex(publicKey);
          X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(pub);
          KeyFactory keyFactory = KeyFactory.getInstance("DSA");
          java.security.PublicKey pubKey = keyFactory.generatePublic(pubKeySpec);
          Signature sig = Signature.getInstance("DSA");
          sig.initVerify(pubKey);
          sig.update(license.getFingerprint());
          return sig.verify(StringUtils.decodeHex(license.getSignature())); // here
          ---------------〉 return true;
          }

          -------------------------------------------------------------------------
          2.2.2 生成自己的License 解開jive.jar文件,找到com.jivesoftware.forum.License類。
          -------------------------------------------------------------------------
          將main改為:
          public static void main(String args[])
          throws Exception
          {
          License license = new License(3L, "Jive Forums Enterprise", "2.5", LicenseType.COMMERCIAL);
          license.setName("Warezman"); //anyname maybe yours
          license.setNumCopies(999); //any you want
          license.setNumClusterMembers(999); //any you want
          license.setCompany("warezman"); //any you want
          LicenseFactory.sign(license);
          System.out.println("Validating...");
          System.out.println(LicenseManager.validate(license));
          System.out.println(license.getExpiresDate());
          String xml = toXML(license);
          String x = StringUtils.encodeBase64(xml);
          for(int i = 0; i < x.length(); i += 80)
          System.out.println(x.substring(i, x.length() - i <= 80 ? i + (x.length() - i) : i + 80));
          }

          執行以下命令即可獲得Commerce/Enterprise/...無限期的License
          *** 為了生成license,必須將privkey文件放在d:\下
          set JAVA_HOME=d:\bea\jdk131
          :setEnv
          set CLASSPATH=%JAVA_HOME%\lib\tools.jar; jive_jar_dir\jive.jar; %CLASSPATH%

          java -classpath %CLASSPATH% com.jivesoftware.forum.License

          -----Result like-----> PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWNlbnNlPjxsaWNlbnNlSUQ+MzwvbGljZW5zZUlEPjxwcm9kdWN0PkppdmUgRm9ydW1zIEVudGVycHJpc2U8L3Byb2R1Y3Q+PGxpY2Vuc2VUeXBlPkNvbW1lcmNpYWw8L2xpY2Vuc2VUeXBlPjxuYW1lPkZpUkVTVGFSPC9uYW1lPjxjb21wYW55Pjg4NDhDbHViPC9jb21wYW55Pjx2ZXJzaW9uPjIuNTwvdmVyc2lvbj48bnVtQ29waWVzPjk5OTwvbnVtQ29waWVzPjxudW1DbHVzdGVyTWVtYmVycz45OTk8L251bUNsdXN0ZXJNZW1iZXJzPjx1cmwgLz48ZXhwaXJlc0RhdGUgLz48Y3JlYXRpb25EYXRlPjIwMDIvMDcvMTg8L2NyZWF0aW9uRGF0ZT48c2lnbmF0dXJlPjMwMmMwMjE0M2NkNGRlOTZkNTY2ZGJlOWYwODM2ZjcwN2M4MDgwNTJjZDhhMmU3YTAyMTQ3ODdjNWI4YzFiYTJhZWZhM2U4NGQ4YzZlYmNlOTYzMDY4ODYxMGRlPC9zaWduYXR1cmU+PC9saWNlbnNlPg0K

          This is what you need.

          -------------------------------------------------------------------------
          2.2.3 修改版本由Professional-->Enterprise為 解開jive.jar文件,找到com.jivesoftware.forum.JiveGlobals類。
          -------------------------------------------------------------------------
          public static int getJiveEdition()
          {
          //by FiRESTaR Convert to Enterprise Edition
          //return 101;
          return 102;
          }

          2.3 重新打包
          2.3.1. Now compile source files and then make new jive.jar
          set CLASSPATH=%JAVA_HOME%\lib\tools.jar; jive_jar_dir\jive.jar; %CLASSPATH%
          javac -classpath %CLASSPATH% *.java

          2.3.2 將新的 Licnese.class, LicenseManager, JiveGlobals.class等替換掉jive.jar中的相應文件

          That's all.

          posted on 2006-10-09 21:53 Live-in Java 閱讀(1170) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 崇左市| 灯塔市| 北川| 肥东县| 来安县| 高阳县| 沙坪坝区| 正镶白旗| 石台县| 兰西县| 隆昌县| 大关县| 彰化县| 临桂县| 吴忠市| 鄂托克前旗| 彭阳县| 江口县| 赤水市| 朝阳市| 合水县| 阿瓦提县| 曲松县| 敖汉旗| 东港市| 耿马| 武冈市| 西林县| 灵寿县| 韩城市| 如东县| 彭州市| 读书| 湖南省| 寻乌县| 道孚县| 阿勒泰市| 柳河县| 永嘉县| 庐江县| 岳西县|