Resigning our public release isn't good ;)
This commit is contained in:
parent
3cda974475
commit
016be4ab0f
2 changed files with 67 additions and 2 deletions
|
@ -54,6 +54,7 @@ import java.net.URL;
|
||||||
import org.json.*;
|
import org.json.*;
|
||||||
|
|
||||||
import in.celest.xash3d.hl.R;
|
import in.celest.xash3d.hl.R;
|
||||||
|
import in.celest.xash3d.XashActivity;
|
||||||
|
|
||||||
public class LauncherActivity extends Activity {
|
public class LauncherActivity extends Activity {
|
||||||
// public final static String ARGV = "in.celest.xash3d.MESSAGE";
|
// public final static String ARGV = "in.celest.xash3d.MESSAGE";
|
||||||
|
@ -89,6 +90,12 @@ public class LauncherActivity extends Activity {
|
||||||
super.setTheme( 0x01030224 );
|
super.setTheme( 0x01030224 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( XashActivity.dumbAntiPDALifeCheck( this ) )
|
||||||
|
{
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
setContentView(R.layout.activity_launcher);
|
setContentView(R.layout.activity_launcher);
|
||||||
|
|
||||||
TabHost tabHost = (TabHost) findViewById(R.id.tabhost);
|
TabHost tabHost = (TabHost) findViewById(R.id.tabhost);
|
||||||
|
|
|
@ -10,7 +10,7 @@ import android.app.*;
|
||||||
import android.content.*;
|
import android.content.*;
|
||||||
import android.view.*;
|
import android.view.*;
|
||||||
import android.os.*;
|
import android.os.*;
|
||||||
import android.util.Log;
|
import android.util.*;
|
||||||
import android.graphics.*;
|
import android.graphics.*;
|
||||||
import android.text.method.*;
|
import android.text.method.*;
|
||||||
import android.text.*;
|
import android.text.*;
|
||||||
|
@ -18,11 +18,15 @@ import android.media.*;
|
||||||
import android.hardware.*;
|
import android.hardware.*;
|
||||||
import android.content.*;
|
import android.content.*;
|
||||||
import android.widget.*;
|
import android.widget.*;
|
||||||
|
import android.content.pm.*;
|
||||||
|
|
||||||
import android.view.inputmethod.*;
|
import android.view.inputmethod.*;
|
||||||
|
|
||||||
import java.lang.*;
|
import java.lang.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
|
||||||
|
import in.celest.xash3d.hl.BuildConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Xash Activity
|
Xash Activity
|
||||||
|
@ -65,18 +69,72 @@ public class XashActivity extends Activity {
|
||||||
// Audio
|
// Audio
|
||||||
private static Thread mAudioThread;
|
private static Thread mAudioThread;
|
||||||
private static AudioTrack mAudioTrack;
|
private static AudioTrack mAudioTrack;
|
||||||
|
|
||||||
|
// Certificate checking
|
||||||
|
private static String SIG = "DMsE8f5hlR7211D8uehbFpbA0n8=";
|
||||||
|
private static String SIG_TEST = ""; // a1ba: mittorn, add your signature later
|
||||||
|
|
||||||
// Load the .so
|
// Load the .so
|
||||||
static {
|
static {
|
||||||
System.loadLibrary("xash");
|
System.loadLibrary("xash");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Shared between this activity and LauncherActivity
|
||||||
|
public static boolean dumbAntiPDALifeCheck( Context context )
|
||||||
|
{
|
||||||
|
if( BuildConfig.DEBUG )
|
||||||
|
return false; // disable checking for debug builds
|
||||||
|
|
||||||
|
final boolean isTest = context.getPackageName().contains("test");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
PackageInfo info = context.getPackageManager()
|
||||||
|
.getPackageInfo( context.getPackageName(), PackageManager.GET_SIGNATURES );
|
||||||
|
|
||||||
|
for( Signature signature: info.signatures )
|
||||||
|
{
|
||||||
|
MessageDigest md = MessageDigest.getInstance( "SHA" );
|
||||||
|
final byte[] signatureBytes = signature.toByteArray();
|
||||||
|
|
||||||
|
md.update( signatureBytes );
|
||||||
|
|
||||||
|
final String curSIG = Base64.encodeToString( md.digest(), Base64.NO_WRAP );
|
||||||
|
|
||||||
|
if( isTest )
|
||||||
|
{
|
||||||
|
if( SIG_TEST.equals(curSIG) )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( SIG.equals(curSIG) )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch( Exception e )
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
Log.e(TAG, "Please, don't resign our public release builds!");
|
||||||
|
Log.e(TAG, "If you want to insert some features, rebuild package with ANOTHER package name from git repository.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Setup
|
// Setup
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
Log.v(TAG, "onCreate()");
|
Log.v(TAG, "onCreate()");
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
if( dumbAntiPDALifeCheck(this) )
|
||||||
|
{
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// So we can call stuff from static callbacks
|
// So we can call stuff from static callbacks
|
||||||
mSingleton = this;
|
mSingleton = this;
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
|
|
Loading…
Add table
Reference in a new issue