public override void SetUp() { var salt = new byte[] { 104, 12, 112, 82, 85, 10, 11, 61, 15, 54, 44, 66, 117, 89, 64, 110, 53, 123, 33 }; string deviceId = Settings.Secure.GetString(Context.ContentResolver, Settings.Secure.AndroidId); this.policy = new ServerManagedPolicy(Context, new AesObfuscator(salt, Context.PackageName, deviceId)); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); RequestWindowFeature(WindowFeatures.IndeterminateProgress); SetContentView(Resource.Layout.Main); this.checkLicenseButton = FindViewById<Button>(Resource.Id.MyButton); this.checkLicenseButton.Click += delegate { this.DoCheck(); }; // Try to use more data here. ANDROID_ID is a single point of attack. string deviceId = Settings.Secure.GetString(ContentResolver, Settings.Secure.AndroidId); // Construct the LicenseChecker with a policy. var obfuscator = new AesObfuscator(Salt, this.PackageName, deviceId); var policy = new ServerManagedPolicy(this, obfuscator); this.checker = new LicenseChecker(this, policy, Base64PublicKey); this.DoCheck(); }
private void CheckLicense() { string deviceId = Settings.Secure.GetString(ContentResolver, Settings.Secure.AndroidId); // Construct the LicenseChecker with a policy. var obfuscator = new AesObfuscator(Salt, PackageName, deviceId); var policy = new ServerManagedPolicy(this, obfuscator); _licenseChecker = new LicenseChecker(this, policy, Xamarin.InAppBilling.Utilities.Security.Unify(new[] { GetNumberString (3), GetNumberString (6), GetNumberString (1), GetNumberString (4), GetNumberString (2), GetNumberString (7), GetNumberString (0), GetNumberString (5) }, new[] { 0, 1, 2, 3, 4, 5, 6, 7 })); _licenseChecker.CheckAccess(this); }