How to get the private key of a new VolanoChat-Version:
  1. At first you need a simple java decompiler. One of the first suggests from google was this page: http://java.decompiler.free.fr/?q=jdgui#downloads
  2. Download the decompiler (i prefere the gui version), launch it and click to the menu File->Open File... select the chat jar-file (for example http://chat1.chat4free.de/COM/volano/VolanoChat.jar) You will see a simple obfuscated file. (till now only the class names are obfuscated)
  3. Find this class:
    package COM.volano;
    
    import java.security.SecureRandom;
    
    public class _RandomName_ extends SecureRandom
    {
      public static final byte[] a = { ... }; 
      ...
    } 
    
    1. Replace the byte-array a in the file vav.java in the attachment through the byte-array you found in the class.
    2. Launch the java app from the attachment. You'll get an output like this:
      Sun DSA Private Key 
      parameters:
          p:
          fca682ce 8e12caba 26efccf7 110e526d b078b05e decbcd1e b4a208f3 ae1617ae
          01f35b91 a47e6df6 3413c5e1 2ed0899b cd132acd 50d99151 bdc43ee7 37592e17
          q:
          962eddcc 369cba8e bb260ee6 b6a126d9 346e38c5
          g:
          678471b2 7a9cf44e e91a49c5 147db1a9 aaf244f0 5a434d64 86931d2d 14271b9e
          35030b71 fd73da17 9069b32e 2935630e 1c206235 4d0da20a 6c416e50 be794ca4
      
      x:     1017c906 256dc147 48612cd3 a40c4abd 80085b3a 
      

Last edited Jul 10, 2010 at 9:57 AM by SebastianKraemer, version 3

Comments

void77 Jun 1, 2012 at 10:49 PM 
// v2.10.0
DSAKeyInfo.Y = Convert.FromBase64String("QZGjhx7hzb5da9la7WKt23zFjJ+yfb7ZPuNbIlb5LlrxPWRZdN4zLw/uOQEuyzJUDTuvqRq4PowU\r\r\nbtbkM9giPQ==");
DSAKeyInfo.X = Convert.FromBase64String("PvOKKBwhltOTd3jNxgBQBWcJUpM=");
DSAKeyInfo.G = Convert.FromBase64String("Z4Rxsnqc9E7pGknFFH2xqaryRPBaQ01khpMdLRQnG541Awtx/XPaF5Bpsy4pNWMOHCBiNU0Nogps\r\r\nQW5QvnlMpA==");
DSAKeyInfo.P = Convert.FromBase64String("/KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII864WF64B81uRpH5t9jQTxeEu0ImbzRMqzVDZkVG9\r\r\nxD7nN1kuFw==");
DSAKeyInfo.Q = Convert.FromBase64String("li7dzDacuo67Jg7mtqEm2TRuOMU=");

void77 Jun 1, 2012 at 10:48 PM 
I'm trying this with the code from a 2.10 version of volano. When using the key generated as you describe the code never gets a callback from the server. I'm assuming the authenticate fails. Any ideas?