高老莊

          八戒的夢(mèng)想:農(nóng)婦,山泉,有點(diǎn)田
          posts - 4, comments - 14, trackbacks - 0, articles - 3
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Architexa的暴力破解

          Posted on 2010-06-15 17:34 高老莊 閱讀(3413) 評(píng)論(14)  編輯  收藏 所屬分類(lèi): 架構(gòu)與模式
           Architexa的前身是relo,這個(gè)工具在分析開(kāi)源項(xiàng)目的源碼時(shí)很好用,relo已經(jīng)不再維護(hù),變成了新的插件Architexa,其網(wǎng)址是http://www.architexa.com/,雖然說(shuō)architexa東西不錯(cuò),可惜需要付費(fèi).另外他的注冊(cè)網(wǎng)站好像有問(wèn)題,因此連評(píng)估也做不了,無(wú)奈之下,動(dòng)了暴力破解的念頭.下面即是暴力破解的過(guò)程,需要的人可以參考下.
          1.architexa 通過(guò)eclipse的update manager 下載后,在eclipse_HOME/plugins會(huì)存在幾個(gè)jar和目錄,如下:


          1.architexa 沒(méi)有對(duì)編譯后的代碼混淆,先用java decompiler 反編譯出如下的類(lèi):
          • com.architexa.diagrams.RSECore 位于com.architexa.diagrams_1.2.2.201006051418.jar中.
          • com.architexa.rse.ConnectAccountDialog 位于com.architexa.intro_1.2.2.201006051418/ReloIntro.jar中
          2.修改RSECore類(lèi)的方法:
           1 public static boolean validInstall()
           2 {
           3     if (!AccountStatusUtils.testAccountValid()) {
           4       String email = AccountSettings.getStoredAccountEmail();
           5       AccountSettings.getStoredAccountPassword();
           6       if ((email != null&& (email.length() > 0))
           7         AccountErrorMsgs.displayErr("Account Has Expired ");
           8       return false;
           9     }
          10     return true;
          11 }
          12
          中間的判斷可以完全拿掉,修改為如下即可:
          1 public static boolean validInstall()
          2 {
          3     return true;
          4 }

          3.修改ConnectAccountDialog類(lèi)的代碼(反編譯后的代碼有點(diǎn)長(zhǎng),這里不列出了),最終改成如下即可:
          1 protected void okPressed_Internal() {
          2     this.emailEntered = this.emailField.getText();
          3     this.passwordEntered = this.passwordField.getText();
          4 
          5     AccountConnection ac = new AccountConnection();
          6     if (this.enableOnOK) ac.setMenuToDisable(!this.disableOnCancel);
          7     super.okPressed();
          8 }

          編譯后將上述兩個(gè)類(lèi)放到對(duì)應(yīng)的jar中,重啟eclipse.

          4.在architexa的認(rèn)證對(duì)話框,輸入任意email和password,architexa 將重建索引.
          5.在某個(gè)java類(lèi)的上下文菜單中,可以看到Open in Diagram 就可以生成類(lèi)的布局圖,類(lèi)圖和序列圖了.可以通過(guò)工具欄上的button來(lái)輸出圖形.

          下面貼幾個(gè)通過(guò)這個(gè)插件構(gòu)成的圖,欣賞下






          評(píng)論

          # re: Architexa的暴力破解  回復(fù)  更多評(píng)論   

          2010-07-15 16:23 by lurga
          請(qǐng)教下如何編譯?另外內(nèi)嵌類(lèi)怎么處理?

          # re: Architexa的暴力破解  回復(fù)  更多評(píng)論   

          2010-07-16 13:19 by 高老莊
          @lurga
          1.新建一個(gè)插件工程,在require plug-ins 中add 相應(yīng)的插件.
          2.另外需要下載json ,commons-codec(這個(gè)plugins\com.architexa.intro_xxx\lib中有),common-lang 的三個(gè)釋放包,注意commons-codec的build path order ,保證其最優(yōu)先.
          3.反編譯的兩個(gè)java文件重新編譯后,會(huì)產(chǎn)生4個(gè)class,放到eclipse 的plug-ins的對(duì)應(yīng)jar中即可.

          # re: Architexa的暴力破解  回復(fù)  更多評(píng)論   

          2010-07-18 10:07 by lurga
          非常感謝,我用了個(gè)蠢辦法,把plugin下的所有jar包都作為依賴(lài)包放進(jìn)去了,好像內(nèi)嵌類(lèi)是反編譯$1 $2的那兩個(gè)class得來(lái)的。我蠻喜歡用relo,現(xiàn)在有了這個(gè)工具,更好用了

          # re: Architexa的暴力破解  回復(fù)  更多評(píng)論   

          2010-07-21 14:22 by annping
          你好,看了你的介紹,覺(jué)得很好,可惜小弟還是沒(méi)有編譯成功,不知能否將這兩個(gè)編譯好的jar發(fā)給小弟?不勝感激!
          郵箱:wyh.personal@gmail.com

          # re: Architexa的暴力破解[未登錄](méi)  回復(fù)  更多評(píng)論   

          2010-07-22 10:53 by xxx
          @annping
          已經(jīng)發(fā)你了,注意下你的版本是否能對(duì)的上
          建議你還是好好研究下如何編譯,這個(gè)軟件,更新比較頻繁,這次發(fā)的jar在下一個(gè)版本中不一定能用上.

          # re: Architexa的暴力破解  回復(fù)  更多評(píng)論   

          2010-07-23 14:51 by annping
          多謝大哥,果然如你所說(shuō),版本不對(duì),覆蓋后部分功能不能用,看來(lái)我還是要聽(tīng)你一言,好好地研究下如何編譯,還請(qǐng)大哥多多指教。。。呵呵~~

          # re: Architexa的暴力破解  回復(fù)  更多評(píng)論   

          2010-08-09 23:58 by ltos
          麻煩把工程共享一下啊

          # re: Architexa的暴力破解[未登錄](méi)  回復(fù)  更多評(píng)論   

          2010-08-18 22:30 by Vince
          @高老莊
          在decomplier里是不沒(méi)法改代碼,怎么辦?

          # re: Architexa的暴力破解[未登錄](méi)  回復(fù)  更多評(píng)論   

          2010-08-19 09:27 by xxx
          @Vince
          貼到eclipse里 編譯后放到原始jar中

          # re: Architexa的暴力破解[未登錄](méi)  回復(fù)  更多評(píng)論   

          2010-08-20 21:46 by Vince
          @xxx
          貼到eclipse里 編譯后放到原始jar中
          還是沒(méi)明白,貼到eclipse里的哪個(gè)位子?新建一個(gè)類(lèi)嗎?這樣編譯不了,而且怎么才能把他放到原來(lái)的jar里去呢?我在建完的插件工程里也沒(méi)發(fā)現(xiàn)有require plug-ins

          # re: Architexa的暴力破解[未登錄](méi)  回復(fù)  更多評(píng)論   

          2010-11-05 18:57 by leon
          是不是現(xiàn)在用這種方法 不行了? 我按大牛這樣做了之后發(fā)現(xiàn)寫(xiě)個(gè)郵箱登錄沒(méi)問(wèn)題 但是用的時(shí)候報(bào)錯(cuò):your account is expired
          請(qǐng)教怎么解決?

          # re: Architexa的暴力破解  回復(fù)  更多評(píng)論   

          2010-11-06 09:24 by songhc
          哥們,我還沒(méi)有破解成功,能否給咱發(fā)一個(gè)破解版呀 ,多謝了。

          # re: Architexa的暴力破解[未登錄](méi)  回復(fù)  更多評(píng)論   

          2010-11-06 19:13 by xxx
          不是我不給,
          1.這個(gè)東東沒(méi)有提供一個(gè)下載包,都是在線更新的,因此 你們下載的應(yīng)該都是它的最新構(gòu)建版本
          2.由于版本不同,我即便給你某個(gè)版本的破解文件,放到不同的版本中不一定用的了
          3.如果我給你們一個(gè)完整版本的插件,又未免太大了,不大方便

          所以,你們還是自己好好研究下,畢竟,授人于魚(yú),不如授人于漁.
          PS:其實(shí)我寫(xiě)這個(gè)文章的目的,是讓大家了解付費(fèi)插件的一般破解思路,不是想著讓大家去破解它,這個(gè)東東其實(shí)沒(méi)有想的那么好用.

          # re: Architexa的暴力破解[未登錄](méi)  回復(fù)  更多評(píng)論   

          2011-01-15 17:20 by Terry
          我破解后沒(méi)過(guò)一會(huì)就提示過(guò)期。然后eclipse用起來(lái)還特別卡

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。

          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 泰来县| 定襄县| 隆安县| 桂阳县| 庆安县| 酉阳| 象山县| 平邑县| 饶平县| 武穴市| 虎林市| 辛集市| 荔浦县| 砀山县| 剑川县| 沐川县| 抚顺市| 宜州市| 廊坊市| 漯河市| 阆中市| 龙江县| 临武县| 佛坪县| 灵寿县| 柳林县| 黄浦区| 丹棱县| 龙里县| 眉山市| 德钦县| 和田县| 广河县| 英超| 读书| 岳普湖县| 博客| 凤庆县| 石首市| 霞浦县| 察雅县|