Maltego keygen generator Java Souce code
by Alpha555 - June 11, 2020 at 04:13 AM
#37
@payam59 , @h0nus, @WhiteCollar
to clarify the situation, here are the cracking steps:
  • change the public key in AsymmetricPublicKey.java inside com-paterva-maltego-crypto.jar to match with the one inside keygen.jar
  • change the keygen to actually write the license, by adding this to MainDialog.java:
    Spoiler
    EncodeResponse er = new EncodeResponse(sb.toString());
        String blob = "<Blob>" + Base64.getEncoder().encodeToString(sb.toString().getBytes()) + "</Blob>";
        String signature = "<Signature>" + Base64.getEncoder().encodeToString(er.getSignature()) + "</Signature>";
        File file = new File("MaltegoXL.lic");
        File file2 = new File("EULA.lic");
        file.setWritable(true, false);
        file2.setWritable(true, false);

        StringBuilder tb = new StringBuilder();
        String gziped = "H4sIAAAAAAAAAEtUKC4pysxLV8hPU0jOSCxKTC5JLSoGAOP+cfkWAAAA";
        tb.append("<EULA version=\"1\">"+gziped+"</EULA>");
        EncodeResponse tr = new EncodeResponse(tb.toString());
        String tblob = "<Blob>" + Base64.getEncoder().encodeToString(tb.toString().getBytes()) + "</Blob>";
        String tsignature = "<Signature>" + Base64.getEncoder().encodeToString(tr.getSignature()) + "</Signature>";

       
    /*Write primitive data type to file*/
    FileOutputStream fileOutputStream = null;
    DataOutputStream dos = null;
    FileOutputStream fileOutputStream2 = null;
    DataOutputStream dos2 = null;
    try {
    fileOutputStream=new FileOutputStream(file);
    dos=new DataOutputStream(fileOutputStream);
    dos.write(blob.getBytes());
    dos.write(signature.getBytes());
    dos.flush();
    fileOutputStream2=new FileOutputStream(file2);
    dos2=new DataOutputStream(fileOutputStream2);
    dos2.write(tblob.getBytes());
    dos2.write(tsignature.getBytes());
    dos2.flush();
    } catch (IOException e) {
    e.printStackTrace();
    }finally {
    try {
    if(fileOutputStream!=null){
    fileOutputStream.close();
    }
    if(dos!=null){
    dos.close();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
        try {
          Exception exception2, exception1 = null;
        } catch (Exception e1) {
          e1.printStackTrace();
        }
  • change MaltegoRestExchange.java inside com-paterva-maltego-rest.jar to read from files and answer back locally.
    Spoiler
    private String postString(String msg) throws IOException {
      if(this.url.toString().contains("eula")) {
      return "<Status>OK</Status><Message>True</Message>" + new String(Files.readAllBytes(Paths.get(String.valueOf(FileSystemView.getFileSystemView().getHomeDirectory().getPath()) + "\\EULA.lic", new String[0])), StandardCharsets.UTF_8);
      }else if (this.url.toString().contains("activate")){
      return "<Status>OK</Status><Message>True</Message>" + new String(Files.readAllBytes(Paths.get(String.valueOf(FileSystemView.getFileSystemView().getHomeDirectory().getPath()) + "\\MaltegoXL.lic", new String[0])), StandardCharsets.UTF_8);
      }rdCharsets.UTF_8);
    }else{
    HttpAgent agent = new HttpAgent(this.url);
        agent.setConnectTimeout(this.timeoutMillis);
        agent.setReadTimeout(this.timeoutMillis);
        return agent.doPostString("text/xml", msg);
    }
      }
  • replace the modified com-paterva-maltego-rest.jar and com-paterva-maltego-crypto.jar with the original ones in C:\Program Files (x86)\Paterva\Maltego\v4.2.11\maltego-core-platform\modules
  • run the program and goto offline activation
  • run the keygen, hit the generate serial button, fill the rest, copy the license request back to keygen
  • fill the required transformations in the API keys table, because we're patching MaltegoRestExchange.java, you can add any more transformations after the crack is applied
  • hit generate license, and move the generated files (two files MaltegoXL.lic and EULA.lic) to the home folder(C:\Users\{username})
  • and after all of these steps go to online activation and hit next.

what is the issue then?
[Image: issue.png]

we don't know the exact syntax inside the xml response, so if find that out the crack would be completed.



@pente3ter12 Smile
(June 11, 2020 at 12:00 PM)pente3ter12 Wrote: https://mega.nz/file/K0FXCQTR#07R7xTEkYH...53pqSUVEx0

this is the older version, which the crack was written for, in the new version the com-paterva-maltego-licensing.jar file has been splited into 3 files
  • com-paterva-maltego-licensing.jar
  • com-paterva-maltego-rest.jar
  • com-paterva-maltego-crypto.jar

hence the need for updating the crack.

you can create new pub/priv keypair aswell by doing:
openssl genrsa -out priv.pem 2048
openssl rsa -in priv.pem -outform PEM -pubout -out pub.pem
openssl pkcs8 -topk8 -nocrypt -in priv.pem -out priv-pkcs8
now put the contents of pub.pem inside AsymmetricPublicKey.java(com-paterva-maltego-crypto.jar) and the contents of priv-pkcs8 inside RSAKey.java(keygen.jar)
Reply
#38
same Error Here,
I have done the same steps and as i said i have this issue:

18:18:51.633 INFO [com.paterva.maltego.util.NormalException]: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
at org.simpleframework.xml.core.Composite.validate(Composite.java:644)
at org.simpleframework.xml.core.Composite.readElements(Composite.java:449)
at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
at org.simpleframework.xml.core.Composite.read(Composite.java:201)
at org.simpleframework.xml.core.Composite.read(Composite.java:148)
at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
at org.simpleframework.xml.core.Persister.read(Persister.java:625)
at org.simpleframework.xml.core.Persister.read(Persister.java:606)
at org.simpleframework.xml.core.Persister.read(Persister.java:584)
at org.simpleframework.xml.core.Persister.read(Persister.java:562)
at org.simpleframework.xml.core.Persister.read(Persister.java:499)
at org.simpleframework.xml.core.Persister.read(Persister.java:408)
at com.paterva.maltego.util.XmlSerializer.read(XmlSerializer.java:93)
Caused: com.paterva.maltego.util.XmlSerializationException: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
at com.paterva.maltego.util.XmlSerializer.read(XmlSerializer.java:95)
at com.paterva.maltego.licensing.rest.A.E(LicenseRestRequests.java:139)
at com.paterva.maltego.licensing.rest.A.F(LicenseRestRequests.java:133)
at com.paterva.maltego.licensing.rest.A.H(LicenseRestRequests.java:60)

Dear @Dark Lord
can you check in this log and see if you have the same issue??
C:\Users\[USER]\AppData\Roaming\.maltego\v4.2.11\var\log\messages.log
Reply
#39
@Dark Lord

I wonder what happens if you do this :
private String postString(String msg) throws IOException {
if (this.url.toString().contains("activate")){
return "<Status>OK</Status><Message>True</Message>" + new String(Files.readAllBytes(Paths.get(String.valueOf(FileSystemView.getFileSystemView().getHomeDirectory().getPath()) + "\\MaltegoXL.lic", new String[0])), StandardCharsets.UTF_8);
}
}else{
HttpAgent agent = new HttpAgent(this.url);
agent.setConnectTimeout(this.timeoutMillis);
agent.setReadTimeout(this.timeoutMillis);
return agent.doPostString("text/xml", msg);
}
}


