public static void DumpStackIfWeShould()
{
if (!DUMP_STACK)
return;
StackTraceElement[] arrayOfStackTraceElement = Thread.currentThread().getStackTrace();
String str = "Stack trace:\n";
for (int i = 4; ; i++)
{
if (i >= arrayOfStackTraceElement.length)
{
Log.d(LOG_TAG, str);
break;
}
str = str + " " + arrayOfStackTraceElement[i].toString() + "\n";
}
}
public static int checkSignatures()
{
if (DEBUG)
Log.d(LOG_TAG, "checkSignatures returning true");
DumpStackIfWeShould();
return 0;
}
public static int checkSignatures(String paramString1, String paramString2)
{
if (DEBUG)
Log.d(LOG_TAG, "checkSignatures returning true");
DumpStackIfWeShould();
return 0;
}
public static int getApplicationEnabledSetting(PackageManager paramPackageManager, String paramString)
{
try
{
int j = paramPackageManager.getApplicationEnabledSetting(paramString);
i = j;
if (i == 2)
i = 0;
if (DEBUG)
Log.d(LOG_TAG, "enabledSetting returning " + i);
DumpStackIfWeShould();
return i;
}
catch (IllegalArgumentException localIllegalArgumentException)
{
while (true)
int i = 0;
}
}
public static String getInstallerPackageName(String paramString)
{
if (DEBUG)
Log.d(LOG_TAG, "getInstallerPackageName returning " + "com.google.android.feedback");
DumpStackIfWeShould();
return "com.google.android.feedback";
}
public static PackageInfo getPackageInfo(PackageManager paramPackageManager, String paramString, int paramInt)
throws PackageManager.NameNotFoundException
{
try
{
PackageInfo localPackageInfo2 = paramPackageManager.getPackageInfo(paramString, paramInt);
localPackageInfo1 = localPackageInfo2;
if ((paramInt & 0x40) == 64)
{
arrayOfSignature = spoofSignatures();
i = 0;
if (i >= localPackageInfo1.signatures.length)
{
if (DEBUG)
Log.d(LOG_TAG, "spoofing signatures for " + paramString);
DumpStackIfWeShould();
}
}
else
{
return localPackageInfo1;
}
}
catch (PackageManager.NameNotFoundException localNameNotFoundException)
{
while (true)
{
Signature[] arrayOfSignature;
int i;
if ((!paramString.toLowerCase().contains("pro")) && (!paramString.toLowerCase().contains("full")) && (!paramString.toLowerCase().contains("donate")) && (!paramString.toLowerCase().endsWith("key")))
throw new PackageManager.NameNotFoundException();
PackageInfo localPackageInfo1 = paramPackageManager.getPackageInfo("com.sp.protector", paramInt);
continue;
localPackageInfo1.signatures[i] = arrayOfSignature[i];
i++;
}
}
}
public static long lastModified(File paramFile)
{
long l = Long.parseLong("1297973242171");
if (DUMP_STACK)
Thread.dumpStack();
if (!shouldSpoofFileInfo(paramFile))
{
l = paramFile.lastModified();
if (DEBUG)
Log.d(LOG_TAG, "spoofing file modified of " + paramFile.getName() + " with " + l);
DumpStackIfWeShould();
}
return l;
}
public static long length(File paramFile)
{
long l = Long.parseLong("353384");
if (!shouldSpoofFileInfo(paramFile))
{
l = paramFile.length();
if (DEBUG)
Log.d(LOG_TAG, "spoofing file length of " + paramFile.getName() + " with " + l);
DumpStackIfWeShould();
}
return l;
}
private static boolean shouldSpoofFileInfo(File paramFile)
{
int i = 0;
if (paramFile.exists())
i = 0;
if (paramFile.getName().contains("com.sp.protector"))
i = 1;
return i;
}
public static Signature[] spoofSignatures()
{
int i = Integer.parseInt("55");
Signature[] arrayOfSignature = new Signature[i];
for (int j = 0; ; j++)
{
if (j >= i)
return arrayOfSignature;
arrayOfSignature[j] = new Signature("308201e930820152a00302010202044c7b6c58300d06092a864886f70d01010505003038310b3009060355040613026b6f3110300e06035504071307496e6368656f6e311730150603550403130e596f756e672d48616b204a756e673020170d3130303833303038333132305a180f32303630303831373038333132305a3038310b3009060355040613026b6f3110300e06035504071307496e6368656f6e311730150603550403130e596f756e672d48616b204a756e6730819f300d06092a864886f70d010101050003818d0030818902818100866ee8f701db04c2ff4272f837280cab955bce9fa87e4f6b7040f58cf94e83235080013093d121be49a7abab8eee67bba6770c9a50d5648aecca5f82f9ba5b1b409968e02976873efe6fb6a8c8494972d4da5fe80e2102a780353a11807df9979a88a292d51cf5ad80df344f79470235bb1ed782e94d9877d73d54c9638bf5290203010001300d06092a864886f70d01010505000381810031dc83cbcc282afb27df81dcca9b91fcf6fcb63f72325bf71dd82429644537f0ef6b3b3b769bf1967ff14cc782991df01d6bcebbfeba2a6ba058334d44af31fdb0ab2635496a319b86210a43ad9dc9ac4de2ccb57f2b4f770fb97219f264020328763fd1840b528966c4f3c7c74fc62a98a8db2938da8c0844d3933328af9ede");
}
}
}