Beispiel #1
0
    static float SecureToNormal(SecureFloat _f)
    {
        int i = _f.m_value;

        byte[] bs = System.BitConverter.GetBytes(i);
        return(System.BitConverter.ToSingle(bs, 0));
    }
 internal void SetLife2(float obj)
 {
     if (float.IsNaN(obj))
     {
         Debug.LogError("Set Nan detected ");
         life = 66;
     }
     else
     {
         life = obj;
     }
     RefreshText();
 }
Beispiel #3
0
    public void Setup()
    {
        Collider collider = GetComponent <Collider>();

        playerid        = collider.name;
        characterStates = gameObject.GetComponent <CharacterStates>();

        wasEnabled = new bool[disableOnDeath.Length];
        for (int i = 0; i < wasEnabled.Length; i++)
        {
            wasEnabled[i] = disableOnDeath[i].enabled;
        }

        currentHP = new SecureFloat(maxHP);
        SetDefaults();

        lifeBarRectTransform = (RectTransform)panelCurrentHP.transform;
        ammoCountText.text   = characterStates.AmmoCount.ToString();
    }
 public void SetScore2(float score)
 {
     if (_Loader.race)
     {
         return;
     }
     //print(playerName + " Set Score " + score);
     //if ()
     //{
     //    if (firstPlace)
     //    {
     //        if (_Loader.dm)
     //            DeathMatchOrCtf.Add();
     //        else
     //            WinInMultiplayerRace.Add();
     //    }
     //}
     if (IsMine)
     {
         SetCustomProperty(ServerProps.score2 + ":" + playerNameClan, score);
         _Player.hud.PlayScore((score - this.score).ToString("+0;-0"), Color.red);
     }
     this.score = score;
 }
        public void Tests()
        {
            SecureShort  secureShort  = new SecureShort(500);
            SecureInt    secureInt    = new SecureInt(100000);
            SecureLong   secureLong   = new SecureLong(10000000000);
            SecureFloat  secureFloat  = new SecureFloat(123.456789f);
            SecureDouble secureDouble = new SecureDouble(123.456789d);
            SecureString secureString = new SecureString("secure");

            Assert.IsTrue(secureShort == 500);
            Assert.IsTrue(secureInt == 100000);
            Assert.IsTrue(secureLong == 10000000000);
            Assert.IsTrue(secureFloat == 123.456789f);
            Assert.IsTrue(secureDouble == 123.456789d);
            Assert.IsTrue(secureString == "secure");
            Assert.IsTrue(new SecureVec2(new Vec2(10f, 10f)) == new Vec2(10f, 10f));
            Assert.IsTrue(new SecureVec3(new Vec3(10f, 10f, 10f)) == new Vec3(10f, 10f, 10f));
            Assert.IsTrue(new SecureVec4(new Vec4(10f, 10f, 10f, 10f)) == new Vec4(10f, 10f, 10f, 10f));

            secureInt.Set(123);
            secureString.Set("network");
            Assert.IsTrue(secureInt == 123);
            Assert.IsTrue(secureString == "network");
        }
 public void SetScore(int score)
 {
     //print(playerName + " Set Score " + score);
     this.score = score;
 }
 internal void SetLife2(float obj)
 {
     if (float.IsNaN(obj))
     {
         Debug.LogError("Set Nan detected ");
         life = 66;
     }
     else
         life = obj;
     RefreshText();
 }
Beispiel #8
0
    void Start()
    {
        // 改ざん検出方法
        TamperDetector.Instance.Mode = TamperDetectionMode.CheckSum;

        // 改ざん検出時
        TamperDetector.Instance.Detected += value =>
        {
            Debug.Log("メモリ改ざんが検出されました!");
        };

        var v = new SecureValue <int>(1);

        Debug.Log(v);
        v.Value = 100;
        Debug.Log(v);

        var v2 = new SecureFloat(1.1f);

        Debug.Log(v2);

        var v3 = new SecureDouble(2.2);

        Debug.Log(v3);

        var v4 = new SecureDateTime(DateTime.UtcNow);

        Debug.Log(v4);

        var v5 = new SecureString("Hello world");

        Debug.Log(v5);

        var v6 = new SecureDecimal(3.3m);

        Debug.Log(v6);

        var v7 = new SecureBool(false);

        Debug.Log(v7);

        var v8 = new SecureLong(4);

        Debug.Log(v8);

        var v9 = new SecureShort(5);

        Debug.Log(v9);

        var v10 = new SecureByte(6);

        Debug.Log(v10);

        // 無理やりメモリ上の値を改ざん (valueをpublicにして確認可能)
        // 変数値にアクセスした時に改ざんイベントが発火される
        // v.value = 9999;
        // Debug.Log(v);

        // SecureValue全ての検証をする
        Debug.Log(TamperDetector.Instance.DetectCheckAll() ? "改ざんが検知されました!" : "改ざんは検知されませんでした。");

        // 個別に検証も可能
        Debug.Log(v.Invalid ? "改ざんが検知されました!" : "改ざんは検知されませんでした。");
    }