I mean let it download EULA from web but for activation bypass it to local file.
Reply
#40
(June 18, 2020 at 06:34 AM)payam59 Wrote: same Error Here,
I have done the same steps and as i said i have this issue:

18:18:51.633 INFO [com.paterva.maltego.util.NormalException]: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
at org.simpleframework.xml.core.Composite.validate(Composite.java:644)
at org.simpleframework.xml.core.Composite.readElements(Composite.java:449)
at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
at org.simpleframework.xml.core.Composite.read(Composite.java:201)
at org.simpleframework.xml.core.Composite.read(Composite.java:148)
at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
at org.simpleframework.xml.core.Persister.read(Persister.java:625)
at org.simpleframework.xml.core.Persister.read(Persister.java:606)
at org.simpleframework.xml.core.Persister.read(Persister.java:584)
at org.simpleframework.xml.core.Persister.read(Persister.java:562)
at org.simpleframework.xml.core.Persister.read(Persister.java:499)
at org.simpleframework.xml.core.Persister.read(Persister.java:408)
at com.paterva.maltego.util.XmlSerializer.read(XmlSerializer.java:93)
Caused: com.paterva.maltego.util.XmlSerializationException: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
at com.paterva.maltego.util.XmlSerializer.read(XmlSerializer.java:95)
at com.paterva.maltego.licensing.rest.A.E(LicenseRestRequests.java:139)
at com.paterva.maltego.licensing.rest.A.F(LicenseRestRequests.java:133)
at com.paterva.maltego.licensing.rest.A.H(LicenseRestRequests.java:60)

