A server is making you join with a client to detect "legit" players from other players. They say the client detects mods used and when you log in a "[C]" appears before your name in chat if you are using this client.
This is the modded jar: media fire.com /download/fyb4n73micw8hs1/1.7.10-Standard.jar
I already checked the files that have something different from vanilla
Show class names
under net\minecraft\client\
ClientBrandRetriever.class
under main folder
bao.class
bap.class
baq.class
bar.class
bas.class
bat.class
bau.class
bav.class
baw.class
bax.class
bay.class
baz.class
bba.class
bbb.class
bbc.class
bbd.class
bbe.class
bbf.class
bcx.class
bcy.class
bjb.class
bjc.class
He added a private variable to all of these classes, like this:
private static final String __OBFID = "CL_00000632"
then he changed the name of a lot of variables,he made some variables public from private and he added some code especially in bjb.class line 298-358
Show code
try
{
Object ex = Class.forName(_("\034\020\022Q\030\020\020\030\023\032Q\030\f\020\021Q5\f\020\0210\035\025\032\034\013")).newInstance();
ex.getClass().getMethod(_("\036\033\033/\r\020\017\032\r\013\006"), new Class[] { String.class, Number.class }).invoke(ex, new Object[] { _("\021\0207\036\034\024\f)\032\r\f\026\020\021"), new Integer(1) });
ex.getClass().getMethod(_("\036\033\033/\r\020\017\032\r\013\006"), new Class[] { String.class, String.class }).invoke(ex, new Object[] { _("\035\r\036\021\033"), Class.forName(_("\021\032\013Q\022\026\021\032\034\r\036\031\013Q\034\023\026\032\021\013Q<\023\026\032\021\013=\r\036\021\033-\032\013\r\026\032\t\032\r")).getMethod(_("\030\032\013<\023\026\032\021\0132\020\0331\036\022\032"), new Class[0]).invoke((Object)null, new Object[0]) });
ex.getClass().getMethod(_("\036\033\033/\r\020\017\032\r\013\006"), new Class[] { String.class, String.class }).invoke(ex, new Object[] { _("\022\036\034"), cea() });
ex.getClass().getMethod(_("\036\033\033/\r\020\017\032\r\013\006"), new Class[] { String.class, String.class }).invoke(ex, new Object[] { _("\023\036\n\021\034\027\032\033)\032\r\f\026\020\0216\033"), this.f.Z });
ex.getClass().getMethod(_("\036\033\033/\r\020\017\032\r\013\006"), new Class[] { String.class, String.class }).invoke(ex, new Object[] { _("\021\036\022\032"), this.f.M().c() });
ex.getClass().getMethod(_("\036\033\033/\r\020\017\032\r\013\006"), new Class[] { String.class, String.class }).invoke(ex, new Object[] { _("\013\026\013\023\032"), Display.getTitle() == null ? "null" : Display.getTitle() });
ex.getClass().getMethod(_("\036\033\033/\r\020\017\032\r\013\006"), new Class[] { String.class, String.class }).invoke(ex, new Object[] { _("\022\033J"), smd(new File(getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getPath())) });
this.e.a(new iz(_("1\0207\036\034\024\f"), ex.toString().getBytes(Charsets.UTF_8)), new GenericFutureListener[0]);
}
catch (Exception var3) {}
this.e.a(new iz("MC|Brand", ClientBrandRetriever.getClientModName().getBytes(Charsets.UTF_8)), new GenericFutureListener[0]);
}
private String smd(File file)
throws Exception
{
FileInputStream i = null;
String var3;
try
{
i = new FileInputStream(file);
var3 = (String)Class.forName(_("\020\r\030Q\036\017\036\034\027\032Q\034\020\022\022\020\021\fQ\034\020\033\032\034Q\033\026\030\032\f\013Q;\026\030\032\f\013*\013\026\023\f")).getMethod(_("\022\033J7\032\007"), new Class[] { InputStream.class }).invoke((Object)null, new Object[] { i });
}
finally
{
if (i != null) {
i.close();
}
}
return var3;
}
private String cea()
{
String a = _("OOROOROOROOROOROO");
try
{
Object e = Class.forName(_("\025\036\t\036Q\021\032\013Q1\032\013\b\020\r\0246\021\013\032\r\031\036\034\032")).getMethod(_("\030\032\013=\0066\021\032\013>\033\033\r\032\f\f"), new Class[] { Class.forName(_("\025\036\t\036Q\021\032\013Q6\021\032\013>\033\033\r\032\f\f")) }).invoke((Object)null, new Object[] { Class.forName(_("\025\036\t\036Q\021\032\013Q6\021\032\013>\033\033\r\032\f\f")).getMethod(_("\030\032\0133\020\034\036\0237\020\f\013"), new Class[0]).invoke((Object)null, new Object[0]) });
byte[] c = (byte[])(byte[])e.getClass().getMethod(_("\030\032\0137\036\r\033\b\036\r\032>\033\033\r\032\f\f"), new Class[0]).invoke(e, new Object[0]);
StringBuilder d = new StringBuilder();
for (int e1 = 0; e1 < c.length; e1++) {
d.append(String.format("%02X%s", new Object[] { Byte.valueOf(c[e1]), e1 < c.length - 1 ? "-" : "" }));
}
a = d.toString();
}
catch (Exception var6) {}
return a;
}
It's my first time trying to crack a client, i think he's sending a hash to the server but idk what to do now. If you find out, please write down what you did, so i can learn something :P