Anda di halaman 1dari 5

// code di bawah adalah untuk perhitungan password usb debug

// Andromax G2 alias AD681H


// dengan Build Number : Smartfren Andromax AD681H V3.5
// Build Date : 29 April 2014
// Silahkan dites run dengan AIDE Pro

import java.security.MessageDigest;

public class Main


{
public static void main(String[] args)
{
//Ganti MEID dan IMEI (warna merah) di bawah dengan punya agan
//MEID wajib 14 character, di mana huruf harus diketik dengan huruf besar dan I
MEI wajib 15 digit
//bisa diliat lewat dialpad *#06# atau Settings > About phone > Status > IMEI i
nformation
//Contoh :
// String meid = "A0000123456789";
// String imei = "123456789012345";
// Password USB debug nya pasti terdiri dari 10 character hexadecimal

String meid = "A0000123456789"; //tanda petik jangan dihapus


String imei = "123456789012345"; //tanda petik jangan dihapus
String pass = checkPassword(imei, meid);
System.out.println("Password USB Debug agan adalah : " + pass);
}

private static String checkPassword(String s1, String s2)


{
/*String s = mEditText.getText().toString().trim();

TelephonyManager _tmp = (TelephonyManager)getActivity().getSystemService


("phone");
String s1 = MSimTelephonyManager.getDefault().getDeviceId(1);
String s2 = MSimTelephonyManager.getDefault().getDeviceId(0);
*/
if (s1 != null && s2 != null)
{
char ac[] = new char[15];
int ai[] = new int[15];
if (s1.length() < 15)
s1 = padLeft(s1, 15, '0');
else
if (s1.length() > 15)
s1 = s1.substring(0, 15);
if (s2.length() < 15)
s2 = padLeft(s2, 15, '0');
else
if (s2.length() > 15)
s2 = s2.substring(0, 15);
for (int i = 0; i < 15; i++)
{
ai[i] = Integer.parseInt(s1.substring(i, i + 1)) + s2.charAt(i);
ac[i] = (char)ai[i];
}

String s3 = new String(ac);


String s4 = Encrypt(s3, "SHA-1");
String s5 = s4.substring(-10 + s4.length(), s4.length());
return s5;

} else

{
return "MEID/IMEI kosong";
}
}

static String padLeft(String s, int i, char c)


{
String s1 = "";
int j = s.length();
if (j < i)
{
for (int k = 0; k < i - j;)
{
String s2 = (new StringBuilder()).append(s1).append(c).toString(
);
k++;
s1 = s2;
}

}
StringBuffer stringbuffer = new StringBuffer();
stringbuffer.append(s);
stringbuffer.append(s1);
return stringbuffer.toString();
}

//bagian ini solved dengan memindahkan posisi catch dan modifikasi goto nya
public static String Encrypt(String s, String s1)
{
byte abyte0[];

String s2;

try
{
abyte0 = s.getBytes("UTF-8");
if ((s1 == null) || (s1.equals("")))
s1 = "MD5";
MessageDigest messagedigest = MessageDigest.getInstance(s1);
messagedigest.update(abyte0);
s2 = bytes2Hex(messagedigest.digest());
return s2;
}
catch (Exception exception)
{
System.out.println("Invalid algorithm.");
return null;
}
}

public static String bytes2Hex(byte abyte0[])


{
String s = "";
for (int i = 0; i < abyte0.length;)
{
String s1 = Integer.toHexString(0xff & abyte0[i]);
if (s1.length() == 1)
s = (new StringBuilder()).append(s).append("0").toString();
String s2 = (new StringBuilder()).append(s).append(s1).toString();
i++;
s = s2;

return s;
}
}

Anda mungkin juga menyukai