-
-
Save gyk001/a698cca49958541e0abd to your computer and use it in GitHub Desktop.
package com.eviware.soapui; | |
import java.awt.Dimension; | |
import java.io.File; | |
import java.io.InputStream; | |
import java.util.Calendar; | |
import java.util.Date; | |
import java.util.Iterator; | |
import java.util.Map; | |
import java.util.Properties; | |
import org.apache.http.annotation.NotThreadSafe; | |
import org.apache.log4j.Logger; | |
import com.eviware.soapui.impl.protection.ProtectionLicense; | |
import com.eviware.soapui.impl.wsdl.actions.support.OpenUrlAction; | |
import com.eviware.soapui.lic.LicenseType; | |
import com.eviware.soapui.support.UISupport; | |
import com.eviware.x.form.XFormDialog; | |
import com.google.common.collect.ImmutableList; | |
import com.google.common.collect.Maps; | |
import com.smardec.license4j.License; | |
public class LicenseHandling { | |
static Logger logger = Logger.getLogger(LicenseHandling.class); | |
static boolean a = true; | |
private static LicenseUserInteractionHandler d = new DefaultLicenseUserInteractionHandler(); | |
private static LicenseData e; | |
private static LicenseType f; | |
static void a() { | |
// if ((new File(getProtectionLicensePath()).exists()) | |
// && (!ProtectionLicense.checkLicenseExpired()) | |
// && (ProtectionLicense.checkLicense())) { | |
// e = new LicenseData(ProtectionLicense.getSoapUILicense()); | |
// } | |
License l = new License(); | |
l.addFeature("organization", "yisufuyou-org"); | |
l.addFeature("name", "yisufyou-name"); | |
l.addFeature("type", LicenseType.PROFESSIONAL.name()); | |
Date d = new Date(); | |
d.setYear(2114); | |
l.addFeature("expiration", d); | |
l.addFeature("id", "yisufuyou-id"); | |
e = new LicenseData(l); | |
} | |
public static LicenseData getLicenseData() { | |
License l = new License(); | |
l.addFeature("organization", "yisufuyou-org"); | |
l.addFeature("name", "yisufyou-name"); | |
l.addFeature("type", LicenseType.PROFESSIONAL.name()); | |
Date d = new Date(); | |
d.setYear(2114); | |
l.addFeature("expiration", d); | |
l.addFeature("id", "yisufuyou-id"); | |
return new LicenseData(l); | |
} | |
public static LicenseData loadLicense(InputStream paramInputStream) { | |
License l = new License(); | |
l.addFeature("organization", "yisufuyou-org"); | |
l.addFeature("name", "yisufyou-name"); | |
l.addFeature("type", LicenseType.PROFESSIONAL.name()); | |
Date d = new Date(); | |
d.setYear(2114); | |
l.addFeature("expiration", d); | |
l.addFeature("id", "yisufuyou-id"); | |
return new LicenseData(l); | |
} | |
public static OpenUrlAction createBuyLicenseAction() { | |
logger.info("-------------------------"); | |
return new OpenUrlAction("Buy License", "http://www.eviware.com/buypro"); | |
} | |
public static String getLicensePath() { | |
String str = System.getProperty("user.home") + File.separatorChar | |
+ ".soapui"; | |
return str + File.separatorChar + "soapui.lic"; | |
} | |
public static String getProtectionLicensePath() { | |
String str = System.getProperty("user.home") + File.separatorChar | |
+ ".soapui"; | |
return str + File.separatorChar + "soapui.key"; | |
} | |
public static String getProtectionSecretStoragePath() { | |
String str = System.getProperty("user.home") + File.separatorChar | |
+ ".soapui"; | |
return str + File.separatorChar + "soapui.dat"; | |
} | |
static boolean a(File paramFile) { | |
return false; | |
} | |
static String b() { | |
// InputStream localInputStream = SoapUIPro.class.getResource( | |
// "/com/eviware/soapui/resources/conf/SoapUI-license.txt") | |
// .openStream(); | |
// | |
// BufferedReader localBufferedReader = new BufferedReader( | |
// new InputStreamReader(localInputStream, "UTF-8")); | |
// StringBuilder localStringBuilder; | |
// (localStringBuilder = new StringBuilder()) | |
// .append("<html><body><font size=-1>"); | |
// String str = localBufferedReader.readLine(); | |
// while (str != null) { | |
// if (str.trim().length() > 0) { | |
// localStringBuilder.append("<p>").append(str).append("</p>"); | |
// } | |
// str = localBufferedReader.readLine(); | |
// } | |
// | |
// localStringBuilder.append("</font></body></html>"); | |
// localInputStream.close(); | |
// | |
// return localStringBuilder.toString(); | |
return "bbbbb"; | |
} | |
static void a(String paramString) { | |
if (ProtectionLicense.isLicenseChecked()) { | |
d.showAboutLicenseDialog(); | |
return; | |
} | |
if (e == null) { | |
UISupport | |
.showInfoMessage( | |
"SoapUI Pro is running under the Courtesy license;\nall Pro-features will be disabled until a valid license is entered", | |
paramString); | |
return; | |
} | |
d.showNewLicenseInfo(paramString); | |
} | |
static void a(LicenseData paramLicenseData) { | |
License l = new License(); | |
l.addFeature("organization", "yisufuyou-org"); | |
l.addFeature("name", "yisufyou-name"); | |
l.addFeature("type", LicenseType.PROFESSIONAL.name()); | |
Date d = new Date(); | |
d.setYear(2114); | |
l.addFeature("expiration", d); | |
l.addFeature("id", "yisufuyou-id"); | |
e = new LicenseData(l); | |
} | |
public static void setLicense(License paramLicense) { | |
License l = new License(); | |
l.addFeature("organization", "yisufuyou-org"); | |
l.addFeature("name", "yisufyou-name"); | |
l.addFeature("type", LicenseType.PROFESSIONAL.name()); | |
Date d = new Date(); | |
d.setYear(2114); | |
l.addFeature("expiration", d); | |
l.addFeature("id", "yisufuyou-id"); | |
e = new LicenseData(l); | |
} | |
public static void clearLicenseData() { | |
e = null; | |
} | |
static String c() { | |
StringBuilder localStringBuilder = new StringBuilder(); | |
String str1 = e.getName(); | |
String str2 = e.getOrganization(); | |
if ((((str1 == null) || (str1.length() == 0) ? 1 : 0) & ((str2 == null) | |
|| (str2.length() == 0) ? 1 : 0)) != 0) { | |
return ""; | |
} | |
if ((str1 == null) || (str1.length() == 0)) { | |
localStringBuilder.append(str2).append(") "); | |
} else if ((str2 == null) || (str2.length() == 0)) { | |
localStringBuilder.append(e.getName()).append(") "); | |
} else if (str1.equals(str2)) { | |
localStringBuilder.append(e.getName()).append(") "); | |
} else if (str1.contains(str2)) { | |
localStringBuilder.append(str1.replaceAll(str2, "")).append(", ") | |
.append(str2).append(") "); | |
} else if (str2.contains(str1)) { | |
localStringBuilder.append(str2).append(") "); | |
} else { | |
localStringBuilder.append(str1).append(", ").append(str2) | |
.append(") "); | |
} | |
return localStringBuilder.toString(); | |
} | |
public static void expirationInfo() { | |
} | |
public static boolean validateLicense() { | |
return validateLicense(false); | |
} | |
public static boolean validateLicense(boolean paramBoolean) { | |
return true; | |
} | |
public static void runtimeExpiration(boolean paramBoolean) { | |
} | |
public static void initLicenseReader() { | |
} | |
static boolean d() { | |
// TODO; 不确定 | |
return true; | |
} | |
static void e() { | |
} | |
public static void setExpiredLicenseType(LicenseType paramLicenseType) { | |
// | |
} | |
private static class DefaultLicenseUserInteractionHandler implements | |
LicenseUserInteractionHandler { | |
public XFormDialog createDialog() { | |
// DefaultActionList localObject; | |
// (localObject = new DefaultActionList()).addAction(LicenseHandling | |
// .createBuyLicenseAction()); | |
// ((ActionList) localObject).addAction(new OpenUrlAction( | |
// "Apply for Trial", "http://www.eviware.com/trial")); | |
// | |
// (localObject = ADialogBuilder.buildDialog(LicenseForm.class, | |
// (ActionList) localObject)).getFormField( | |
// "###Choose license type").setValue( | |
// "Browse for license file"); | |
// ((XFormDialog) localObject).getFormField("###Choose license type") | |
// .addFormFieldListener(new XFormFieldListener() { | |
// public void valueChanged( | |
// XFormField paramAnonymousXFormField, | |
// String paramAnonymousString1, | |
// String paramAnonymousString2) { | |
// this.a.getFormField("License File") | |
// .setEnabled( | |
// !paramAnonymousString1 | |
// .equals("Acquire floating license from server")); | |
// } | |
// }); | |
return null;// localObject; | |
} | |
public void showUrlInExternalBrowser(String paramString) { | |
} | |
public boolean checkLicenseFile(File paramFile) { | |
return true; | |
} | |
public void showAboutLicenseDialog() { | |
ProtectionLicense.getSoapuiProtectionSupport().showAboutDialog(); | |
} | |
public void showNewLicenseInfo(String paramString) { | |
// if ((str = LicenseHandling.f().getOrganization()) == null) { | |
// str = "<not specified>"; | |
// } | |
// String str = "<html><body><div>Name: " | |
// + LicenseHandling.f.name() + "<br>Organization: " | |
// + str + "<br>E-Mail: " + LicenseHandling.f().getEmail() | |
// + "<br>License Type: " + LicenseHandling.f().getType() | |
// + "<br>Expires: " + LicenseHandling.f().getExpirationDate() | |
// + "</div></body></html>"; | |
String str ="<html><body><div>"+ "xxx</div></body></html>"; | |
UISupport.showExtendedInfo(paramString, | |
"SoapUI Pro License Details", str, new Dimension(300, 250)); | |
} | |
public LicenseType getInstalledLicenseType() { | |
return LicenseType.PROFESSIONAL; | |
} | |
} | |
public static final class LicenseData { | |
private License a; | |
LicenseData(License paramLicense) { | |
this.a = paramLicense; | |
} | |
public final License getLicense() { | |
return this.a; | |
} | |
public final String getEmail() { | |
return this.a.getFeatureAsString("email"); | |
} | |
public final String getName() { | |
return this.a.getFeatureAsString("name"); | |
} | |
public final String getOrganization() { | |
return this.a.getFeatureAsString("organization"); | |
} | |
public final Date getExpirationDate() { | |
return (Date) this.a.getFeature("expiration"); | |
} | |
public final boolean isExpired() { | |
Date localDate1 = getExpirationDate(); | |
Date localDate2 = Calendar.getInstance().getTime(); | |
return localDate1.before(localDate2); | |
} | |
public final boolean isTooOld() { | |
Date localDate = getExpirationDate(); | |
Calendar localCalendar; | |
(localCalendar = Calendar.getInstance()).setTime(localDate); | |
localCalendar.roll(2, 6); | |
return localCalendar.before(Calendar.getInstance()); | |
} | |
public final LicenseType getType() { | |
String str; | |
return LicenseType.valueOf(str = this.a.getFeatureAsString("type")); | |
} | |
public final boolean isRenewal() { | |
String str; | |
return ((str = this.a.getFeatureAsString("renewal")) != null) | |
&& (Boolean.parseBoolean(str)); | |
} | |
public final String getLicenseId() { | |
return this.a.getFeatureAsString("id"); | |
} | |
public final String toString() { | |
return "License " + getLicenseId() + ": type=" + getType() | |
+ (isRenewal() ? " RENEWAL" : "") + ", name=" + getName() | |
+ ", email=" + getEmail() + ", organization=" | |
+ getOrganization() + ", expirationDate=" | |
+ getExpirationDate(); | |
} | |
} | |
@NotThreadSafe | |
static class ProxyBackup { | |
private static ImmutableList<String> a = ImmutableList | |
.copyOf(new String[] { "http.proxyHost", "http.proxyPassword", | |
"http.proxyPort", "http.proxyUser", | |
"http.nonProxyHosts", "http.proxySet" }); | |
private final Map<String, String> b = Maps.newHashMap(); | |
public void backup() { | |
Properties localProperties = System.getProperties(); | |
for (String str1 : a) { | |
String str2 = localProperties.getProperty(str1); | |
this.b.put(str1, str2); | |
localProperties.remove(str1); | |
} | |
} | |
public void restore() { | |
Properties localProperties = System.getProperties(); | |
for (Iterator localIterator = this.b.entrySet().iterator(); localIterator | |
.hasNext();) { | |
Map.Entry localEntry; | |
if ((localEntry = (Map.Entry) localIterator.next()).getValue() != null) { | |
localProperties.setProperty((String) localEntry.getKey(), | |
(String) localEntry.getValue()); | |
} else { | |
localProperties.remove(localEntry.getKey()); | |
} | |
} | |
} | |
} | |
} |
hello,
Can you please explain how to use this crack?
see readme here: https://github.com/gyk001/soapui-pro-crack
Hi,
After replacing the precompiled 5.1.1 jar (64Bit) file, it fails to startup and reports this error java.lang.NoClassDefFoundError: com/eviware/soapui/SwingSoapUICore
at java.lang.Class.getDeclaredMethods0(Native Method)
Caused by: java.lang.ClassNotFoundException: com.eviware.soapui.SwingSoapUICore
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
...
sbihue, did you install the pro version?
Works perfect for me!
I have installed Pro 5.1.2 and after replacing the actual jar file's licence class files it never asked me for license again
Thank You @gyk001!
Hi @gyk001, can you make an update for SoapUI 5.2.1?
Thanks
Hi,
Need help.
- Installed 5.1.2 pro
- Was unsuccessful with the approach of replacing 5.1.1 files into 5.1.2 jar
- So cloned the Source code
- Compiled the build
- Build generated these .class files.
- LicenseHandling
- LicenseHandling$1
- LicenseHandling$DefaultLicenseUserInteractionHandler
- LicenseHandling$LicenseData
- LicenseHandling$ProxyBackup
- Updated 5.1.2 pro.jar with these files (replaced existing)
- When launching 5.1.2 Pro I get these errors:
java.lang.ClassNotFoundException: com.eviware.soapui.SoapUIPro
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)_
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.install4j.runtime.launcher.MacLauncher.main(Unknown Source)
@mzubairahmed, can you please assist with steps you followed? Or share .jar from your Pro’ package?
Will be glad if @gyk001 can give us precompiled jar for 5.1.2.
Appreciate if you anyone can help here.
(I am trying this on MacOS with JDK 1.8 if it makes any difference)
Thanks
also work with 5.1.2.
Thanks
@salasyam download https://github.com/gyk001/soapui-pro-crack/releases/download/v5.1.1/soapui-pro-5.1.1.jar
get
LicenseHandling
LicenseHandling$1
LicenseHandling$DefaultLicenseUserInteractionHandler
LicenseHandling$LicenseData
LicenseHandling$ProxyBackup
classes from jar file
open 5.1.2 jar, replace those classes.
It works for me.
Worked with 5.1.2
Thanks
It worked for me for 5.1.1.
But is it possible if I can change the name from Licensed to yisufyou-name, yisufyou-org to like my name??
Hi, can anybody share me the path for the soapui pro software download link for this crack and tell the steps to use this crack.
Thanks friend, It works with 5.1.2!!!
@gyk001 I whenever I attempt run mvn package from your github project it tells me I am missing license4j. When I research license4j it appears to be a paid dependency. Is anyone else running into this?
The repository to download jar is blocked by GIT. Can't I get the jar file somehow @gyk001
Can u please post the actual crack here as I am unable to understand this code.