|
众所周知,Oracle的数据库、中间件都可以在网上自由下载,没有任何license注册码的限制。
现在,Oracle以85亿美元收购了BEA,带来的最直接的好处是,以前严格保密的License文件现在都可以直接下载了。请看下面页面:
http://commerce.bea.com/products/all_products.jsp#WL
WebLogic Family License Keys
http://download2.bea.com/pub/license/All%20Products/BEA_WebLogic.zip
AquaLogic Family License Keys
http://download2.bea.com/pub/license/All%20Products/BEA_AquaLogic.zip
摘录部分内容如下:
========================================
= Read Me -- BEA WebLogic License Keys =
========================================
Some BEA products require multiple license keys for full functionality, or use a license key which is not intuitively identified as being for that product.
Please refer to the legend below to determine which license keys are required for the BEA products you own.
BEA WebLogic Server Products (Product, Version, License ID/file)
================================================================
BEA WebLogic Server Advantage Edition 10.0 - 10.0mp1 LIC-WLSA10.txt
9.2 - 9.2mp3 LIC-WLSA92.txt
9.0 LIC-WLSA90.txt
BEA WebLogic Server Premium Edition 10.0 - 10.0mp1 LIC-WLSP10.txt
9.2 - 9.2mp3 LIC-WLSP92.txt
9.0 LIC-WLSP90.txt
BEA WebLogic Server SDK 10.x LIC-WLSP10-DEV
9.2 LIC-WLSP92-DEV
9.1 LIC-WLSP91-DEV
9.0 LIC-WLSP90-DEV
BEA WebLogic Server Premium for Linux s/390 and z/Series
7.0sp1 LIC-WLS70-CLS-56
BEA WebLogic Server Mid-Market Edition 10.0 - 10.0mp1 LIC-WLS10-MME.txt
9.2 - 9.2mp3 LIC-WLS92-MME.txt
BEA WebLogic Platform Products (Product, Version, License ID/file)
==================================================================
BEA WebLogic Platform 10.2 ISV LIC-PLAT102-ISVED
10.2 LIC-AUTONOMY
LIC-PORT102
LIC-WLI102
9.2mp3 ISV LIC-PLAT92-ISVED
9.2 - 9.2mp3 LIC-PFRM92.txt
8.1 - 8.1sp6 LIC-PFRM81-128.txt
7.0 - 7.0sp7 LIC-PFRM70-128.txt
<license
component="WebLogic"
cpus="unvalued"
expiration="never"
ip="any"
licensee="Customer"
serial="454493271161-2642447506228"
type="RTK"
units="unlimited"
signature="MCwCFHRYQyBkRqhyayiKQBDxfTq/bWfYAhQj+RMMeDMVxjiYhBaXuHobbHe/JA=="
/>
呵呵,都什么年代了,您还在Google、baidu中搜索“weblogic 破解”这样的关键字吗,用不着了。但是这并不意味着您可以免费使用这些产品,熟悉Oracle的人都知道,如果您想在企业级应用中部署这些产品,您还是得付money!
称为是最好的JAVA IDE开发平台!包括:J2EE支持、Ant、JUnit、集成CVS。包含一个智能编辑器,代码辅助和增强的自动代码工具。可提高JAVA开发人员的效率。
JetBrains已经发布了IntelliJ IDEA 7.0,IntelliJ IDEA 7里程碑1包括许多新的特性和提高,尤其是在对Java EE的支持上,包括Spring和Hibernate,代码分析,扩展版本控制支持,Rational ClearCase集成,增强了调试,代码查询,可用性和性能。
正使用IntelliJ IDEA 6.0的用户可以免费使用IntelliJ IDEA 7.0到2007年12月31号,评估用户可以从官方网站下载并有30天的免费试用期。
IntelliJ IDEA 7.0的新特性包括:
1.性能提高
IDE的启动速度得到改善
编辑JSP的速度加快
更快的XML的格式化
2.对Hibernate的支持
代码助手
3.对Spring的支持
代码助手
观察依赖的可视化图表
专门的文件设置编辑器
4.与Eclipse的协作能力
导入(从现有的Eclipse工程中创建IntelliJ IDEA .iml和.ipr文件 )
导出(从现有的IntelliJ IDEA .iml文件中创建Eclipse工程文件)
同步
5.版本控制
支持Rational ClearCase
6.JavaScript
支持JSON文件类型
JSDoc和DoJo样式类型注释提供了更准确的完成和参数类型信息
JSDoc和DoJo样式注释的丰富文档
JavaScript命名空间完成/验证
一份注册码如下,Enjoy!
=============================================================
user name:在路上...
License:12008-M3132-RY84C-0GSMK-V7TNK-33XV0
customer id:12008
product id:IDEA
license type:COMMERCIAL
major version:7
minor version:0
generationDate:Mon Oct 22 16:31:47 CST 2007
expirationDate:Sun Jan 20 16:31:47 CST 2008
一个典型应用中,使用delphi作为客户端,J2EE服务端,两者之间用XML作为数据交换,为了提高效率,对XML数据进行压缩,为此需要找到一种压缩/解压算法能够两个平台之间交互处理,使用ZLIB算法就是一个不错的解决方案。
1、JAVA实现
在JDK中,在java.util.zip包中已经内置了ZLIB的实现,示例代码如下:
1//解压
2 public String decompressData(String encdata) {
3 try {
4 ByteArrayOutputStream bos = new ByteArrayOutputStream();
5 InflaterOutputStream zos = new InflaterOutputStream(bos);
6 zos.write(convertFromBase64(encdata));
7 zos.close();
8 return new String(bos.toByteArray());
9 } catch (Exception ex) {
10 ex.printStackTrace();
11 return "UNZIP_ERR";
12 }
13 }
14
15 //压缩
16 public String compressData(String data) {
17 try {
18 ByteArrayOutputStream bos = new ByteArrayOutputStream();
19 DeflaterOutputStream zos = new DeflaterOutputStream(bos);
20 zos.write(data.getBytes());
21 zos.close();
22 return new String(convertToBase64(bos.toByteArray()));
23 } catch (Exception ex) {
24 ex.printStackTrace();
25 return "ZIP_ERR";
26 }
27 }
2、DELPHI中的实现
在DELPHI中,有第3方的控件可以利用来实现压缩/解压,这里我们选择VCLZIP V3.04,可以从这里下载http://www.vclzip.net
为了提高通用性,我们可以编写一个标准的DLL,就可以在Win32平台随意调用了,关键代码如下:
function Cmip_CompressStr(txt: PChar): pchar; stdcall;
var
zip: TVclZip;
compr: string;
data: PChar;
begin
zip := TVclZip.Create(nil);
compr := zip.ZLibCompressString(txt);
data := pchar(Base64EncodeStr(compr));
Result := StrNew(data);
zip.Free
end;
function Cmip_DeCompressStr(txt: PChar): pchar; stdcall;
var
zip: TVCLUnZip;
compr: string;
data: PChar;
begin
zip := TVCLUnZip.Create(nil);
compr := zip.ZLibDecompressString(Base64DecodeStr(txt));
data := StrNew(pchar(compr));
Result := data;
zip.Free
end;
在我们当前的项目中,采用的方案是Powerbuilder +DLL与J2EE平台进行xml数据交换的方式。
在这里可以下载Resin Plugin for IntelliJ IDEA ,但是对于3.1X好像还不支持。http://plugins.intellij.net/plugin/?id=215
作者更新太慢,不好意思自己动手反编译修改了几个地方,现在可以支持Resin Pro 3.1.2,如果需要地可以从这里
* 下载:Resin_2640_31.zip
* 安装:
修改文件名为Resin_2640_31.jar,复制到C:\Documents and Settings\[username]\.IntelliJIdea60\config\plugins下面
* 修改记录
1、将3.1.2的resin.conf文件命名为resin31.conf加到org\intellij\j2ee\web\resin\resin下面
2、将ResinVersion.java修改为如下方法判断是否3.1版本
public static final ResinVersion VERSION_3_X = new ResinVersion("Resin 3.x") {
public boolean isOfVersion(File file)
{
return (new File(new File(file, "lib"), "jsdk-15.jar")).exists();
}
public String getStartupClass()
{
return "com.caucho.server.resin.Resin";
}
}
3、修改Resin3XConfigurationStrategy.java文件中部分判断http port、host的代码
原来的XML节点为root->server->host->http->port and root->server->host->web-app
3.1下面的XML节点为root->cluster->server-default->http->port and root->cluster->host->web-app
改过的代码为
Element httpElement = document.getRootElement().getChild("cluster", ns).getChild("server-default", ns).getChild("http", ns);
Element host = getHost(document.getRootElement().getChild("cluster", ns), ns, webApp);
List hosts = document.getRootElement().getChild("cluster", ns).getChildren("host", ns);
public InputStream getDefaultResinConfContent()
{
return getClass().getResourceAsStream("/org/intellij/j2ee/web/resin/resin/resin31.conf");
}
原来的作者没有开源,所以不好做进一步的修改完善,对于3.0的版本应该就不支持了。
PowerBuilder在显示图片方面的确是一个弱项,以前一直没有找到好的方法,如果自己用delphi写个ActiveX控件,在关闭的时候总会出现错误,实在是很郁闷,后来发现Kodak Image Edit Control就没有这个问题,而且可以支持BMP,DCX,GIF,JPG-JFIF,PCX,TIFF,WIFF,XIF等常见的图片格式,该控件在win98,win2000等环境中都已经安装好了,对于XP环境也可以简单的从Win2000移植过来。 1、鼠标放大、缩小效果 在OLE控件的other事件中加入下面的代码
1Choose Case Message.Number 2 Case 522 3 if IntHigh(message.wordparm) = 120 then //鼠标滚轮向上 4 if int(ole_1.object.zoom)<=20 then return 5 ole_1.object.zoom= ole_1.object.zoom -10 6 else 7 ole_1.object.zoom= ole_1.object.zoom+10 8 end if 9 ole_1.object.display() 10End Choose
2、鼠标拖动效果 如果不想选择框老是出现的话,需要加入 ole_1.object.SelectionRectangle = False
1//1.定义Instance变量 2int mousex,mousey 3int moveon
以下代码属于OLE控件的事件
1//Event MouseDown事件 2moveon=1 3mousex=ocx_x 4mousey=ocx_y
1//MouseMove事件 2if moveon=0 then return 3ole_1.object.ScrollPositionX =ole_1.object.ScrollPositionX+(MouseX -ocx_x) 4ole_1.object.ScrollPositionY =ole_1.object.ScrollPositionY+(MouseY -ocx_y) 5ole_1.object.refresh() 6mousex=ocx_x 7mousey=ocx_y
1//mouseUp事件 2moveon=0
通常在weblogic的config.xml文件中,对于关键字符串、密码会自动加密,例如LDAP密码、数据库JDBC连接池连接密码等。通常加密之后前面会加上{3DES}的标识。 3DES就是DES算法的增强,相关资料如下: 1、DES(Data Encryption Standard)是一种经典的对称算法。其数据分组长度为64位,使用的密钥为64位,有效密钥长度为56位(有8位用于奇偶校验)。它由IBM公司在70年代开发,经过政府的加密标准筛选后,于1976年11月被美国政府采用,随后被美国国家标准局和美国国家标准协会(American National Standard Institute, ANSI) 承认。
该技术算法公开,在各行业有着广泛的应用。DES算法从公布到现在已有20多年的历史,由于计算机能力的飞速发展,DES的56位密钥长度显得有些太短了,已经有可能通过穷举的
方法来对其进行攻击。但是除此以外,直到现在还没有发现穷举以外的能有效破译DES的方法。 2、DES算法现在已经不能提供足够的安全性,因为其有效密钥只有56位。因此,后来又提出了三重DES(或称3DES),该方法的强度大约和112比特的密钥强度相当。 这种方法用两个密钥对明文进行三次运算。设两个密钥是K1和K2,其算法的步骤如图3所示: 1. 用密钥K1进行DES加密。 2. 用K2对步骤1的结果进行DES解密。 3. 用步骤2的结果使用密钥K1进行DES加密。
首先需要找到加密的密钥,根据BEA文档可以发现是文件SerializedSystemIni.dat,查找一下安装目录就可以找到整个问见,通常系统管理员应该将该文件设置为不能直接访问,以提高安全性。 加密、解密的大致演示算法代码如下,在WebLogic 9.2下面调试通过,运行编译前应该先运行setExamplesEnv.cmd(参考)的环境变量,以保证相关类库已经被引用了。对于低版本的WebLogic,例如WebLogic 7.0/8.1可能不能直接在命令行执行,因为SerializedSystemIni必须在控制台Console环境下面才能调用,有兴趣的朋友可以自行测试看看。
1import weblogic.security.internal.*; 2import weblogic.security.internal.encryption.EncryptionService; 3import weblogic.utils.encoders.BASE64Decoder; 4import weblogic.utils.encoders.BASE64Encoder; 5public class CrackData 6{ 7 public static void main(String[] args) 8 { 9 byte[] salt,keys; 10 salt=SerializedSystemIni.getSalt(); 11 keys=SerializedSystemIni.getEncryptedSecretKey(); 12 String data=""; 13 for(int i=0;i<salt.length;i++){ 14 data+=salt[i]+","; 15 } 16 System.out.println("salt:"+data); 17 data=""; 18 for(int i=0;i<keys.length;i++){ 19 data+=keys[i]+","; 20 } 21 System.out.println("Key:"+data); 22 //EncryptionService svr=SerializedSystemIni.getExistingEncryptionService(); 23 EncryptionService svr=SerializedSystemIni.getEncryptionService(); 24 System.out.println(svr); 25 System.out.println(svr.getAlgorithm()); 26 if(args.length>1){ 27 if(args[0].equals("encrypt")){ 28 byte[] edata=svr.encryptString(args[1]); 29 String s = (new BASE64Encoder()).encodeBuffer(edata); 30 System.out.println("Encode:"+s); 31 } 32 if(args[0].equals("decrypt")){ 33 try{ 34 byte[] edata = (new BASE64Decoder()).decodeBuffer(args[1]); 35 String txt=svr.decryptString(edata); 36 System.out.println("Decode:"+txt); 37 }catch(Exception ex){ 38 ex.printStackTrace(); 39 } 40 } 41 } 42 43 } 44} 45 测试运行结果如下:
root@srdsh # /rdsh/bea92/jdk150_04/bin/java CrackData decrypt nMttUc5jNe9RNJXslXjbJQ== -86,123,19,107, -42,-28,-75,-100,31,0,25,-93,75,115,40,-3,-15,42,-53,41,-25,-13,-6,8,36,85,-81,2 8,66,-110,31,38,-29,-79,-44,-48, weblogic.security.internal.encryption.JSafeEncryptionServiceImpl@199f91c 3DES Decode:weblogic root@srdsh # /rdsh/bea92/jdk150_04/bin/java CrackData decrypt erzD515N5z2zSnOk7uG1cYQthCbYA5OU6Bw+Zt5BsjPruTQaOZASh+ZZW4kuBGvfbZ2BXWSACbgOZ2MY4bHtpOPps/6WfZJg -86,123,19,107, -42,-28,-75,-100,31,0,25,-93,75,115,40,-3,-15,42,-53,41,-25,-13,-6,8,36,85,-81,2 8,66,-110,31,38,-29,-79,-44,-48, weblogic.security.internal.encryption.JSafeEncryptionServiceImpl@199f91c 3DES Decode:0xa778f572127d2282247ec653147c35d4e4040aca016c6d1e06ab325af5798fca root@srdsh #
在安装了Oracle 9i之后XDB的http默认占用了8080,ftp会占用2100端口,其实XDB就是XML Database提供的一种服务,在oracle中有一个package可以用来维护管理该服务的配置信息。这个包就是dbms_xdb. 解决方法有下面几种: 1、sqlplus "/ as sysdba"连入数据库 SQL> -- Change the HTTP/WEBDAV port from 8080 to 8081 SQL> call dbms_xdb.cfg_update(updateXML( 2 dbms_xdb.cfg_get() 3 , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()' 4 , 8081)) 5 /
Call completed.
SQL> -- Change the FTP port from 2100 to 2111 SQL> call dbms_xdb.cfg_update(updateXML( 2 dbms_xdb.cfg_get() 3 , '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()' 4 , 2111)) 5 /
Call completed.
SQL> COMMIT;
Commit complete.
SQL> EXEC dbms_xdb.cfg_refresh;
PL/SQL procedure successfully completed.
SQL> -- Verify the change SQL> set long 100000 SQL> set pagesize 9000 SQL> SELECT dbms_xdb.cfg_get FROM dual; 2、移除XDB服务,将实例信息去掉 dispatchers='(PROTOCOL=TCP) (SERVICE=<ORACLE_SID>XDB)'
3、使用Oracle Enterprise Manager 中的的XML Database 配置信息中修改掉端口就可以了
|