1.寻找突破点
./nexus console
验证 license 的方法路径
org.sonatype.licensing.trial.internal.DefaultTrialLicenseManager.verifyLicense
查找类名所在的文件名
[itadmin@k8s-node4 nexus_pro2.14]$ find . -name *.jar |xargs strings -f -a -|
grep DefaultTrialLicenseManager
./nexus/WEB-INF/lib/license-bundle-1.4.jar:
org/sonatype/licensing/trial/internal/DefaultTrialLicenseManager.class
./nexus/WEB-INF/lib/license-bundle-1.4.jar:
org/sonatype/licensing/trial/internal/DefaultTrialLicenseManager.classPK
2.jd-gui 加载 jar,找到类文件 DefaultTrialLicenseManager.class
得到 java 代码
3.使用 eclipse 修改代码
找到所有依赖的 jar
C:\Users\Administrator\Desktop\Sonarqube\nexus-professional-2.14.8-01-
bundle\nexus-professional-2.14.8-01\nexus\WEB-INF\lib\license-bundle-1.4.jar
C:\Users\Administrator\Desktop\Sonarqube\nexus-professional-2.14.8-01-
bundle\nexus-professional-2.14.8-01\nexus\WEB-INF\lib\javax.inject-1.jar
C:\Users\Administrator\Desktop\Sonarqube\nexus-professional-2.14.8-01-
bundle\nexus-professional-2.14.8-01\nexus\WEB-INF\lib\jsr305-2.0.1.jar
C:\Users\Administrator\Desktop\Sonarqube\nexus-professional-2.14.8-01-
bundle\nexus-professional-2.14.8-01\lib\slf4j-api-1.7.25.jar
C:\Users\Administrator\Desktop\Sonarqube\nexus-professional-2.14.8-01-
bundle\nexus-professional-2.14.8-01\nexus\WEB-INF\lib\nexus-licensing-extension-
2.14.8-01.jar
patch 代码如下:
import com.sonatype.nexus.licensing.feature.NexusProfessionalFeature;
public void verifyLicense(LicenseKey key){
boolean bool = this.wab.isTraceEnabled();
if (bool) {
this.wab.trace("verifyLicense (1) param={}", key);
}
this.wab.info("=====Nexus Repository Manager 2.14.8-01 Licensing by
zoakerc.=====");
key.setContactName("zoakerc");
key.setContactCompany("http://my.oschina.net/zoakerc");
key.setContactEmailAddress("zoakerc@gmail.com");
key.setContactTelephone("11011001110");
评论