高老庄

八戒的梦想:农妇,山泉,有点田
posts - 4, comments - 14, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2010年6月15日

 Architexa的前身是relo,这个工具在分析开源项目的源码时很好用,relo已经不再维护,变成了新的插件Architexa,其网址是http://www.architexa.com/,虽然说architexa东西不错,可惜需要付费.另外他的注册网站好像有问题,因此连评估也做不了,无奈之下,动了暴力破解的念头.下面即是暴力破解的过程,需要的人可以参考下.
1.architexa 通过eclipse的update manager 下载后,在eclipse_HOME/plugins会存在几个jar和目录,如下:


1.architexa 没有对编译后的代码混淆,先用java decompiler 反编译出如下的类:
  • 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类的方法:
 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类的代码(反编译后的代码有点长,这里不列出了),最终改成如下即可:
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 }

编译后将上述两个类放到对应的jar中,重启eclipse.

4.在architexa的认证对话框,输入任意email和password,architexa 将重建索引.
5.在某个java类的上下文菜单中,可以看到Open in Diagram 就可以生成类的布局图,类图和序列图了.可以通过工具栏上的button来输出图形.

下面贴几个通过这个插件构成的图,欣赏下





posted @ 2010-06-15 17:34 高老庄 阅读(3396) | 评论 (14)编辑 收藏