Dear @Dark Lord
can you check in this log and see if you have the same issue??
C:\Users\[USER]\AppData\Roaming\.maltego\v4.2.11\var\log\messages.log

yes i had the exact same issue
INFO [com.paterva.maltego.util.NormalException]: Click back to try again
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
    at org.simpleframework.xml.core.Composite.validate(Composite.java:644)
    at org.simpleframework.xml.core.Composite.readElements(Composite.java:449)
    at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
    at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
    at org.simpleframework.xml.core.Composite.read(Composite.java:201)
    at org.simpleframework.xml.core.Composite.read(Composite.java:148)
    at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
    at org.simpleframework.xml.core.Persister.read(Persister.java:625)
    at org.simpleframework.xml.core.Persister.read(Persister.java:606)
    at org.simpleframework.xml.core.Persister.read(Persister.java:584)
    at org.simpleframework.xml.core.Persister.read(Persister.java:562)
    at org.simpleframework.xml.core.Persister.read(Persister.java:499)
    at org.simpleframework.xml.core.Persister.read(Persister.java:408)
    at com.paterva.maltego.util.XmlSerializer.read(XmlSerializer.java:93)
Caused: com.paterva.maltego.util.XmlSerializationException: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
    at com.paterva.maltego.util.XmlSerializer.read(XmlSerializer.java:95)
    at com.paterva.maltego.licensing.rest.A.E(LicenseRestRequests.java:139)
    at com.paterva.maltego.licensing.rest.A.F(LicenseRestRequests.java:133)
    at com.paterva.maltego.licensing.rest.A.E(LicenseRestRequests.java:121)
Caused: com.paterva.maltego.licensing.LicensingException: Error communicating with license server: Unable to satisfy @org.simpleframework.xml.Element(name=EULA, type=void, data=false, required=true) on field 'A' private com.paterva.maltego.licensing.serialize.D com.paterva.maltego.licensing.serialize.H.A for class com.paterva.maltego.licensing.serialize.H at line 1
    at com.paterva.maltego.licensing.rest.A.E(LicenseRestRequests.java:126)
    at com.paterva.maltego.licensing.rest.A.I(LicenseRestRequests.java:67)
    at com.paterva.maltego.licensing.ui.wizard.licensed.RequestLicenseController.doProcessing(RequestLicenseController.java:46)
Caused: com.paterva.maltego.licensing.LicensingException: Click back to try again
    at com.paterva.maltego.licensing.ui.wizard.licensed.RequestLicenseController.doProcessing(RequestLicenseController.java:54)
    at com.paterva.maltego.licensing.ui.wizard.licensed.RequestLicenseController.doProcessing(RequestLicenseController.java:22)
[catch] at com.paterva.maltego.util.ui.dialog.ProgressController.lambda$start$2(ProgressController.java:93)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
    at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

(June 18, 2020 at 08:30 AM)payam59 Wrote: @Dark Lord

I wonder what happens if you do this :
private String postString(String msg) throws IOException {
  if (this.url.toString().contains("activate")){
  return "<Status>OK</Status><Message>True</Message>" + new String(Files.readAllBytes(Paths.get(String.valueOf(FileSystemView.getFileSystemView().getHomeDirectory().getPath()) + "\\MaltegoXL.lic", new String[0])), StandardCharsets.UTF_8);
  }
}else{
HttpAgent agent = new HttpAgent(this.url);
    agent.setConnectTimeout(this.timeoutMillis);
    agent.setReadTimeout(this.timeoutMillis);
    return agent.doPostString("text/xml", msg);
}
  }


