高老庄

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

Architexa的暴力破解

Posted on 2010-06-15 17:34 高老庄 阅读(3387) 评论(14)  编辑  收藏 所属分类: 架构与模式
 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来输出图形.

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






评论

# re: Architexa的暴力破解  回复  更多评论   

2010-07-15 16:23 by lurga
请教下如何编译?另外内嵌类怎么处理?

# re: Architexa的暴力破解  回复  更多评论   

2010-07-16 13:19 by 高老庄
@lurga
1.新建一个插件工程,在require plug-ins 中add 相应的插件.
2.另外需要下载json ,commons-codec(这个plugins\com.architexa.intro_xxx\lib中有),common-lang 的三个释放包,注意commons-codec的build path order ,保证其最优先.
3.反编译的两个java文件重新编译后,会产生4个class,放到eclipse 的plug-ins的对应jar中即可.

# re: Architexa的暴力破解  回复  更多评论   

2010-07-18 10:07 by lurga
非常感谢,我用了个蠢办法,把plugin下的所有jar包都作为依赖包放进去了,好像内嵌类是反编译$1 $2的那两个class得来的。我蛮喜欢用relo,现在有了这个工具,更好用了

# re: Architexa的暴力破解  回复  更多评论   

2010-07-21 14:22 by annping
你好,看了你的介绍,觉得很好,可惜小弟还是没有编译成功,不知能否将这两个编译好的jar发给小弟?不胜感激!
邮箱:wyh.personal@gmail.com

# re: Architexa的暴力破解[未登录]  回复  更多评论   

2010-07-22 10:53 by xxx
@annping
已经发你了,注意下你的版本是否能对的上
建议你还是好好研究下如何编译,这个软件,更新比较频繁,这次发的jar在下一个版本中不一定能用上.

# re: Architexa的暴力破解  回复  更多评论   

2010-07-23 14:51 by annping
多谢大哥,果然如你所说,版本不对,覆盖后部分功能不能用,看来我还是要听你一言,好好地研究下如何编译,还请大哥多多指教。。。呵呵~~

# re: Architexa的暴力破解  回复  更多评论   

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

# re: Architexa的暴力破解[未登录]  回复  更多评论   

2010-08-18 22:30 by Vince
@高老庄
在decomplier里是不没法改代码,怎么办?

# re: Architexa的暴力破解[未登录]  回复  更多评论   

2010-08-19 09:27 by xxx
@Vince
贴到eclipse里 编译后放到原始jar中

# re: Architexa的暴力破解[未登录]  回复  更多评论   

2010-08-20 21:46 by Vince
@xxx
贴到eclipse里 编译后放到原始jar中
还是没明白,贴到eclipse里的哪个位子?新建一个类吗?这样编译不了,而且怎么才能把他放到原来的jar里去呢?我在建完的插件工程里也没发现有require plug-ins

# re: Architexa的暴力破解[未登录]  回复  更多评论   

2010-11-05 18:57 by leon
是不是现在用这种方法 不行了? 我按大牛这样做了之后发现写个邮箱登录没问题 但是用的时候报错:your account is expired
请教怎么解决?

# re: Architexa的暴力破解  回复  更多评论   

2010-11-06 09:24 by songhc
哥们,我还没有破解成功,能否给咱发一个破解版呀 ,多谢了。

# re: Architexa的暴力破解[未登录]  回复  更多评论   

2010-11-06 19:13 by xxx
不是我不给,
1.这个东东没有提供一个下载包,都是在线更新的,因此 你们下载的应该都是它的最新构建版本
2.由于版本不同,我即便给你某个版本的破解文件,放到不同的版本中不一定用的了
3.如果我给你们一个完整版本的插件,又未免太大了,不大方便

所以,你们还是自己好好研究下,毕竟,授人于鱼,不如授人于渔.
PS:其实我写这个文章的目的,是让大家了解付费插件的一般破解思路,不是想着让大家去破解它,这个东东其实没有想的那么好用.

# re: Architexa的暴力破解[未登录]  回复  更多评论   

2011-01-15 17:20 by Terry
我破解后没过一会就提示过期。然后eclipse用起来还特别卡

只有注册用户登录后才能发表评论。

网站导航: