本文旨在于学习目的,如果工作中需要使用Parasoft Jtest,建议购买正版,不要只考虑保护自己的版权问题。
目前官方已不提供版本下载,需要可在搜索引擎中输入完整名称,如jtest_win32_enterprise_plugin_8.1.47.exe检索下载,建议找信得过的网站,否则会有很多陷阱还不能下到正确的文件。
8.1
\Parasoft\JtestExtension8.1\eclipse\plugins\com.parasoft.xtest.libs_2.1.28\Parasoft\lic_client.jar
8.4
\Parasoft\JtestExtension8.4\eclipse\plugins\com.parasoft.xtest.libs_3.4.0\Parasoft\lic_client.jar
8.0 与8.1、8.4类似
在该包中,com.parasoft.xtest.lic.client.validator.LocalLicenseValidator是负责License检查校验的,所以破坏它也就可以了,
但建议还是下载一下合法的License文件,以防止在解析文件过程中就已经出了异常。
JDK1.5 编译Class文件:
下载地址:/uploadfiles/file/2011/5/2011526-215619709.zip
改后代码示例:
package com.parasoft.xtest.lic.client.validator;
import com.parasoft.xtest.lic.client.LicenseStatus;
import java.io.*;
public class LocalLicenseValidator {
private TokenManager _tokenManager;
static final long PR_MULT = 0x41c64e6dL;
static final long PR_ADD = 12345L;
static final long PR_TWOTO31 = 0x80000000L;
static final int PR_MASK = 0x7fffffff;
public LocalLicenseValidator() {
_tokenManager = null;
}
public LocalLicenseValidator(File file) {
_tokenManager = null;
_tokenManager = new TokenManager(file);
}
public LicenseStatus getLocalLicense(String s, int i, int j, String s1) {
return LicenseStatus.OK;
}
public boolean releaseToken(String s, int i, int j, String s1) {
Feature feature;
ToolKey toolkey;
if (_tokenManager == null) {
Logger.getLogger()
.warn("Cannot release token: token file not set.");
return false;
}
feature = ParaSoftFeatures.getFeature(s, i, j);
if (feature == null) {
Logger.getLogger().warn(
"Cannot release token: unknown feature: " + s + ' ' + i
+ '.' + j);
return false;
}
toolkey = ParaSoftKeys.getToolKey(feature);
if (toolkey == null) {
Logger.getLogger().warn(
"Cannot release token: no key for feature: " + s + ' ' + i
+ '.' + j);
return false;
}
DecodedPassword decodedpassword;
try {
decodedpassword = PasswordDecoder.decodePassword(s1.getBytes(),
toolkey.getPublicKey());
return _tokenManager.releaseToken(feature, decodedpassword);
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
public static LicenseStatus checkDate(DecodedPassword decodedpassword,
int i, Feature feature) {
return LicenseStatus.OK;
}
}
如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。