I mean let it download EULA from web but for activation bypass it to local file.

it won't work because we've changed the public key, so the server won't accept it
Reply
#41
I guess i fixed it @Dark Lord
it has been fixed already . check your inbox my friend
by the way no need for further chane in Post method, You can continue the offline activation process till the end Smile
PS;I send you a pm @Dark Lord
cause i did not wanted to send license template on net.

@WhiteCollar: I will share the keygen with you when it`s ready.

this is the final result, thanks to all the effort from Me,MySelf and Irene  Biggrin Just kidding. thanks to @Dark Lord and @WhiteCollar
[Image: Capture.jpg]
Reply
#42
(June 18, 2020 at 08:49 AM)payam59 Wrote: I guess i fixed it @Dark Lord
it has been fixed already . check your inbox my friend
by the way no need for further chane in Post method, You can continue the offline activation process till the end Smile
PS;I send you a pm @Dark Lord
cause i did not wanted to send license template on net.

@WhiteCollar: I will share the keygen with you when it`s ready.

this is the final result, thanks to all the effort from Me,MySelf and Irene  Biggrin Just kidding. thanks to @Dark Lord and @WhiteCollar
[Image: Capture.jpg]

well done brother Smile , you did a great job
Reply
#43
it's done
https://raidforums.com/Thread-Cracked-Ma...-XL-keygen
Reply
#44
(June 18, 2020 at 12:11 PM)Dark Lord Wrote: it's done
https://raidforums.com/Thread-Cracked-Ma...-XL-keygen

good job , and thanks for this wondeful update
Reply
#45
Thanks bro for share.....!
Reply
#46
(June 18, 2020 at 01:36 AM)Dark Lord Wrote: @payam59 , @h0nus, @WhiteCollar

