|
Цитата: |
|
|
|
|
|
|
|
|
|
Как ты смог джава декомпилером расшифровать кейгенератор если там exe?
|
|
|
|
|
|
КЕйгенератор лежит в Ace.jar, или что то в этом роде, но не в EXE, Exe к нему ток обращается как я понял
|
Цитата: |
|
|
|
|
|
|
|
|
|
Интересно, а подменом пакета до сих пор ламануть можно? Наверно это бонально, но нужна рабочая лица , для проверки...
|
|
|
|
|
|
Подменой пакета? так нужно знать на что подменивать, для каждого ID ключ уникален, программа их сверяет. И так... Кейгенератор есть, щя кину:
Добавлено через 4 минуты
package javax.crypto;
import java.security.*;
import java.security.spec.AlgorithmParameterSpec;
import java.util.Iterator;
import java.util.List;
import sun.security.jca.GetInstance;
// Referenced classes of package javax.crypto:
// SunJCE_b, ******eratorSpi, SecretKey
public class ******erator
{
protected ******erator(******eratorSpi ******eratorspi, Provider provider, String s)
{
h = new Object();
f = ******eratorspi;
e = provider;
g = s;
}
private ******erator(String s)
throws NoSuchAlgorithmException
{
h = new Object();
g = s;
List list = GetInstance.getServices("******erator", s);
i = list.iterator();
j = 1;
if(a(null, false) == null)
throw new NoSuchAlgorithmException((new StringBuilder()).append(s).append(" ******erator not available").toString());
else
return;
}
public final String getAlgorithm()
{
return g;
}
public static final ******erator getInstance(String s)
throws NoSuchAlgorithmException
{
return new ******erator(s);
}
public static final ******erator getInstance(String s, String s1)
throws NoSuchAlgorithmException, NoSuchProviderException
{
sun.security.jca.GetInstance.Instance instance = SunJCE_b.a("******erator", javax/crypto/******eratorSpi, s, s1);
return new ******erator((******eratorSpi)instance.impl, instance.provider, s);
}
public static final ******erator getInstance(String s, Provider provider)
throws NoSuchAlgorithmException
{
sun.security.jca.GetInstance.Instance instance = SunJCE_b.a("******erator", javax/crypto/******eratorSpi, s, provider);
return new ******erator((******eratorSpi)instance.impl, instance.provider, s);
}
public final Provider getProvider()
{
Object obj = h;
JVM INSTR monitorenter ;
a();
return e;
Exception exception;
exception;
throw exception;
}
private ******eratorSpi a(******eratorSpi ******eratorspi, boolean flag)
{
Object obj = h;
JVM INSTR monitorenter ;
if(******eratorspi != null && ******eratorspi != f)
return f;
if(i != null) goto _L2; else goto _L1
_L1:
null;
obj;
JVM INSTR monitorexit ;
return;
_L2:
java.security.Provider.Service service;
if(!i.hasNext())
break; /* Loop/switch isn't completed */
service = (java.security.Provider.Service)i.next();
if(!SunJCE_b.b(service.getProvider()))
continue; /* Loop/switch isn't completed */
Object obj1 = service.newInstance(null);
if(!(obj1 instanceof ******eratorSpi))
continue; /* Loop/switch isn't completed */
******eratorSpi ******eratorspi1;
******eratorspi1 = (******eratorSpi)obj1;
if(flag)
if(j == 4)
******eratorspi1.engineInit(k, m);
else
if(j == 3)
******eratorspi1.engineInit(l, m);
else
if(j == 2)
******eratorspi1.engineInit(m);
else
if(j != 1)
throw new AssertionError((new StringBuilder()).append("******erator initType: ").append(j).toString());
e = service.getProvider();
f = ******eratorspi1;
******eratorspi1;
obj;
JVM INSTR monitorexit ;
return;
Exception exception;
exception;
if(true) goto _L2; else goto _L3
_L3:
a();
null;
obj;
JVM INSTR monitorexit ;
return;
Exception exception1;
exception1;
throw exception1;
}
void a()
{
i = null;
j = 0;
l = null;
m = null;
}
public final void init(SecureRandom securerandom)
{
if(i == null)
{
f.engineInit(securerandom);
return;
}
RuntimeException runtimeexception = null;
******eratorSpi ******eratorspi = f;
do
{
try
{
******eratorspi.engineInit(securerandom);
j = 2;
k = 0;
l = null;
m = securerandom;
return;
}
catch(RuntimeException runtimeexception1)
{
if(runtimeexception == null)
runtimeexception = runtimeexception1;
}
******eratorspi = a(******eratorspi, false);
} while(******eratorspi != null);
throw runtimeexception;
}
public final void init(AlgorithmParameterSpec algorithmparameterspec)
throws InvalidAlgorithmParameterException
{
init(algorithmparameterspec, SunJCE_b.b);
}
public final void init(AlgorithmParameterSpec algorithmparameterspec, SecureRandom securerandom)
throws InvalidAlgorithmParameterException
{
if(i == null)
{
f.engineInit(algorithmparameterspec, securerandom);
return;
}
Exception exception = null;
******eratorSpi ******eratorspi = f;
do
{
try
{
******eratorspi.engineInit(algorithmparameterspec, securerandom);
j = 3;
k = 0;
l = algorithmparameterspec;
m = securerandom;
return;
}
catch(Exception exception1)
{
if(exception == null)
exception = exception1;
}
******eratorspi = a(******eratorspi, false);
} while(******eratorspi != null);
if(exception instanceof InvalidAlgorithmParameterException)
throw (InvalidAlgorithmParameterException)exception;
if(exception instanceof RuntimeException)
throw (RuntimeException)exception;
else
throw new InvalidAlgorithmParameterException("init() failed", exception);
}
public final void init(int i1)
{
init(i1, SunJCE_b.b);
}
public final void init(int i1, SecureRandom securerandom)
{
if(i == null)
{
f.engineInit(i1, securerandom);
return;
}
RuntimeException runtimeexception = null;
******eratorSpi ******eratorspi = f;
do
{
try
{
******eratorspi.engineInit(i1, securerandom);
j = 4;
k = i1;
l = null;
m = securerandom;
return;
}
catch(RuntimeException runtimeexception1)
{
if(runtimeexception == null)
runtimeexception = runtimeexception1;
}
******eratorspi = a(******eratorspi, false);
} while(******eratorspi != null);
throw runtimeexception;
}
public final SecretKey generateKey()
{
RuntimeException runtimeexception;
******eratorSpi ******eratorspi;
if(i == null)
return f.engineGenerateKey();
runtimeexception = null;
******eratorspi = f;
_L2:
return ******eratorspi.engineGenerateKey();
RuntimeException runtimeexception1;
runtimeexception1;
if(runtimeexception == null)
runtimeexception = runtimeexception1;
******eratorspi = a(******eratorspi, true);
if(******eratorspi == null)
throw runtimeexception;
if(true) goto _L2; else goto _L1
_L1:
}
private static final int a = 1;
private static final int b = 2;
private static final int c = 3;
private static final int d = 4;
private Provider e;
private volatile ******eratorSpi f;
private final String g;
private final Object h;
private Iterator i;
private int j;
private int k;
private AlgorithmParameterSpec l;
private SecureRandom m;
}
Это от KBot 3.23, но разницы нет почти, смысл в том что бы этот алгоритм выполнить...
Добавлено через 23 минуты
Ну так что, есть у кого какие мысли на этот счет?