示例#1
0
        // Hack to work around improper OO design
        protected override void Render(HtmlTextWriter output)
        {
            Uri url = null;

            try
            {
                url = new Uri(this.NavigateUrl);

                if (url.Scheme == Uri.UriSchemeHttp ||
                    url.Scheme == Uri.UriSchemeHttps ||
                    url.Scheme == Uri.UriSchemeMailto)
                {
                    string _reformText = Text;

                    NavigateUrl = url.ToString();
                    Text        = Reform.HtmlEncode(_reformText);

                    base.Render(output);

                    Text = _reformText;
                }
                else
                {
                    throw new ReformUrlException(url, "IOActive.Reform.ReformHyperLink::Render()");
                }
            }
            catch (UriFormatException)
            {
                throw new ReformUrlException(null, this.NavigateUrl);
            }
        }
示例#2
0
        public void VbsString()
        {
            Assert.AreEqual("\"abc\"&chrw(60)",
                            Reform.VbsString("abc<"));
            Assert.AreEqual("chrw(60)&\"abc\"",
                            Reform.VbsString("<abc"));
            // Non encoded characters
            Assert.AreEqual("\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.\"",
                            Reform.VbsString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,."), "Non encoding chars");
            // Usual suspects
            Assert.AreEqual("chrw(60)&chrw(62)&chrw(38)&chrw(34)&chrw(92)&chrw(39)",
                            Reform.VbsString("<>&\"\\'"), "Usual suspects");
            // Other characters
            Assert.AreEqual("chrw(96)&chrw(126)&chrw(33)&chrw(64)&chrw(35)&chrw(36)&chrw(37)&chrw(94)&chrw(38)&chrw(42)&chrw(40)&chrw(41)&chrw(95)&chrw(43)&chrw(61)&chrw(45)&chrw(123)&chrw(125)&chrw(124)&chrw(92)&chrw(93)&chrw(91)&chrw(58)&chrw(59)&chrw(39)&chrw(47)&chrw(63)&chrw(62)&chrw(60)",
                            Reform.VbsString("`~!@#$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation");
            // Unicode characters
            StringBuilder toEncode   = new StringBuilder(6000);
            StringBuilder encodedStr = new StringBuilder(42000);

            for (uint i = 128; i < 6000; i++)
            {
                toEncode.Append((char)i);
                encodedStr.Append(String.Format("&chrw({0})", (int)i));
            }
            encodedStr.Remove(0, 1);             // remove &

            Assert.AreEqual(encodedStr.ToString(),
                            Reform.VbsString(toEncode.ToString()), "Unicode characters to 6000");
        }
示例#3
0
        public void JsString()
        {
            // Non encoded characters
            Assert.AreEqual("'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.'",
                            Reform.JsString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,."), "Non encoding chars");
            // Usual suspects
            Assert.AreEqual("'\\x3C\\x3E\\x26\\x22\\x5C\\x27'",
                            Reform.JsString("<>&\"\\'"), "Usual suspects");
            // Other characters
            Assert.AreEqual("'\\x60\\x7E\\x21\\x40\\x23\\x24\\x25\\x5E\\x26\\x2A\\x28\\x29\\x5F\\x2B\\x3D\\x2D\\x7B\\x7D\\x7C\\x5C\\x5D\\x5B\\x3A\\x3B\\x27\\x2F\\x3F\\x3E\\x3C'",
                            Reform.JsString("`~!@#$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation");
            // Unicode characters
            StringBuilder toEncode   = new StringBuilder(6000);
            StringBuilder encodedStr = new StringBuilder(42000);

            encodedStr.Append('\'');
            for (uint i = 128; i < 6000; i++)
            {
                toEncode.Append((char)i);
                encodedStr.Append(String.Format("\\u{0:X4}", (int)i));
            }
            encodedStr.Append('\'');
            Assert.AreEqual(encodedStr.ToString(),
                            Reform.JsString(toEncode.ToString()), "Unicode characters to 6000");
        }
示例#4
0
        protected override void Render(HtmlTextWriter output)
        {
            string _reformText = Text;

            Text = Reform.HtmlEncode(_reformText);
            base.Render(output);
            Text = _reformText;
        }
示例#5
0
 public void UpdateInfo(Vector3 pos)
 {
     score++;
     info.text = "Level: " + curLvl + "\nScore: " + score;
     if (score % 4 == 0)
     {
         GameObject newo   = Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/BlockDown"));
         Reform     reform = newo.GetComponent <Reform>();
         reform.NewBlock(pos);
     }
 }
示例#6
0
        public void XmlAttributeEncodeDefault()
        {
            Assert.AreEqual("",
                            Reform.XmlAttributeEncode(null, null), "Null for both parameters");
            // Usual stuff
            Assert.AreEqual("default",
                            Reform.XmlAttributeEncode(null, "default"), "Checking default");

            // Non encoded characters
            Assert.AreEqual("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321",
                            Reform.XmlAttributeEncode(null, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321"), "Non encoding chars via default");
            // Usual suspects
            Assert.AreEqual("&#60;&#62;&#38;&#34;",
                            Reform.XmlAttributeEncode(null, "<>&\""), "Usual suspects via default");
            // Other characters
            Assert.AreEqual("&#32;&#44;&#46;&#96;&#126;&#33;&#64;&#35;&#36;&#37;&#94;&#38;&#42;&#40;&#41;&#95;&#43;&#61;&#45;&#123;&#125;&#124;&#92;&#93;&#91;&#58;&#59;&#39;&#47;&#63;&#62;&#60;",
                            Reform.XmlAttributeEncode(null, " ,.`~!@#$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation via default");
            // Unicode characters
            StringBuilder toEncode   = new StringBuilder(6000);
            StringBuilder encodedStr = new StringBuilder(42000);

            for (uint i = 127; i < 6000; i++)
            {
                toEncode.Append((char)i);
                encodedStr.Append("&#").Append((int)i).Append(';');
            }
            Assert.AreEqual(encodedStr.ToString(),
                            Reform.XmlAttributeEncode(null, toEncode.ToString()), "Unicode characters to 6000 via default");

            // The following are sanity checks

            // Non encoded characters
            Assert.AreEqual("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321",
                            Reform.XmlAttributeEncode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", "default"), "Non encoding chars");
            // Usual suspects
            Assert.AreEqual("&#60;&#62;&#38;&#34;",
                            Reform.XmlAttributeEncode("<>&\"", "default"), "Usual suspects");
            // Other characters
            Assert.AreEqual("&#32;&#44;&#46;&#96;&#126;&#33;&#64;&#35;&#36;&#37;&#94;&#38;&#42;&#40;&#41;&#95;&#43;&#61;&#45;&#123;&#125;&#124;&#92;&#93;&#91;&#58;&#59;&#39;&#47;&#63;&#62;&#60;",
                            Reform.XmlAttributeEncode(" ,.`~!@#$%^&*()_+=-{}|\\][:;'/?><", "default"), "Punctuation");
            // Unicode characters
            toEncode   = new StringBuilder(6000);
            encodedStr = new StringBuilder(42000);
            for (uint i = 127; i < 6000; i++)
            {
                toEncode.Append((char)i);
                encodedStr.Append("&#").Append((int)i).Append(';');
            }
            Assert.AreEqual(encodedStr.ToString(),
                            Reform.XmlAttributeEncode(toEncode.ToString(), "default"), "Unicode characters to 6000");
        }
示例#7
0
        static void Main()
        {
            string     inputText = "ШМОНИН";
            int        p         = 13;
            int        q         = 19;
            BigInteger n         = p * q;
            int        fi        = (p - 1) * (q - 1);
            int        d         = 115;
            int        H0        = 13;
            BigInteger hash      = Reform.NumberLetters(inputText, n, H0);
            //Console.WriteLine("Хеш-образ:" + hash);
            //Console.WriteLine("Простое число:" + n);
            int e = Reform.FindE(fi, d);
            //Console.WriteLine("Открытый ключ:" + e);
            BigInteger signature = BigInteger.ModPow(hash, d, n);

            Console.WriteLine("ЭЦП:" + signature);
            Control(e, n, hash, signature);
            Console.ReadKey();
        }
示例#8
0
        public void HtmlEncode()
        {
            // Non encoded characters
            Assert.AreEqual("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.",
                            Reform.HtmlEncode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,."), "Non encoding chars");
            // Usual suspects
            Assert.AreEqual("&#60;&#62;&#38;&#34;",
                            Reform.HtmlEncode("<>&\""), "Usual suspects");
            // Other characters
            Assert.AreEqual("&#96;&#126;&#33;&#64;&#35;&#36;&#37;&#94;&#38;&#42;&#40;&#41;&#95;&#43;&#61;&#45;&#123;&#125;&#124;&#92;&#93;&#91;&#58;&#59;&#39;&#47;&#63;&#62;&#60;",
                            Reform.HtmlEncode("`~!@#$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation");
            // Unicode characters
            StringBuilder toEncode   = new StringBuilder(6000);
            StringBuilder encodedStr = new StringBuilder(42000);

            for (uint i = 127; i < 6000; i++)
            {
                toEncode.Append((char)i);
                encodedStr.Append("&#").Append((int)i).Append(';');
            }
            Assert.AreEqual(encodedStr.ToString(),
                            Reform.HtmlEncode(toEncode.ToString()), "Unicode characters to 6000");
        }
示例#9
0
            /// <summary>
            ///     Return bitmap of the IMGD file
            ///     <param name="si">MemoryStream of the IMGD file/param>
            /// </summary>
            public static PicIMGD GetIMGD(MemoryStream si)
            {
                si.Position = 0L;
                if (si.ReadByte() != 73)
                {
                    throw new NotSupportedException("!IMGD");
                }
                if (si.ReadByte() != 77)
                {
                    throw new NotSupportedException("!IMGD");
                }
                if (si.ReadByte() != 71)
                {
                    throw new NotSupportedException("!IMGD");
                }
                if (si.ReadByte() != 68)
                {
                    throw new NotSupportedException("!IMGD");
                }
                var binaryReader = new BinaryReader(si);

                binaryReader.ReadInt32();
                int num    = binaryReader.ReadInt32();
                int count  = binaryReader.ReadInt32();
                int num2   = binaryReader.ReadInt32();
                int count2 = binaryReader.ReadInt32();

                si.Position = 28L;
                int num3 = binaryReader.ReadUInt16();
                int num4 = binaryReader.ReadUInt16();

                si.Position = 38L;
                int num5 = binaryReader.ReadUInt16();

                si.Position = 60L;
                int  num6 = binaryReader.ReadByte();
                bool flag = num6 == 7;

                si.Position = num;
                byte[] array = binaryReader.ReadBytes(count);
                si.Position = num2;
                byte[] array2 = binaryReader.ReadBytes(count2);
                int    num7   = num3;
                int    num8   = num4;

                if (num5 == 19)
                {
                    int        num9       = num3 / 128;
                    int        num10      = num4 / 64;
                    int        bw         = num9;
                    int        bh         = num10;
                    byte[]     array3     = flag ? Reform.Decode8(Reform.Encode32(array, num9, num10), bw, bh) : array;
                    var        bitmap     = new Bitmap(num7, num8, PixelFormat.Format8bppIndexed);
                    BitmapData bitmapData = bitmap.LockBits(Rectangle.FromLTRB(0, 0, num7, num8),
                                                            ImageLockMode.WriteOnly,
                                                            PixelFormat.Format8bppIndexed);
                    try
                    {
                        Marshal.Copy(array3, 0, bitmapData.Scan0, array3.Length);
                    }
                    finally
                    {
                        bitmap.UnlockBits(bitmapData);
                    }
                    var array4 = new byte[8192];
                    Array.Copy(array2, 0, array4, 0, Math.Min(8192, array2.Length));
                    byte[]       array5  = array4;
                    ColorPalette palette = bitmap.Palette;
                    for (int i = 0; i < 256; i++)
                    {
                        int num11 = i;
                        int num12 = Reform.pals.repl(i);
                        palette.Entries[num12] = Color.FromArgb(Math.Min(255, array5[4 * num11 + 3] * 2), array5[4 * num11],
                                                                array5[4 * num11 + 1], array5[4 * num11 + 2]);
                    }
                    bitmap.Palette = palette;
                    return(new PicIMGD(bitmap));
                }
                if (num5 == 20)
                {
                    int    num13  = num3 / 128;
                    int    num14  = num4 / 128;
                    int    bw2    = num13;
                    int    bh2    = num14;
                    byte[] array6 = flag
                        ? Reform.Decode4(Reform.Encode32(array, num13, num14), bw2, bh2)
                        : HLUt.Swap(array);
                    var        bitmap2     = new Bitmap(num7, num8, PixelFormat.Format4bppIndexed);
                    BitmapData bitmapData2 = bitmap2.LockBits(Rectangle.FromLTRB(0, 0, num7, num8),
                                                              ImageLockMode.WriteOnly,
                                                              PixelFormat.Format4bppIndexed);
                    try
                    {
                        Marshal.Copy(array6, 0, bitmapData2.Scan0, array6.Length);
                    }
                    finally
                    {
                        bitmap2.UnlockBits(bitmapData2);
                    }
                    var array7 = new byte[8192];
                    Array.Copy(array2, 0, array7, 0, Math.Min(8192, array2.Length));
                    byte[]       array8   = array7;
                    ColorPalette palette2 = bitmap2.Palette;
                    for (int j = 0; j < 16; j++)
                    {
                        int num15 = j;
                        int num16 = j;
                        palette2.Entries[num16] = Color.FromArgb(Math.Min(255, array8[4 * num15 + 3] * 2), array8[4 * num15],
                                                                 array8[4 * num15 + 1], array8[4 * num15 + 2]);
                    }
                    bitmap2.Palette = palette2;
                    return(new PicIMGD(bitmap2));
                }
                throw new NotSupportedException("v26 = " + num5.ToString("X"));
            }