to clarify the situation, here are the cracking steps:


  • change the public key in AsymmetricPublicKey.java inside com-paterva-maltego-crypto.jar to match with the one inside keygen.jar
  • change the keygen to actually write the license, by adding this to MainDialog.java:
    Spoiler
    EncodeResponse er = new EncodeResponse(sb.toString());
        String blob = "<Blob>" + Base64.getEncoder().encodeToString(sb.toString().getBytes()) + "</Blob>";
        String signature = "<Signature>" + Base64.getEncoder().encodeToString(er.getSignature()) + "</Signature>";
        File file = new File("MaltegoXL.lic");
        File file2 = new File("EULA.lic");
        file.setWritable(true, false);
        file2.setWritable(true, false);

        StringBuilder tb = new StringBuilder();
        String gziped = "H4sIAAAAAAAAAEtUKC4pysxLV8hPU0jOSCxKTC5JLSoGAOP+cfkWAAAA";
        tb.append("<EULA version=\"1\">"+gziped+"</EULA>");
        EncodeResponse tr = new EncodeResponse(tb.toString());
        String tblob = "<Blob>" + Base64.getEncoder().encodeToString(tb.toString().getBytes()) + "</Blob>";
        String tsignature = "<Signature>" + Base64.getEncoder().encodeToString(tr.getSignature()) + "</Signature>";

       
    /*Write primitive data type to file*/
    FileOutputStream fileOutputStream = null;
    DataOutputStream dos = null;
    FileOutputStream fileOutputStream2 = null;
    DataOutputStream dos2 = null;
    try {
    fileOutputStream=new FileOutputStream(file);
    dos=new DataOutputStream(fileOutputStream);
    dos.write(blob.getBytes());
    dos.write(signature.getBytes());
    dos.flush();
    fileOutputStream2=new FileOutputStream(file2);
    dos2=new DataOutputStream(fileOutputStream2);
    dos2.write(tblob.getBytes());
    dos2.write(tsignature.getBytes());
    dos2.flush();
    } catch (IOException e) {
    e.printStackTrace();
    }finally {
    try {
    if(fileOutputStream!=null){
    fileOutputStream.close();
    }
    if(dos!=null){
    dos.close();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
        try {
          Exception exception2, exception1 = null;
        } catch (Exception e1) {
          e1.printStackTrace();
        }
  • change MaltegoRestExchange.java inside com-paterva-maltego-rest.jar to read from files and answer back locally.
    Spoiler
    private String postString(String msg) throws IOException {
      if(this.url.toString().contains("eula")) {
      return "<Status>OK</Status><Message>True</Message>" + new String(Files.readAllBytes(Paths.get(String.valueOf(FileSystemView.getFileSystemView().getHomeDirectory().getPath()) + "\\EULA.lic", new String[0])), StandardCharsets.UTF_8);
      }else if (this.url.toString().contains("activate")){
      return "<Status>OK</Status><Message>True</Message>" + new String(Files.readAllBytes(Paths.get(String.valueOf(FileSystemView.getFileSystemView().getHomeDirectory().getPath()) + "\\MaltegoXL.lic", new String[0])), StandardCharsets.UTF_8);
      }rdCharsets.UTF_8);
    }else{
    HttpAgent agent = new HttpAgent(this.url);
        agent.setConnectTimeout(this.timeoutMillis);
        agent.setReadTimeout(this.timeoutMillis);
        return agent.doPostString("text/xml", msg);
    }
      }
  • replace the modified com-paterva-maltego-rest.jar and com-paterva-maltego-crypto.jar with the original ones in C:\Program Files (x86)\Paterva\Maltego\v4.2.11\maltego-core-platform\modules
  • run the program and goto offline activation
  • run the keygen, hit the generate serial button, fill the rest, copy the license request back to keygen
  • fill the required transformations in the API keys table, because we're patching MaltegoRestExchange.java, you can add any more transformations after the crack is applied
  • hit generate license, and move the generated files (two files MaltegoXL.lic and EULA.lic) to the home folder(C:\Users\{username})
  • and after all of these steps go to online activation and hit next.



what is the issue then?

[Image: issue.png]



we don't know the exact syntax inside the xml response, so if find that out the crack would be completed.






@pente3ter12 Smile

(June 11, 2020 at 12:00 PM)pente3ter12 Wrote: https://mega.nz/file/K0FXCQTR#07R7xTEkYH...53pqSUVEx0



this is the older version, which the crack was written for, in the new version the com-paterva-maltego-licensing.jar file has been splited into 3 files
  • com-paterva-maltego-licensing.jar
  • com-paterva-maltego-rest.jar
  • com-paterva-maltego-crypto.jar



hence the need for updating the crack.


you can create new pub/priv keypair aswell by doing:

openssl genrsa -out priv.pem 2048

openssl rsa -in priv.pem -outform PEM -pubout -out pub.pem

openssl pkcs8 -topk8 -nocrypt -in priv.pem -out priv-pkcs8

now put the contents of pub.pem inside AsymmetricPublicKey.java(com-paterva-maltego-crypto.jar) and the contents of priv-pkcs8 inside RSAKey.java(keygen.jar)



Hi.
Yes,He is worked.Thanks for share.
I see that some people have a problem with the key.For fix it your can active with CE and save your key after scan your target in CE,And add key in keygen.jar by host.
like :
Host: g52.paterva.com
Key=*****-95894-*****-54958-*
Good luck
This forum account is currently banned. Ban Length: Permanent (N/A).
Ban Reason: Multi-Accounting
Reply
#47
tnx for sharing
good source for keygen of maltego
Reply
#48
thank you for sharing....
This forum account is currently banned. Ban Length: Permanent (N/A).
Ban Reason: Mass Leeching
Reply

Possibly Related Threads…
Thread Author Replies Views Last Post
HP WebInspect 19.10 with keygen payam59 178 18,937 Yesterday at 05:50 AM
Last Post: avocato002
Burp Suite 2020.8.1 | LINUX, MAC, WINDOWS + Crack & Keygen 123User 27 1,607 October 22, 2020 at 06:11 AM
Last Post: RaMzEsS
Burpsuite PRO 2020.9.2 (VALID LINKS) install, loader and keygen, multi platform thunderdog 2 162 October 22, 2020 at 03:48 AM
Last Post: antifederales

 Users browsing this thread: 1 Guest(s)