System.Collections.Generic.List.Add(byte)

Here are the examples of the csharp api System.Collections.Generic.List.Add(byte) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

1493 Examples 7

19 View Source File : Form1.cs
License : Apache License 2.0
Project Creator : 1694439208

private void button5_Click(object sender, EventArgs e)
        {
            byte[] jmp_inst =
            {
                233,0,0,0,0,//JMP Address
            };
            int Method = NativeAPI.GetMethodPTR(typeof(WeChetHook), "Callback");
            textBox3.Text = (3212659 + int.Parse(label1.Text)).ToString();

            List<byte> byteSource = new List<byte>();
            byteSource.AddRange(new byte[] { 199, 134, 236, 2, 0, 0 });//mov dword [esi+0x000002EC],
            byteSource.AddRange(BitConverter.GetBytes(int.Parse(textBox3.Text) + 5));//0x00000000  把hook的后五个字节地址压进寄存器
            byteSource.AddRange(jmp_inst);//让他跳到跳板函数
            //这部分根据实际情况填写
            byteSource.Add(185);//补充替换的汇编指令
            byteSource.AddRange(BitConverter.GetBytes(int.Parse(label1.Text) + 19255272));//补充替换的汇编指令地址
            //开始hook
            Inline_Hook.InlineHook(int.Parse(textBox3.Text),5, byteSource.ToArray(), getInt(Method),11+10,"接收消息",(obj) =>{
                StringBuilder sb = new StringBuilder();
                sb.Append("接收消息:");
                int a = 0x68;
                //System.Windows.Forms.MessageBox.Show("esp:"+a.ToString());
                try
                {
                    if (obj.ESP == 0)
                        return;
                    int MsgPtr = NativeAPI.ReadMemoryValue(obj.ESP);
                    if (MsgPtr == 0)
                        return;
                    MsgPtr = NativeAPI.ReadMemoryValue(MsgPtr);
                    if (MsgPtr == 0)
                        return;
                    MsgPtr = NativeAPI.ReadMemoryValue(MsgPtr + 0x68);
                    if (MsgPtr == 0)
                        return;
                    int len = NativeAPI.lstrlenW(MsgPtr);
                    if (len == 0)
                        return;
                    sb.Append(NativeAPI.ReadMemoryStrValue(MsgPtr, len*2+2));
                    sb.Append("\r\n");
                    listBox1.Items.Add(sb.ToString());
                }
                catch (Exception es)
                {
                    File.AppendAllText("error.txt", es.Message);
                }
            });
        }

19 View Source File : Inline_Hook.cs
License : Apache License 2.0
Project Creator : 1694439208

public static IntPtr InlineHook(int HookAddress, int Hooklen,
            byte[] HookBytes0,int Callback,int CallbackOffset,
            bool IsFront,int CallAddress,string name, Action<Methods.Register> func)
        {
            WeChetHook.DllcallBack dllcallBack = new WeChetHook.DllcallBack((de1, de2, ECX1, EAX1, EDX1, EBX1, ESP1, EBP1, ESI1, EDI1) => {
                func(new Register
                {
                    EAX = EAX1,
                    EBP = EBP1,
                    EBX = EBX1,
                    ECX = ECX1,
                    EDI = EDI1,
                    EDX = EDX1,
                    ESI = ESI1,
                    ESP = ESP1
                });
            });
            int CallHandle = ComputeHash(name);
            Methods.callBacks.Add(CallHandle, dllcallBack);

            List<byte> byteSource1 = new List<byte>();
            byteSource1.AddRange(new byte[] { 199, 134, 240, 2, 0, 0 });
            byteSource1.AddRange(BitConverter.GetBytes(CallHandle));
            byteSource1.AddRange(HookBytes0);

            byte[] hookbytes = byteSource1.ToArray();


            List<byte> byteSource = new List<byte>();
            IntPtr ptr = NativeAPI.VirtualAlloc(0, 128, 4096, 64);
            if (IsFront)
            {
                NativeAPI.WriteProcessMemory(-1, ptr, Add(new byte[] { 232 }, Inline_GetBuf(ptr, CallAddress)), 5, 0);
                NativeAPI.WriteProcessMemory(-1, ptr + 5, hookbytes, hookbytes.Length, 0);
                NativeAPI.WriteProcessMemory(-1, ptr + 5 + CallbackOffset, Inline_GetBuf(ptr + 5 + CallbackOffset - 1, Callback), 4, 0);
                NativeAPI.WriteProcessMemory(-1, ptr + 5 + hookbytes.Length, Add(new byte[] { 233 }, Inline_GetBuf(ptr + 5 + HookBytes0.Length, HookAddress + Hooklen)), 5, 0);
            }
            else {
                NativeAPI.WriteProcessMemory(-1, ptr, hookbytes, hookbytes.Length, 0);
                NativeAPI.WriteProcessMemory(-1, ptr + CallbackOffset, Inline_GetBuf(ptr + CallbackOffset - 1, Callback), 4, 0);
                NativeAPI.WriteProcessMemory(-1, ptr + hookbytes.Length,Add(new byte[] { 232 },Inline_GetBuf(ptr + hookbytes.Length, CallAddress)), Hooklen, 0);
                NativeAPI.WriteProcessMemory(-1, ptr + Hooklen + hookbytes.Length, Add(new byte[] { 233 }, Inline_GetBuf(ptr + Hooklen + HookBytes0.Length, HookAddress + Hooklen)), 5, 0);
            }
            NativeAPI.WriteProcessMemory(-1, new IntPtr(HookAddress), Add(new byte[] { 233 }, Inline_GetBuf(HookAddress, ptr.ToInt32())), 5, 0);
            for (int i = 0; i < Hooklen - 5; i++)
            {
                byteSource.Add(144);
            }
            byte[] ByteFill = byteSource.ToArray();
            NativeAPI.WriteProcessMemory(-1, new IntPtr(HookAddress + 5), ByteFill, ByteFill.Length, 0);
            return ptr;
        }

19 View Source File : Inline_Hook.cs
License : Apache License 2.0
Project Creator : 1694439208

public static IntPtr InlineHook(int HookAddress, int Hooklen,
            byte[] HookBytes0, int Callback, int CallbackOffset,string name, Action<Methods.Register> func)
        {

            WeChetHook.DllcallBack dllcallBack = new WeChetHook.DllcallBack((de1, de2, ECX1, EAX1, EDX1, EBX1, ESP1, EBP1, ESI1, EDI1) => {
                //int ECX, int EAX, int EDX, int EBX, int ESP, int EBP, int ESI, int EDI
                func(new Register
                {
                    EAX = EAX1,
                    EBP = EBP1,
                    EBX = EBX1,
                    ECX = ECX1,
                    EDI = EDI1,
                    EDX = EDX1,
                    ESI = ESI1,
                    ESP = ESP1
                });
            });
            int CallHandle = ComputeHash(name);
            System.Windows.Forms.MessageBox.Show("CallHandle:" + CallHandle.ToString());
            Methods.callBacks.Add(CallHandle, dllcallBack);

            List<byte> byteSource1 = new List<byte>();
            byteSource1.AddRange(new byte[] { 199, 134, 240, 2, 0, 0 });
            byteSource1.AddRange(BitConverter.GetBytes(CallHandle));//把标识指针绑定到寄存器我觉得不靠谱但是目前没啥问题
            byteSource1.AddRange(HookBytes0);

            byte[] hookbytes = byteSource1.ToArray();


            List<byte> byteSource = new List<byte>();
            IntPtr ptr = NativeAPI.VirtualAlloc(0, 128, 4096, 64);
            NativeAPI.WriteProcessMemory(-1, ptr, hookbytes, hookbytes.Length, 0);
            NativeAPI.WriteProcessMemory(-1, ptr + CallbackOffset, Inline_GetBuf(ptr + CallbackOffset - 1, Callback), 4, 0);
            NativeAPI.WriteProcessMemory(-1, ptr + hookbytes.Length, Add(new byte[] { 233 }, Inline_GetBuf(ptr + hookbytes.Length, HookAddress+ Hooklen)), 5, 0);

            NativeAPI.WriteProcessMemory(-1, new IntPtr(HookAddress), Add(new byte[] { 233 }, Inline_GetBuf(HookAddress, ptr.ToInt32())), 5, 0);
            for (int i = 0; i < Hooklen - 5; i++)
            {
                byteSource.Add(144);
            }
            byte[] ByteFill = byteSource.ToArray();
            NativeAPI.WriteProcessMemory(-1, new IntPtr(HookAddress + 5), ByteFill, ByteFill.Length, 0);
            return ptr;
        }

19 View Source File : Inline_Hook.cs
License : Apache License 2.0
Project Creator : 1694439208

public static IntPtr InlineHook(int HookAddress, int Hooklen,int Callback)
        {
            List<byte> byteSource = new List<byte>();
            NativeAPI.WriteProcessMemory(-1, new IntPtr(HookAddress), Add(new byte[] { 233 }, Inline_GetBuf(HookAddress, Callback)), 5, 0);
            for (int i = 0; i < Hooklen - 5; i++)
            {
                byteSource.Add(144);
            }
            byte[] ByteFill = byteSource.ToArray();
            NativeAPI.WriteProcessMemory(-1, new IntPtr(HookAddress + 5), ByteFill, ByteFill.Length, 0);
            return IntPtr.Zero;
        }

19 View Source File : Formatter.Array1.List.cs
License : MIT License
Project Creator : 1996v

public List<Byte> Deserialize(ref BssomReader reader, ref BssomDeserializeContext context)
        {
            if (reader.TryReadNullWithEnsureArray1BuildInType(BssomType.UInt8Code))
            {
                return default;
            }

            context.Option.Security.DepthStep(ref context);
            reader.SkipVariableNumber();
            int len = reader.ReadVariableNumber();
            List<byte> val = new List<Byte>(len);
            for (int i = 0; i < len; i++)
            {
                val.Add(reader.ReadUInt8WithOutTypeHead());
            }
            context.Depth--;
            return val;
        }

19 View Source File : Form1.cs
License : MIT License
Project Creator : 1y0n

private byte[] Random_Key()
        {
            string t = "";
            for (int i = 0; i < 23; i++)
            {
                RNGCryptoServiceProvider csp = new RNGCryptoServiceProvider();
                byte[] byteCsp = new byte[23];
                csp.GetBytes(byteCsp);
                t = BitConverter.ToString(byteCsp);
            }
            string[] t_array = t.Split('-');
            List<byte> key_list = new List<byte>();

            foreach (string i in t_array)
            {
                key_list.Add(string_to_int(i));
            }

            return key_list.ToArray();
        }

19 View Source File : Form1.cs
License : MIT License
Project Creator : 1y0n

private string Handle_Payload()
        {
            //对用户输入的payload进行一些转换处理,方便下一步的加密
            string raw_input = textBox1.Text.Trim().Replace("\r\n", "").Replace("\n", "").Replace("\r", ""); //支持多种linux win换行符
            string payload_pattern_csharp = @"\{(.+?)\}";
            string payload_pattern_c = @"=.*"";$";
            string[] raw_payload_array;
            if (Regex.IsMatch(raw_input, payload_pattern_c))
            {
                //c语言格式的shellcode,转成 csharp 格式
                raw_input = raw_input.Replace("\"", "").Replace("\\", ",0").Replace(";", "").Replace("=", "{").Replace("{,", "{ ") + " }";
            }
            string raw_payload = Regex.Matches(raw_input, payload_pattern_csharp)[0].Value.Replace("{", "").Replace("}", "").Trim();
            raw_payload = raw_payload.TrimStart(',');
            raw_payload_array = raw_payload.Split(',');
            List<byte> byte_payload_list = new List<byte>();

            foreach (string i in raw_payload_array)
            {
                byte_payload_list.Add(string_to_int(i));
            }
            byte[] payload_result = byte_payload_list.ToArray();

            //加密payload并转换为字符串,准备写入文件
            byte[] encrypted_payload = Encrypter.Encrypt(KEY, payload_result);
            string string_encrypted_payload = string.Join(",", encrypted_payload);
            //MessageBox.Show(string_encrypted_payload);
            return string_encrypted_payload;
        }

19 View Source File : X86Assembly.cs
License : MIT License
Project Creator : 20chan

public static byte[] CompileToMachineCode(string asmcode)
        {
            var fullcode = $".intel_syntax noprefix\n_main:\n{asmcode}";
            var path = Path.Combine(Directory.GetCurrentDirectory(), "temp");
            var asmfile = $"{path}.s";
            var objfile = $"{path}.o";
            File.WriteAllText(asmfile, fullcode, new UTF8Encoding(false));
            var psi = new ProcessStartInfo("gcc", $"-m32 -c {asmfile} -o {objfile}")
            {
                RedirectStandardError = true,
                RedirectStandardOutput = true,
                UseShellExecute = false,
                CreateNoWindow = true
            };
            var gcc = Process.Start(psi);
            gcc.WaitForExit();
            if (gcc.ExitCode == 0)
            {
                psi.FileName = "objdump";
                psi.Arguments = $"-z -M intel -d {objfile}";
                var objdump = Process.Start(psi);
                objdump.WaitForExit();
                if (objdump.ExitCode == 0)
                {
                    var output = objdump.StandardOutput.ReadToEnd();
                    var matches = Regex.Matches(output, @"\b[a-fA-F0-9]{2}(?!.*:)\b");
                    var result = new List<byte>();
                    foreach (Match match in matches)
                    {
                        result.Add((byte)Convert.ToInt32(match.Value, 16));
                    }

                    return result.TakeWhile(b => b != 0x90).ToArray();
                }
            }
            else
            {
                var err = gcc.StandardError.ReadToEnd();
            }

            throw new ArgumentException();
        }

19 View Source File : HttpStreamParser.cs
License : MIT License
Project Creator : 1iveowl

private byte[] ResilientHeader(byte[] b)
        {
            if (!IsDone)
            {
                _last4BytesCircularBuffer.Enqueue(b[0]);
            }
            else
            {
                if (!_parserDelegate.IsHeaderDone)
                {
                    var last4Byte = _last4BytesCircularBuffer.ToArray();

                    if (last4Byte != _correctLast4BytesReversed)
                    {
                        byte[] returnNewLine = { 0x0d, 0x0a };

                        var correctionList = new List<byte>();

                        if (last4Byte[0] != _correctLast4BytesReversed[0] || last4Byte[1] != _correctLast4BytesReversed[1])
                        {
                            correctionList.Add(returnNewLine[0]);
                            correctionList.Add(returnNewLine[1]);
                        }

                        if (last4Byte[2] != _correctLast4BytesReversed[2] || last4Byte[3] != _correctLast4BytesReversed[3])
                        {
                            correctionList.Add(returnNewLine[0]);
                            correctionList.Add(returnNewLine[1]);
                        }

                        if (correctionList.Any())
                        {
                            return correctionList.Concat(correctionList.Select(x => x)).ToArray();
                        }
                    }
                }
            }

            return b;
        }

19 View Source File : NetworkUtils.cs
License : MIT License
Project Creator : 1ZouLTReX1

public static void SerializeByte(List<byte> byteList, byte data)
    {
        byteList.Add(data);
    }

19 View Source File : PieceMoves.cs
License : MIT License
Project Creator : 3583Bytes

private static void SetMovesBlackPawn()
        {
            for (byte index = 8; index <= 55; index++)
            {
                var moveset = new PieceMoveSet(new List<byte>());
                
                byte x = (byte)(index % 8);
                byte y = (byte)((index / 8));
                
                //Diagonal Kill
                if (y < 7 && x < 7)
                {
                    moveset.Moves.Add((byte)(index + 8 + 1));
                    MoveArrays.BlackPawnTotalMoves[index]++;
                }
                if (x > 0 && y < 7)
                {
                    moveset.Moves.Add((byte)(index + 8 - 1));
                    MoveArrays.BlackPawnTotalMoves[index]++;
                }
                
                //One Forward
                moveset.Moves.Add((byte)(index + 8));
                MoveArrays.BlackPawnTotalMoves[index]++;

                //Starting Position we can jump 2
                if (y == 1)
                {
                    moveset.Moves.Add((byte)(index + 16));
                    MoveArrays.BlackPawnTotalMoves[index]++;
                }

                MoveArrays.BlackPawnMoves[index] = moveset;
            }
        }

19 View Source File : PieceMoves.cs
License : MIT License
Project Creator : 3583Bytes

private static void SetMovesRook()
        {
            for (byte y = 0; y < 8; y++)
            {
                for (byte x = 0; x < 8; x++)
                {
                    byte index = (byte)(y + (x * 8));

                    var moveset = new PieceMoveSet(new List<byte>());
                    byte move;

                    byte row = x;
                    byte col = y;

                    while (row < 7)
                    {
                        row++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.RookTotalMoves1[index]++;
                    }

                    MoveArrays.RookMoves1[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (row > 0)
                    {
                        row--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.RookTotalMoves2[index]++;
                    }

                    MoveArrays.RookMoves2[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (col > 0)
                    {
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.RookTotalMoves3[index]++;
                    }

                    MoveArrays.RookMoves3[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (col < 7)
                    {
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.RookTotalMoves4[index]++;
                    }

                    MoveArrays.RookMoves4[index] = moveset;
                }
            }
        }

19 View Source File : PieceMoves.cs
License : MIT License
Project Creator : 3583Bytes

private static void SetMovesQueen()
        {
            for (byte y = 0; y < 8; y++)
            {
                for (byte x = 0; x < 8; x++)
                {
                    byte index = (byte)(y + (x * 8));

                    var moveset = new PieceMoveSet(new List<byte>());
                    byte move;

                    byte row = x;
                    byte col = y;

                    while (row < 7)
                    {
                        row++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.QueenTotalMoves1[index]++;
                    }

                    MoveArrays.QueenMoves1[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (row > 0)
                    {
                        row--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.QueenTotalMoves2[index]++;
                    }

                    MoveArrays.QueenMoves2[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (col > 0)
                    {
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.QueenTotalMoves3[index]++;
                    }

                    MoveArrays.QueenMoves3[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (col < 7)
                    {
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.QueenTotalMoves4[index]++;
                    }

                    MoveArrays.QueenMoves4[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (row < 7 && col < 7)
                    {
                        row++;
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.QueenTotalMoves5[index]++;
                    }

                    MoveArrays.QueenMoves5[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (row < 7 && col > 0)
                    {
                        row++;
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.QueenTotalMoves6[index]++;
                    }

                    MoveArrays.QueenMoves6[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (row > 0 && col < 7)
                    {
                        row--;
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.QueenTotalMoves7[index]++;
                    }

                    MoveArrays.QueenMoves7[index] = moveset;

                    moveset = new PieceMoveSet(new List<byte>());
                    row = x;
                    col = y;

                    while (row > 0 && col > 0)
                    {
                        row--;
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.QueenTotalMoves8[index]++;
                    }

                    MoveArrays.QueenMoves8[index] = moveset;
                }
            }
        }

19 View Source File : PieceMoves.cs
License : MIT License
Project Creator : 3583Bytes

private static void SetMovesKing()
        {
            for (byte y = 0; y < 8; y++)
            {
                for (byte x = 0; x < 8; x++)
                {
                    byte index = (byte)(y + (x * 8));

                    var moveset = new PieceMoveSet(new List<byte>());
                    byte move;

                    byte row = x;
                    byte col = y;

                    if (row < 7)
                    {
                        row++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.KingTotalMoves[index]++;
                    }

                    row = x;
                    col = y;

                    if (row > 0)
                    {
                        row--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.KingTotalMoves[index]++;
                    }

                    row = x;
                    col = y;

                    if (col > 0)
                    {
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.KingTotalMoves[index]++;
                    }

                    row = x;
                    col = y;

                    if (col < 7)
                    {
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.KingTotalMoves[index]++;
                    }

                    row = x;
                    col = y;

                    if (row < 7 && col < 7)
                    {
                        row++;
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.KingTotalMoves[index]++;
                    }

                    row = x;
                    col = y;

                    if (row < 7 && col > 0)
                    {
                        row++;
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.KingTotalMoves[index]++;
                    }

                    row = x;
                    col = y;

                    if (row > 0 && col < 7)
                    {
                        row--;
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.KingTotalMoves[index]++;
                    }


                    row = x;
                    col = y;

                    if (row > 0 && col > 0)
                    {
                        row--;
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.KingTotalMoves[index]++;
                    }

                    MoveArrays.KingMoves[index] = moveset;
                }
            }
        }

19 View Source File : PieceMoves.cs
License : MIT License
Project Creator : 3583Bytes

private static void SetMovesKnight()
        {
            for (byte y = 0; y < 8; y++)
            {
                for (byte x = 0; x < 8; x++)
                {
                    byte index = (byte)(y + (x * 8));

                    var moveset = new PieceMoveSet(new List<byte>());
                    
                    byte move;

                    if (y < 6 && x > 0)
                    {
                        move = Position((byte)(y + 2), (byte)(x - 1));

                        if (move < 64)
                        {
                            moveset.Moves.Add(move);
                            MoveArrays.KnightTotalMoves[index]++;
                        }
                    }

                    if (y > 1 && x < 7)
                    {
                        move = Position((byte)(y - 2), (byte)(x + 1));

                        if (move < 64)
                        {
                            moveset.Moves.Add(move);
                            MoveArrays.KnightTotalMoves[index]++;
                        }
                    }

                    if (y > 1 && x > 0)
                    {
                        move = Position((byte)(y - 2), (byte)(x - 1));

                        if (move < 64)
                        {
                            moveset.Moves.Add(move);
                            MoveArrays.KnightTotalMoves[index]++;
                        }
                    }

                    if (y < 6 && x < 7)
                    {
                        move = Position((byte)(y + 2), (byte)(x + 1));

                        if (move < 64)
                        {
                            moveset.Moves.Add(move);
                            MoveArrays.KnightTotalMoves[index]++;
                        }
                    }

                    if (y > 0 && x < 6)
                    {
                        move = Position((byte)(y - 1), (byte)(x + 2));

                        if (move < 64)
                        {
                            moveset.Moves.Add(move);
                            MoveArrays.KnightTotalMoves[index]++;
                        }
                    }

                    if (y < 7 && x > 1)
                    {
                        move = Position((byte)(y + 1), (byte)(x - 2));

                        if (move < 64)
                        {
                            moveset.Moves.Add(move);
                            MoveArrays.KnightTotalMoves[index]++;
                        }
                    }

                    if (y > 0 && x > 1)
                    {
                        move = Position((byte)(y - 1), (byte)(x - 2));

                        if (move < 64)
                        {
                            moveset.Moves.Add(move);
                            MoveArrays.KnightTotalMoves[index]++;
                        }
                    }
                    
                    if (y < 7 && x < 6)
                    {
                        move = Position((byte)(y + 1), (byte)(x + 2));

                        if (move < 64)
                        {
                            moveset.Moves.Add(move);
                            MoveArrays.KnightTotalMoves[index]++;
                        }
                    }

                    MoveArrays.KnightMoves[index] = moveset;
                }
            }
        }

19 View Source File : PieceMoves.cs
License : MIT License
Project Creator : 3583Bytes

private static void SetMovesBishop()
        {
            for (byte y = 0; y < 8; y++)
            {
                for (byte x = 0; x < 8; x++)
                {
                    byte index = (byte)(y + (x * 8));

                    var moveset = new PieceMoveSet(new List<byte>());
                    byte move;

                    byte row = x;
                    byte col = y;

                    while (row < 7 && col < 7)
                    {
                        row++;
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.BishopTotalMoves1[index]++;
                    }

                    MoveArrays.BishopMoves1[index] = moveset;
                    moveset = new PieceMoveSet(new List<byte>());

                    row = x;
                    col = y;

                    while (row < 7 && col > 0)
                    {
                        row++;
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.BishopTotalMoves2[index]++;
                    }

                    MoveArrays.BishopMoves2[index] = moveset;
                    moveset = new PieceMoveSet(new List<byte>());

                    row = x;
                    col = y;

                    while (row > 0 && col < 7)
                    {
                        row--;
                        col++;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.BishopTotalMoves3[index]++;
                    }

                    MoveArrays.BishopMoves3[index] = moveset;
                    moveset = new PieceMoveSet(new List<byte>());

                    row = x;
                    col = y;

                    while (row > 0 && col > 0)
                    {
                        row--;
                        col--;

                        move = Position(col, row);
                        moveset.Moves.Add(move);
                        MoveArrays.BishopTotalMoves4[index]++;
                    }

                    MoveArrays.BishopMoves4[index] = moveset;
                }
            }
        }

19 View Source File : PieceMoves.cs
License : MIT License
Project Creator : 3583Bytes

private static void SetMovesWhitePawn()
        {
            for (byte index = 8; index <= 55; index++)
            {
                byte x = (byte)(index % 8);
                byte y = (byte)((index / 8));

                var moveset = new PieceMoveSet(new List<byte>());
               
                //Diagonal Kill
                if (x < 7 && y > 0)
                {
                    moveset.Moves.Add((byte)(index - 8 + 1));
                    MoveArrays.WhitePawnTotalMoves[index]++;
                }
                if (x > 0 && y > 0)
                {
                    moveset.Moves.Add((byte)(index - 8 - 1));
                    MoveArrays.WhitePawnTotalMoves[index]++;
                }

                //One Forward
                moveset.Moves.Add((byte)(index - 8));
                MoveArrays.WhitePawnTotalMoves[index]++;

                //Starting Position we can jump 2
                if (y == 6)
                {
                    moveset.Moves.Add((byte)(index - 16));
                    MoveArrays.WhitePawnTotalMoves[index]++;
                }

                MoveArrays.WhitePawnMoves[index] = moveset;
            }
        }

19 View Source File : HMACT64.cs
License : BSD 3-Clause "New" or "Revised" License
Project Creator : 3gstudent

public void update(byte[] input, int offset, int len)
        {
            for (int i = offset; i < (offset + len); i++)
            {
                this.buffer.Add(input[i]);
            }
        }

19 View Source File : ASCIIEncoding.cs
License : BSD 3-Clause "New" or "Revised" License
Project Creator : 3gstudent

public static byte[] GetBytes(string sString, bool bQuiet)
        {
            List<byte> list = new List<byte>();
            foreach (char ch in sString)
            {
                if ((ch >= 'a') && (ch <= 'z'))
                {
                    int num = ((byte) ch) - 0x61;
                    list.Add((byte) (0x61 + num));
                    continue;
                }

                if ((ch >= 'A') && (ch <= 'Z'))
                {
                    int num2 = ((byte) ch) - 0x41;
                    list.Add((byte) (0x41 + num2));
                    continue;
                }

                if ((ch >= '0') && (ch <= '9'))
                {
                    int num3 = ((byte) ch) - 0x30;
                    list.Add((byte) (0x30 + num3));
                    continue;
                }

                switch (ch)
                {
                    case '\0':
                    {
                        list.Add(0);
                        continue;
                    }
                    case '\n':
                    {
                        list.Add(10);
                        continue;
                    }
                    case '\r':
                    {
                        list.Add(13);
                        continue;
                    }
                    case ' ':
                    {
                        list.Add(0x20);
                        continue;
                    }
                    case '!':
                    {
                        list.Add(0x21);
                        continue;
                    }
                    case '"':
                    {
                        list.Add(0x22);
                        continue;
                    }
                    case '#':
                    {
                        list.Add(0x23);
                        continue;
                    }
                    case '$':
                    {
                        list.Add(0x24);
                        continue;
                    }
                    case '%':
                    {
                        list.Add(0x25);
                        continue;
                    }
                    case '&':
                    {
                        list.Add(0x26);
                        continue;
                    }
                    case '\'':
                    {
                        list.Add(0x27);
                        continue;
                    }
                    case '(':
                    {
                        list.Add(40);
                        continue;
                    }
                    case ')':
                    {
                        list.Add(0x29);
                        continue;
                    }
                    case '*':
                    {
                        list.Add(0x2a);
                        continue;
                    }
                    case '+':
                    {
                        list.Add(0x2b);
                        continue;
                    }
                    case ',':
                    {
                        list.Add(0x2c);
                        continue;
                    }
                    case '-':
                    {
                        list.Add(0x2d);
                        continue;
                    }
                    case '.':
                    {
                        list.Add(0x2e);
                        continue;
                    }
                    case '/':
                    {
                        list.Add(0x2f);
                        continue;
                    }
                    case ':':
                    {
                        list.Add(0x3a);
                        continue;
                    }
                    case ';':
                    {
                        list.Add(0x3b);
                        continue;
                    }
                    case '<':
                    {
                        list.Add(60);
                        continue;
                    }
                    case '=':
                    {
                        list.Add(0x3d);
                        continue;
                    }
                    case '>':
                    {
                        list.Add(0x3e);
                        continue;
                    }
                    case '?':
                    {
                        list.Add(0x3f);
                        continue;
                    }
                    case '@':
                    {
                        list.Add(0x40);
                        continue;
                    }
                    case '[':
                    {
                        list.Add(0x5b);
                        continue;
                    }
                    case '\\':
                    {
                        list.Add(0x5c);
                        continue;
                    }
                    case ']':
                    {
                        list.Add(0x5d);
                        continue;
                    }
                    case '^':
                    {
                        list.Add(0x5e);
                        continue;
                    }
                    case '_':
                    {
                        list.Add(0x5f);
                        continue;
                    }
                    case '`':
                    {
                        list.Add(0x60);
                        continue;
                    }
                    case '{':
                    {
                        list.Add(0x7b);
                        continue;
                    }
                    case '|':
                    {
                        list.Add(0x7c);
                        continue;
                    }
                    case '}':
                    {
                        list.Add(0x7d);
                        continue;
                    }
                    case '~':
                    {
                        list.Add(0x7e);
                        continue;
                    }
                    case '\x00a1':
                    {
                        list.Add(0xa1);
                        continue;
                    }
                    case '\x00a2':
                    {
                        list.Add(0xa2);
                        continue;
                    }
                    case '\x00a3':
                    {
                        list.Add(0xa3);
                        continue;
                    }
                    case '\x00a4':
                    {
                        list.Add(0xa4);
                        continue;
                    }
                    case '\x00a5':
                    {
                        list.Add(0xa5);
                        continue;
                    }
                    case '\x00a6':
                    {
                        list.Add(0xa6);
                        continue;
                    }
                    case '\x00a7':
                    {
                        list.Add(0xa7);
                        continue;
                    }
                    case '\x00a8':
                    {
                        list.Add(0xa8);
                        continue;
                    }
                    case '\x00a9':
                    {
                        list.Add(0xa9);
                        continue;
                    }
                    case '\x00aa':
                    {
                        list.Add(170);
                        continue;
                    }
                    case '\x00ab':
                    {
                        list.Add(0xab);
                        continue;
                    }
                    case '\x00ac':
                    {
                        list.Add(0xac);
                        continue;
                    }
                    case '\x00ae':
                    {
                        list.Add(0xae);
                        continue;
                    }
                    case '\x00af':
                    {
                        list.Add(0xaf);
                        continue;
                    }
                    case '\x00b0':
                    {
                        list.Add(0xb0);
                        continue;
                    }
                    case '\x00b1':
                    {
                        list.Add(0xb1);
                        continue;
                    }
                    case '\x00b2':
                    {
                        list.Add(0xb2);
                        continue;
                    }
                    case '\x00b3':
                    {
                        list.Add(0xb3);
                        continue;
                    }
                    case '\x00b4':
                    {
                        list.Add(180);
                        continue;
                    }
                    case '\x00b5':
                    {
                        list.Add(0xb5);
                        continue;
                    }
                    case '\x00b6':
                    {
                        list.Add(0xb6);
                        continue;
                    }
                    case '\x00b7':
                    {
                        list.Add(0xb7);
                        continue;
                    }
                    case '\x00b8':
                    {
                        list.Add(0xb8);
                        continue;
                    }
                    case '\x00b9':
                    {
                        list.Add(0xb9);
                        continue;
                    }
                    case '\x00ba':
                    {
                        list.Add(0xba);
                        continue;
                    }
                    case '\x00bb':
                    {
                        list.Add(0xbb);
                        continue;
                    }
                    case '\x00bc':
                    {
                        list.Add(0xbc);
                        continue;
                    }
                    case '\x00bd':
                    {
                        list.Add(0xbd);
                        continue;
                    }
                    case '\x00be':
                    {
                        list.Add(190);
                        continue;
                    }
                    case '\x00bf':
                    {
                        list.Add(0xbf);
                        continue;
                    }
                    case '\x00c0':
                    {
                        list.Add(0xc0);
                        continue;
                    }
                    case '\x00c1':
                    {
                        list.Add(0xc1);
                        continue;
                    }
                    case '\x00c2':
                    {
                        list.Add(0xc2);
                        continue;
                    }
                    case '\x00c3':
                    {
                        list.Add(0xc3);
                        continue;
                    }
                    case '\x00c4':
                    {
                        list.Add(0xc4);
                        continue;
                    }
                    case '\x00c5':
                    {
                        list.Add(0xc5);
                        continue;
                    }
                    case '\x00c6':
                    {
                        list.Add(0xc6);
                        continue;
                    }
                    case '\x00c7':
                    {
                        list.Add(0xc7);
                        continue;
                    }
                    case '\x00c8':
                    {
                        list.Add(200);
                        continue;
                    }
                    case '\x00c9':
                    {
                        list.Add(0xc9);
                        continue;
                    }
                    case '\x00ca':
                    {
                        list.Add(0xca);
                        continue;
                    }
                    case '\x00cb':
                    {
                        list.Add(0xcb);
                        continue;
                    }
                    case '\x00cc':
                    {
                        list.Add(0xcc);
                        continue;
                    }
                    case '\x00cd':
                    {
                        list.Add(0xcd);
                        continue;
                    }
                    case '\x00ce':
                    {
                        list.Add(0xce);
                        continue;
                    }
                    case '\x00cf':
                    {
                        list.Add(0xcf);
                        continue;
                    }
                    case '\x00d0':
                    {
                        list.Add(0xd0);
                        continue;
                    }
                    case '\x00d1':
                    {
                        list.Add(0xd1);
                        continue;
                    }
                    case '\x00d2':
                    {
                        list.Add(210);
                        continue;
                    }
                    case '\x00d3':
                    {
                        list.Add(0xd3);
                        continue;
                    }
                    case '\x00d4':
                    {
                        list.Add(0xd4);
                        continue;
                    }
                    case '\x00d5':
                    {
                        list.Add(0xd5);
                        continue;
                    }
                    case '\x00d6':
                    {
                        list.Add(0xd6);
                        continue;
                    }
                    case '\x00d7':
                    {
                        list.Add(0xd7);
                        continue;
                    }
                    case '\x00d8':
                    {
                        list.Add(0xd8);
                        continue;
                    }
                    case '\x00d9':
                    {
                        list.Add(0xd9);
                        continue;
                    }
                    case '\x00da':
                    {
                        list.Add(0xda);
                        continue;
                    }
                    case '\x00db':
                    {
                        list.Add(0xdb);
                        continue;
                    }
                    case '\x00dc':
                    {
                        list.Add(220);
                        continue;
                    }
                    case '\x00dd':
                    {
                        list.Add(0xdd);
                        continue;
                    }
                    case '\x00de':
                    {
                        list.Add(0xde);
                        continue;
                    }
                    case '\x00df':
                    {
                        list.Add(0xdf);
                        continue;
                    }
                    case '\x00e0':
                    {
                        list.Add(0xe0);
                        continue;
                    }
                    case '\x00e1':
                    {
                        list.Add(0xe1);
                        continue;
                    }
                    case '\x00e2':
                    {
                        list.Add(0xe2);
                        continue;
                    }
                    case '\x00e3':
                    {
                        list.Add(0xe3);
                        continue;
                    }
                    case '\x00e4':
                    {
                        list.Add(0xe4);
                        continue;
                    }
                    case '\x00e5':
                    {
                        list.Add(0xe5);
                        continue;
                    }
                    case '\x00e6':
                    {
                        list.Add(230);
                        continue;
                    }
                    case '\x00e7':
                    {
                        list.Add(0xe7);
                        continue;
                    }
                    case '\x00e8':
                    {
                        list.Add(0xe8);
                        continue;
                    }
                    case '\x00e9':
                    {
                        list.Add(0xe9);
                        continue;
                    }
                    case '\x00ea':
                    {
                        list.Add(0xea);
                        continue;
                    }
                    case '\x00eb':
                    {
                        list.Add(0xeb);
                        continue;
                    }
                    case '\x00ec':
                    {
                        list.Add(0xec);
                        continue;
                    }
                    case '\x00ed':
                    {
                        list.Add(0xed);
                        continue;
                    }
                    case '\x00ee':
                    {
                        list.Add(0xee);
                        continue;
                    }
                    case '\x00ef':
                    {
                        list.Add(0xef);
                        continue;
                    }
                    case '\x00f0':
                    {
                        list.Add(240);
                        continue;
                    }
                    case '\x00f1':
                    {
                        list.Add(0xf1);
                        continue;
                    }
                    case '\x00f2':
                    {
                        list.Add(0xf2);
                        continue;
                    }
                    case '\x00f3':
                    {
                        list.Add(0xf3);
                        continue;
                    }
                    case '\x00f4':
                    {
                        list.Add(0xf4);
                        continue;
                    }
                    case '\x00f5':
                    {
                        list.Add(0xf5);
                        continue;
                    }
                    case '\x00f6':
                    {
                        list.Add(0xf6);
                        continue;
                    }
                    case '\x00f7':
                    {
                        list.Add(0xf7);
                        continue;
                    }
                    case '\x00f8':
                    {
                        list.Add(0xf8);
                        continue;
                    }
                    case '\x00f9':
                    {
                        list.Add(0xf9);
                        continue;
                    }
                    case '\x00fa':
                    {
                        list.Add(250);
                        continue;
                    }
                    case '\x00fb':
                    {
                        list.Add(0xfb);
                        continue;
                    }
                    case '\x00fc':
                    {
                        list.Add(0xfc);
                        continue;
                    }
                    case '\x00fd':
                    {
                        list.Add(0xfd);
                        continue;
                    }
                    case '\x00fe':
                    {
                        list.Add(0xfe);
                        continue;
                    }
                    case '\x00ff':
                    {
                        list.Add(0xff);
                        continue;
                    }
                    case 'Œ':
                    {
                        list.Add(140);
                        continue;
                    }
                    case 'œ':
                    {
                        list.Add(0x9c);
                        continue;
                    }
                    case 'Š':
                    {
                        list.Add(0x8a);
                        continue;
                    }
                    case 'š':
                    {
                        list.Add(0x9a);
                        continue;
                    }
                    case 'Ž':
                    {
                        list.Add(0x8e);
                        continue;
                    }
                    case 'ž':
                    {
                        list.Add(0x9e);
                        continue;
                    }
                    case 'ƒ':
                    {
                        list.Add(0x83);
                        continue;
                    }
                    case 'Ÿ':
                    {
                        list.Add(0x9f);
                        continue;
                    }
                    case '–':
                    {
                        list.Add(150);
                        continue;
                    }
                    case '—':
                    {
                        list.Add(0x97);
                        continue;
                    }
                    case '‘':
                    {
                        list.Add(0x91);
                        continue;
                    }
                    case '’':
                    {
                        list.Add(0x92);
                        continue;
                    }
                    case '‚':
                    {
                        list.Add(130);
                        continue;
                    }
                    case '“':
                    {
                        list.Add(0x93);
                        continue;
                    }
                    case '”':
                    {
                        list.Add(0x94);
                        continue;
                    }
                    case '„':
                    {
                        list.Add(0x84);
                        continue;
                    }
                    case '†':
                    {
                        list.Add(0x86);
                        continue;
                    }
                    case '‡':
                    {
                        list.Add(0x87);
                        continue;
                    }
                    case '•':
                    {
                        list.Add(0x95);
                        continue;
                    }
                    case '…':
                    {
                        list.Add(0x85);
                        continue;
                    }
                    case '˜':
                    {
                        list.Add(0x98);
                        continue;
                    }
                    case 'ˆ':
                    {
                        list.Add(0x88);
                        continue;
                    }
                    case '€':
                    {
                        list.Add(0x80);
                        continue;
                    }
                    case '™':
                    {
                        list.Add(0x99);
                        continue;
                    }
                    case '‹':
                    {
                        list.Add(0x8b);
                        continue;
                    }
                    case '›':
                    {
                        list.Add(0x9b);
                        continue;
                    }
                    case '‰':
                    {
                        list.Add(0x89);
                        continue;
                    }
                }

                if (!bQuiet)
                {
                    throw new Exception("Invalid ASCII char: " + ch);
                }
            }

            return list.ToArray();
        }

19 View Source File : NTLM.cs
License : BSD 3-Clause "New" or "Revised" License
Project Creator : 3gstudent

private static byte[] getNTLMv2Response(byte[] responseKeyNT, byte[] serverChallenge, byte[] clientChallenge, byte[] nanos1601, byte[] av_pairs, out byte[] keyExchangeKey)
        {
            List<byte> list = new List<byte> { 1, 1, 0, 0, 0, 0, 0, 0 };
            list.AddRange(nanos1601);
            list.AddRange(clientChallenge);
            list.Add(0);
            list.Add(0);
            list.Add(0);
            list.Add(0);
            list.AddRange(av_pairs);

            return computeResponse(responseKeyNT, serverChallenge, list.ToArray(), 0, list.Count, out keyExchangeKey);
        }

19 View Source File : EndianBinaryReader.cs
License : MIT License
Project Creator : 91Act

public string ReadStringToNull()
        {
            var bytes = new List<byte>();
            byte b;
            while (BaseStream.Position != BaseStream.Length && (b = ReadByte()) != 0)
                bytes.Add(b);
            return Encoding.UTF8.GetString(bytes.ToArray());
        }

19 View Source File : MicroVM.Assembler.cs
License : MIT License
Project Creator : a-downing

void AddData(Variable var, int size) {
            //todo: don't ignore size
            programData.Add(var.val32.byte0);
            programData.Add(var.val32.byte1);
            programData.Add(var.val32.byte2);
            programData.Add(var.val32.byte3);
        }

19 View Source File : CellLandblock.cs
License : GNU Affero General Public License v3.0
Project Creator : ACEmulator

public override void Unpack(BinaryReader reader)
        {
            Id = reader.ReadUInt32();

            uint hasObjects = reader.ReadUInt32();
            if (hasObjects == 1)
                HasObjects = true;

            // Read in the terrain. 9x9 so 81 records.
            for (int i = 0; i < 81; i++)
            {
                var terrain = reader.ReadUInt16();
                Terrain.Add(terrain);
            }

            // Read in the height. 9x9 so 81 records
            for (int i = 0; i < 81; i++)
            {
                var height = reader.ReadByte();
                Height.Add(height);
            }

            reader.AlignBoundary();
        }

19 View Source File : Polygon.cs
License : GNU Affero General Public License v3.0
Project Creator : ACEmulator

public void Unpack(BinaryReader reader)
        {
            NumPts      = reader.ReadByte();
            Stippling   = (StipplingType)reader.ReadByte();

            SidesType   = (CullMode)reader.ReadInt32();
            PosSurface  = reader.ReadInt16();
            NegSurface  = reader.ReadInt16();

            for (short i = 0; i < NumPts; i++)
                VertexIds.Add(reader.ReadInt16());

            if (!Stippling.HasFlag(StipplingType.NoPos))
            {
                for (short i = 0; i < NumPts; i++)
                    PosUVIndices.Add(reader.ReadByte());
            }

            if (SidesType == CullMode.Clockwise && !Stippling.HasFlag(StipplingType.NoNeg))
            {
                for (short i = 0; i < NumPts; i++)
                    NegUVIndices.Add(reader.ReadByte());
            }

            if (SidesType == CullMode.None)
            {
                NegSurface = PosSurface;
                NegUVIndices = PosUVIndices;
            }
        }

19 View Source File : BytesWriter.cs
License : MIT License
Project Creator : adrenak

public void WriteBytes(byte[] block) {
            foreach (var b in block)
                m_Bytes.Add(b);
        }

19 View Source File : BytesWriter.cs
License : MIT License
Project Creator : adrenak

public void WriteByte(byte b) {
            m_Bytes.Add(b);
        }

19 View Source File : Program.cs
License : GNU General Public License v3.0
Project Creator : AdvancedHacker101

public byte[] ToArray(string des)
        {
            List<byte> data = new List<byte>();
            bool ctn = false;
            for (int i = 0; i < des.Length; i++)
            {
                if (ctn)
                {
                    ctn = !ctn;
                    continue;
                }
                data.Add((byte)int.Parse(des[i].ToString() + des[i+1].ToString(), System.Globalization.NumberStyles.HexNumber));
                if (!ctn) ctn = !ctn;
            }
            return data.ToArray();
        }

19 View Source File : ModEntry.cs
License : GNU General Public License v3.0
Project Creator : aedenthorn

private Texture2D CreateCustomCharacter(RNPC npc, string type)
        {
            Texture2D sprite = this.Helper.Content.Load<Texture2D>("replacedets/body/" + npc.bodyType + "_" + type + ".png", ContentSource.ModFolder);
            Texture2D hairT = this.Helper.Content.Load<Texture2D>("replacedets/hair/" + npc.hairStyle + "_" + type + ".png", ContentSource.ModFolder);
            Texture2D eyeT = this.Helper.Content.Load<Texture2D>("replacedets/body/" + npc.gender + "_eyes_" + type + ".png", ContentSource.ModFolder);

            Texture2D eyeBackT = null;
            Texture2D noseT = null;
            Texture2D mouthT = null;
            if (type == "portrait")
            {
                eyeBackT = this.Helper.Content.Load<Texture2D>("replacedets/body/" + npc.gender + "_eyes_back.png", ContentSource.ModFolder);
                noseT = this.Helper.Content.Load<Texture2D>("replacedets/body/" + npc.gender + "_nose.png", ContentSource.ModFolder);
                mouthT = this.Helper.Content.Load<Texture2D>("replacedets/body/" + npc.gender + "_mouth.png", ContentSource.ModFolder);
            }
            Texture2D topT = this.Helper.Content.Load<Texture2D>("replacedets/transparent_" + type + ".png", ContentSource.ModFolder);
            Texture2D bottomT = topT;
            Texture2D shoesT = topT;

            // clothes

            // try and share with other type (char/portrait)
            string[] clothes;
            if (npc.clothes != null)
            {
                clothes = npc.clothes;
            }
            else
            {
                string npcString = string.Join("/", npc.npcString.Split('/').Take(7)) + "/" + npc.bodyType;
                List<string> potentialClothes = GetHighestRankedStrings(npcString, RNPCclothes.data, 8);

                clothes = potentialClothes[Game1.random.Next(0, potentialClothes.Count)].Split('^');
                //base.Monitor.Log(string.Join(" | ", clothes), LogLevel.Debug);
                npc.clothes = clothes;
                npc.topRandomColour = new string[] { Game1.random.Next(0, 255).ToString(), Game1.random.Next(0, 255).ToString(), Game1.random.Next(0, 255).ToString() };
            }

            if (clothes[0] != "")
            {
                topT = this.Helper.Content.Load<Texture2D>("replacedets/clothes/" + clothes[0] + "_" + type + ".png", ContentSource.ModFolder);
            }
            if (clothes[1] != "" && type == "character")
            {
                bottomT = this.Helper.Content.Load<Texture2D>("replacedets/clothes/" + clothes[1] + ".png", ContentSource.ModFolder);
            }
            if (clothes[2] != "" && type == "character")
            {
                shoesT = this.Helper.Content.Load<Texture2D>("replacedets/clothes/" + clothes[2] + ".png", ContentSource.ModFolder);
            }

            Color[] data = new Color[sprite.Width * sprite.Height];
            Color[] dataH = new Color[hairT.Width * hairT.Height];
            Color[] dataE = new Color[eyeT.Width * eyeT.Height];
            Color[] dataEB = null;
            Color[] dataN = null;
            Color[] dataM = null;
            if (type == "portrait")
            {
                dataEB = new Color[eyeBackT.Width * eyeBackT.Height];
                dataN = new Color[noseT.Width * noseT.Height];
                dataM = new Color[mouthT.Width * mouthT.Height];
            }
            Color[] dataT = new Color[topT.Width * topT.Height];
            Color[] dataB = new Color[bottomT.Width * bottomT.Height];
            Color[] dataS = new Color[shoesT.Width * shoesT.Height];
            sprite.GetData(data);
            hairT.GetData(dataH);
            eyeT.GetData(dataE);
            if (type == "portrait")
            {
                eyeBackT.GetData(dataEB);
                noseT.GetData(dataN);
                mouthT.GetData(dataM);
            }
            topT.GetData(dataT);
            bottomT.GetData(dataB);
            shoesT.GetData(dataS);

            string[] skinRBG = npc.skinColour.Split(' ');
            string[] eyeRBG = npc.eyeColour.Split(' ');
            List<string> hairRBGs = npc.hairColour.Split('^').ToList();

            string[] baseColourT = clothes[3] == "any" ? npc.topRandomColour : null;

            string[] baseColourB;
            switch (clothes[4])
            {
                case "any":
                    baseColourB = new string[] { Game1.random.Next(0, 255).ToString(), Game1.random.Next(0, 255).ToString(), Game1.random.Next(0, 255).ToString() };
                    break;
                case "top":
                    baseColourB = baseColourT;
                    break;
                default:
                    baseColourB = null;
                    break;
            }
            string[] baseColourS;
            switch (clothes[5])
            {
                case "any":
                    baseColourS = new string[] { Game1.random.Next(0, 255).ToString(), Game1.random.Next(0, 255).ToString(), Game1.random.Next(0, 255).ToString() };
                    break;
                case "top":
                    baseColourS = baseColourT;
                    break;
                case "bottom":
                    baseColourS = baseColourB;
                    break;
                default:
                    baseColourS = null;
                    break;
            }

            // make hair gradient

            List<string> hairGreyStrings = new List<string>();
            for (int i = 0; i < dataH.Length; i++)
            {
                if (dataH[i].R == dataH[i].G && dataH[i].R == dataH[i].B && dataH[i].G == dataH[i].B) // greyscale
                {
                    if (!hairGreyStrings.Contains(dataH[i].R.ToString()))
                    { // only add one of each grey
                        hairGreyStrings.Add(dataH[i].R.ToString());
                    }
                }
            }

            // make same number of greys as colours in gradient

            if (hairRBGs.Count > hairGreyStrings.Count) // ex 9 and 6
            {
                hairGreyStrings = LengthenToMatch(hairGreyStrings, hairRBGs);
            }
            else if (hairRBGs.Count < hairGreyStrings.Count)
            {
                hairRBGs = LengthenToMatch(hairRBGs, hairGreyStrings);

            }
            List<byte> hairGreys = new List<byte>();
            foreach (string str in hairGreyStrings)
            {
                hairGreys.Add(byte.Parse(str));
            }
            hairGreys.Sort();
            hairGreys.Reverse(); // lightest to darkest
            //Alert(hairGreys.Count+ " " +hairRBGs.Count);
            
            // start putting it together

            for (int i = 0; i < data.Length; i++)
            {
                if (dataH.Length > i && dataH[i] != Color.Transparent)
                {
                    if (dataH[i].R == dataH[i].G && dataH[i].R == dataH[i].B && dataH[i].G == dataH[i].B) // greyscale
                    {
                        // hair gradient

                        // for cases where fewer greys than colours (multiple of same grey)
                        List<int> greyMatches = new List<int>();
                        for (int j = 0; j < hairGreys.Count; j++)
                        {
                            if (hairGreys[j] == dataH[i].R)
                            {
                                greyMatches.Add(j);
                            }
                        }

                        string[] hairRBG;
                        int rnd = Game1.random.Next(0, greyMatches.Count);
                        int match = greyMatches[rnd];
                        hairRBG = hairRBGs[match].Split(' '); // turns single grey into set of colours

                        data[i] = new Color(byte.Parse(hairRBG[0]), byte.Parse(hairRBG[1]), byte.Parse(hairRBG[2]), dataH[i].A);
                    }
                    else // ignore already coloured parts
                    {
                        data[i] = dataH[i];
                    }
                }
                else if (dataT.Length > i && dataT[i] != Color.Transparent)
                {
                    data[i] = baseColourT != null ? ColorizeGrey(baseColourT, dataT[i]) : dataT[i];
                }
                else if (dataB.Length > i && dataB[i] != Color.Transparent)
                {
                    data[i] = baseColourB != null ? ColorizeGrey(baseColourB, dataB[i]) : dataB[i];
                }
                else if (dataS.Length > i && dataS[i] != Color.Transparent)
                {
                    data[i] = baseColourS != null ? ColorizeGrey(baseColourS, dataS[i]) : dataS[i];
                }
                else if (dataE.Length > i && dataE[i] != Color.Transparent)
                {
                    if (dataE[i] != Color.White)
                    {
                        data[i] = ColorizeGrey(eyeRBG, dataE[i]);
                    }
                    else
                    {
                        data[i] = Color.White;
                    }
                }
                else if (type == "portrait" && dataEB.Length > i && dataEB[i] != Color.Transparent)
                {
                    data[i] = ColorizeGrey(skinRBG, dataEB[i]);
                }
                else if (type == "portrait" && dataN.Length > i && dataN[i] != Color.Transparent)
                {
                    data[i] = ColorizeGrey(skinRBG, dataN[i]);
                }
                else if (type == "portrait" && dataM.Length > i && dataM[i] != Color.Transparent)
                {
                    if (dataM[i] != Color.White)
                    {
                        data[i] = ColorizeGrey(skinRBG, dataM[i]);
                    }
                    else
                    {
                        data[i] = Color.White;
                    }
                }
                else if (data[i] != Color.Transparent)
                {
                    data[i] = ColorizeGrey(skinRBG, data[i]);
                }
            }
            sprite.SetData<Color>(data);
            return sprite;
        }

19 View Source File : IRCompiler.cs
License : GNU General Public License v3.0
Project Creator : Aekras1a

byte[] ReadDataContent(Node node) {
			var content = node[1];
			if (content.Id == (int)IRConstants.DATA_STRING) {
				var str = ((Token)content[0]).Image;
				return Encoding.UTF8.GetBytes(str.Substring(1, str.Length - 2));
			}
			if (content.Id == (int)IRConstants.DATA_BUFFER) {
				var bytes = new List<byte>();
				for (int i = 0; i < content.Count; i++) {
					if (content[i].Id == (int)IRConstants.NUM)
						bytes.Add(ParseByte((Token)content[i]));
				}
				return bytes.ToArray();
			}
			Debug.replacedert(false);
			return null;
		}

19 View Source File : ReplayAnimationRecorder.cs
License : GNU General Public License v3.0
Project Creator : aelariane

public byte[] SerializeAnimationsHeader()
        {
            List<byte> bytes = new List<byte>();

            var bytesLength = new byte[2];
            int index = 0;

            ExitGames.Client.Photon.Protocol.Serialize((short)animationsDictionary.Count, bytesLength, ref index);

            foreach (var pair in animationsDictionary)
            {
                var stringBytes = Encoding.UTF8.GetBytes(pair.Key);
                bytes.Add((byte)stringBytes.Length);
                bytes.AddRange(stringBytes);
            }

            return bytes.ToArray();
        }

19 View Source File : EventsCounter.cs
License : GNU General Public License v3.0
Project Creator : aelariane

public void Count(byte eventCode)
        {
            lock (events)
            {
                events[eventCode]++;
                if (!receivedEvents.Contains(eventCode))
                {
                    receivedEvents.Add(eventCode);
                }
            }
        }

19 View Source File : ReplayAnimationRecorder.cs
License : GNU General Public License v3.0
Project Creator : aelariane

public byte[] SerializeAnimationCalls()
        {
            List<byte> bytes = new List<byte>();

            bytes.Add((byte)animationsDictionary.Count);
            foreach(var pair in animationsDictionary)
            {
                var stringBytes = Encoding.UTF8.GetBytes(pair.Key);
                bytes.Add((byte)stringBytes.Length);
                bytes.AddRange(stringBytes);
            }

            var animsCountLength = new byte[4];
            int index = 0;
            ExitGames.Client.Photon.Protocol.Serialize(playedAnimations.Count, animsCountLength, ref index);
            bytes.AddRange(animsCountLength);

            foreach (var info in playedAnimations)
            {
                var animBytes = info.Serialize();
                bytes.AddRange(animBytes);
            }

            return bytes.ToArray();
        }

19 View Source File : PBitStream.cs
License : GNU General Public License v3.0
Project Creator : aelariane

public void Add(bool val)
    {
        int num = this.totalBits / 8;
        if (num > this.streamBytes.Count - 1 || this.totalBits == 0)
        {
            this.streamBytes.Add(0);
        }
        if (val)
        {
            int num2 = 7 - this.totalBits % 8;
            List<byte> list2;
            List<byte> list = list2 = this.streamBytes;
            int index2;
            int index = index2 = num;
            byte b = list2[index2];
            list[index] = (byte)(b | (byte)(1 << num2));
        }
        this.totalBits++;
    }

19 View Source File : BinaryMerkleTestTest.cs
License : MIT License
Project Creator : AElfProject

[Theory]
        [InlineData("SkMGjviAAs9bnYvv6cKcafbhf6tbRGQGK93WgKvZoCoS5amMK", "75900000000000000000",
            "96de8fc8c256fa1e1556d41af431cace7dca68707c78dd88c3acab8b17164c47",
            "0x0eb4305ab57ea86f1f2940cc32c86f5870c5463e0e9c57c6ead6a38cbb2ded90")]
        [InlineData("2ADXLcyKMGGrRe9aGC7XMXECv8cxz3Tos1z6PJHSfyXguSaVb5", "5500000000000000000",
            "d9147961436944f43cd99d28b2bbddbf452ef872b30c8279e255e7daafc7f946",
            "0xd4998a64d00f9b9178337fcebcb193494ceefc7b2ee68031a5060ef407d7ae2d")]
        public void CalculateHashTest(string address, string amount, string uid, string result)
        {
            var hashFromString = HashHelper.ComputeFrom(address);

            var parsedResult = decimal.Parse(amount);
            var originTokenSizeInByte = 32;
            var preHolderSize = originTokenSizeInByte - 16;
            var bytesFromDecimal = decimal.GetBits(parsedResult).Reverse().ToArray();

            if (preHolderSize < 0)
                bytesFromDecimal = bytesFromDecimal.TakeLast(originTokenSizeInByte).ToArray();

            var amountBytes = new List<byte>();
            bytesFromDecimal.Aggregate(amountBytes, (cur, i) =>
            {
                while (cur.Count < preHolderSize)
                {
                    cur.Add(new byte());
                }
                
                cur.AddRange(i.ToBytes());
                return cur;
            });
            var hashFromAmount = HashHelper.ComputeFrom(amountBytes.ToArray());
            var hashFromUid = Hash.LoadFromByteArray(ByteArrayHelper.HexStringToByteArray(uid));
            var hash = HashHelper.ConcatAndCompute(hashFromAmount, hashFromString, hashFromUid);
            replacedert.True(hash == Hash.LoadFromByteArray(ByteArrayHelper.HexStringToByteArray(result)));
        }

19 View Source File : DataReader.cs
License : GNU General Public License v3.0
Project Creator : aenemenate

public static Plant GetPlant(string name)
        {
            XElement plantData = null;

            // load all the plants
            XElement root = XElement.Load("res/data/PlantTypes.xml");
            IEnumerable<XElement> plants =
                from el in root.Elements("plant")
                select el;

            // choose the right creature
            foreach (XElement p in plants)
                if (ReadAttribute(p.FirstAttribute).Equals(name))
                    plantData = p;

            if (plantData == null)
                return null;

            bool edible = System.Convert.ToBoolean(ReadAttribute(plantData.Element("edible").Attribute("bool")));
            int growthInterval = System.Convert.ToInt32(ReadAttribute(plantData.Attribute("growth_interval")));
            int seedRadius = System.Convert.ToInt32(ReadAttribute(plantData.Attribute("seed_radius")));

            byte r = System.Convert.ToByte(ReadAttribute(plantData.Element("fore_color").Attribute("r"))),
                 g = System.Convert.ToByte(ReadAttribute(plantData.Element("fore_color").Attribute("g"))),
                 b = System.Convert.ToByte(ReadAttribute(plantData.Element("fore_color").Attribute("b")));
            Color? foreColor = new Color(r, g, b);

            IEnumerable<XElement> growthStagesTemp =
                from el in plantData.Element("growth_stages").Elements("growth_stage")
                select el;
            List<byte> growthStages = new List<byte>();
            foreach (XElement growthStage in growthStagesTemp)
                growthStages.Add(System.Convert.ToByte(ReadAttribute(growthStage.Attribute("graphic"))));

            string requirement;
            if (ReadAttribute(plantData.Element("requirement").FirstAttribute).Equals(""))
                requirement = "";
            else {
                requirement =
                    ReadAttribute(plantData.Element("requirement").FirstAttribute)
                    + ';'
                    + ReadAttribute(plantData.Element("requirement").Attribute("type"))
                    + ';'
                    + ReadAttribute(plantData.Element("requirement").Attribute("dist"));
            }

            return new Plant(growthStages[0], name, growthInterval, seedRadius, growthStages, requirement, edible, foreColor);
        }

19 View Source File : CultistMod.cs
License : Apache License 2.0
Project Creator : Aeolic

public static void AddCultistToLists(PlayerControl playerControl)
        {
            if (!IsCultist(playerControl.PlayerId))
            {
                CultistList.Add(playerControl.PlayerId);
                CultistNameList.Add(playerControl.Data.PlayerName);
            }
        }

19 View Source File : Decompress.cs
License : GNU General Public License v3.0
Project Creator : Aeroblast

public byte[] Decode(byte[] data)
        {
            List<byte> r = new List<byte>();
            int pos = 0;
            while (pos < data.Length)
            {
                byte c = data[pos];
                pos++;
                if (c >= 1 && c <= 8)
                {
                    r.AddRange(Util.SubArray(data, pos, c));
                    pos += c;
                }
                else if (c < 128)
                {
                    r.Add(c);
                }
                else if (c >= 192)
                {
                    r.Add(0x20);
                    r.Add((byte)( c ^ 128));
                }
                else
                {
                    if (pos < data.Length)
                    {
                        int cx = (c << 8) | data[pos];
                        pos++;
                        int m = (cx >> 3) & 0x07ff;
                        int n = (cx & 7) + 3;
                        if (m > n) { r.AddRange(Util.SubArray(r.ToArray(), r.Count - m, n)); }
                        else
                        {
                            for (int i = 0; i < n; i++)
                            {
                                if (m == 1) r.AddRange(Util.SubArray(r.ToArray(), r.Count - m, m));
                                else r.Add(r[r.Count - m]);
                            }
                        }
                    }
                }
            }

            return r.ToArray();
        }

19 View Source File : CultistMod.cs
License : Apache License 2.0
Project Creator : Aeolic

public static void AddCultistToLists(byte playerId)
        {
            if (!IsCultist(playerId))
            {
                CultistList.Add(playerId);
                foreach (var player in PlayerControl.AllPlayerControls)
                {
                    if (player.PlayerId == playerId)
                    {
                        CultistNameList.Add(player.Data.PlayerName);
                    }
                }
            }
        }

19 View Source File : ByteArray.cs
License : GNU General Public License v2.0
Project Creator : afrantzis

static public byte[] FromString(string s, int baseNum)
	{
		int i = 0;
		int len = s.Length;
		ByteList ba = new ByteList();

		// ignore leading whitespace
		while (i < len && s[i] == ' ') i++;

		while (i < len) {
			int k = 1;
			while (i + k < len &&  s[i+k] != ' ' && k < BaseConverter.DefaultMinDigits[baseNum]) k++;

			ba.Add((byte)BaseConverter.ConvertToNum(s, i, i + k - 1, baseNum));

			// skip spaces
			i = i + k;
			while (i < len && s[i] == ' ') i++;
		}

		return ba.ToArray();
	}

19 View Source File : Asn1IntegerConverter.cs
License : Mozilla Public License 2.0
Project Creator : agebullhu

private static byte[] TwoToThePowerOf(int n)
        {
            using (ThreadLockScope.Scope(powersOfTwo))
            {
                if (n >= powersOfTwo.Count)
                {
                    for (var i = powersOfTwo.Count; i <= n; i++)
                    {
                        var list = new List<byte>(powersOfTwo[i - 1]);
                        byte num2 = 0;
                        for (var j = 0; j < list.Count; j++)
                        {
                            var num4 = (byte)((list[j] << 1) + num2);
                            list[j] = (byte)(num4 % 10);
                            num2 = (byte)(num4 / 10);
                        }
                        if (num2 > 0)
                        {
                            list.Add(num2);
                        }
                        powersOfTwo.Add(list.ToArray());
                    }
                }
                return powersOfTwo[n];
            }
        }

19 View Source File : Memory.cs
License : MIT License
Project Creator : aghontpi

private byte[] ConvertPattern(String pattern)
        {
            List<byte> convertertedArray = new List<byte>();
            foreach (String each in pattern.Split(' '))
            {
                if (each == "??") { convertertedArray.Add(Convert.ToByte("0", 16)); }
                else{ convertertedArray.Add(Convert.ToByte(each,16)); }
            }
            return convertertedArray.ToArray();

        }

19 View Source File : RSAHelper.cs
License : GNU General Public License v3.0
Project Creator : aiportal

private static string ComponentKey(byte[] b1, byte[] b2)
        {
            List<byte> list = new List<byte>();
            //在前端加上第一个数组的长度值 这样今后可以根据这个值分别取出来两个数组
            list.Add((byte)b1.Length);
            list.AddRange(b1);
            list.AddRange(b2);
            byte[] b = list.ToArray();
            return Convert.ToBase64String(b);
        }

19 View Source File : Option.cs
License : Apache License 2.0
Project Creator : ajuna-network

public override byte[] Encode()
        {
           var bytes = new List<byte>();
           if (OptionFlag)
            {
                bytes.Add(1);
                bytes.AddRange(Value.Encode());

            } else
            {
                bytes.Add(0);
            }

            return bytes.ToArray();
        }

19 View Source File : AccountId.cs
License : Apache License 2.0
Project Creator : ajuna-network

public override byte[] Encode()
        {
            var bytes = new List<byte>();
            switch (Constants.AddressVersion)
            {
                case 0:
                    return Bytes;
                case 1:
                    bytes.Add(0xFF);
                    bytes.AddRange(Bytes);
                    return bytes.ToArray();
                case 2:
                    bytes.Add(0x00);
                    bytes.AddRange(Bytes);
                    return bytes.ToArray();
                default:
                    throw new NotImplementedException("Unknown address version please refer to Constants.cs");
            }
        }

19 View Source File : Method.cs
License : Apache License 2.0
Project Creator : ajuna-network

public byte[] Encode()
        {
            var result = new List<byte>();
            result.Add(ModuleIndex);
            result.Add(CallIndex);
            result.AddRange(Parameters);
            return result.ToArray();
        }

19 View Source File : UnCheckedExtrinsic.cs
License : Apache License 2.0
Project Creator : ajuna-network

public byte[] Encode()
        {
            if (Signed && Signature == null)
            {
                throw new Exception("Missing payload signature for signed transaction.");
            }

            var list = new List<byte>();

            // 4 is the TRANSACTION_VERSION constant and it is 7 bits long, the highest bit 1 for signed transaction, 0 for unsigned.
            list.Add((byte)(Constants.ExtrinsicVersion | (Signed ? 0x80 : 0)));

            // 32 bytes + prefix depending on address encoding in chain, see Constants.Address_version
            list.AddRange(Account.Encode());

            // key type ed = 00 and sr = FF
            list.Add(Account.KeyTypeByte);

            // add signature if exists
            if (Signature != null)
            {
                list.AddRange(Signature);
            }
            else
            {

            }

            list.AddRange(Era.Encode());

            list.AddRange(Nonce.Encode());

            list.AddRange(Tip.Encode());

            list.AddRange(Method.Encode());

            return Utils.SizePrefixedByteArray(list);
        }

19 View Source File : UnCheckedExtrinsic.cs
License : Apache License 2.0
Project Creator : ajuna-network

public byte[] Encode()
        {
            if (Signed && Signature == null)
            {
                throw new Exception("Missing payload signature for signed transaction.");
            }

            var list = new List<byte>();

            // 4 is the TRANSACTION_VERSION constant and it is 7 bits long, the highest bit 1 for signed transaction, 0 for unsigned.
            list.Add((byte)(Constants.ExtrinsicVersion | (Signed ? 0x80 : 0)));

            // 32 bytes + prefix depending on address encoding in chain, see Constants.Address_version
            list.AddRange(Account.Encode());

            // key type ed = 00 and sr = FF
            list.Add(Account.KeyTypeByte);

            // add signature if exists
            if (Signature != null)
            {
                list.AddRange(Signature);
            }
            else
            {

            }

            list.AddRange(Era.Encode());

            list.AddRange(Nonce.Encode());

            list.AddRange(Tip.Encode());

            list.AddRange(Method.Encode());

            return Utils.SizePrefixedByteArray(list);
        }

19 View Source File : CompactInteger.cs
License : Apache License 2.0
Project Creator : ajuna-network

public byte[] Encode()
        {
            if (this <= 63) return new byte[] {this << 2};

            if (this <= 0x3FFF)
                return new byte[]
                {
                    ((this & 0x3F) << 2) | 0x01,
                    (this & 0xFFC0) >> 6
                };

            if (this <= 0x3FFFFFFF)
            {
                var result = new byte[4];
                result[0] = ((this & 0x3F) << 2) | 0x02;
                this >>= 6;
                for (var i = 1; i < 4; ++i)
                {
                    result[i] = this & 0xFF;
                    this >>= 8;
                }

                return result;
            }
            else
            {
                var b0 = new List<byte>();
                while (this > 0)
                {
                    b0.Add(this & 0xFF);
                    this >>= 8;
                }

                var result = new List<byte>
                {
                    (byte) (((b0.Count - 4) << 2) | 0x03)
                };
                result.AddRange(b0);
                return result.ToArray();
            }
        }

19 View Source File : MethodTest.cs
License : Apache License 2.0
Project Creator : ajuna-network

[Test]
        public void MethodEncodeTest()
        {
            replacedert.True("0x0602".Equals(Utils.Bytes2HexString(new Method(0x06, 0x02).Encode()),
                StringComparison.InvariantCultureIgnoreCase));

            replacedert.True("0x06000100000000000000".Equals(
                Utils.Bytes2HexString(new Method(0x06, 0x00, Utils.HexToByteArray("0x0100000000000000")).Encode()),
                StringComparison.InvariantCultureIgnoreCase));

            var parameters = new List<byte>();
            parameters.Add(0xFF);
            parameters.AddRange(Utils.GetPublicKeyFrom("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"));
            replacedert.AreEqual("0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d".ToUpper(),
                Utils.Bytes2HexString(Utils.GetPublicKeyFrom("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"))
                    .ToUpper());
            parameters.AddRange(new CompactInteger(100).Encode());
            var balanceTransfer = new Method(0x04, 0x00, parameters.ToArray());
            replacedert.True("0x0400ffd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d9101".Equals(
                Utils.Bytes2HexString(balanceTransfer.Encode()), StringComparison.InvariantCultureIgnoreCase));
        }

19 View Source File : PayloadTest.cs
License : Apache License 2.0
Project Creator : ajuna-network

[Test]
        public void EncodeExtraTest()
        {
            var genesisHash = new byte[]
                {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
            var blockHash = new byte[]
                {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

            var era = new Era(2048, 99, false);

            var paramsList = new List<byte>();
            paramsList.Add(0xFF);
            paramsList.AddRange(
                Utils.HexToByteArray(
                    "d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d")); // Utils.GetPublicKeyFrom("5FfBQ3kwXrbdyoqLPvcXRp7ikWydXawpNs2Ceu3WwFdhZ8W4");          
            CompactInteger amount = 100;
            paramsList.AddRange(amount.Encode());
            var parameters = paramsList.ToArray();

            var method = new Method(0x06, 0x00, parameters);
            var methodBytes = Utils.StringValueArrayBytesArray(
                "6, 0, 255, 212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125, 145, 1");

            replacedert.AreEqual(methodBytes, method.Encode());

            var genesis = new Hash();
            genesis.Create(genesisHash);

            var startEra = new Hash();
            startEra.Create(blockHash);

            var signedExtensions = new SignedExtensions(259, 1, genesis, startEra, era, 0, 0);

            var payload = new Payload(method, signedExtensions);

            var payloadBytes = Utils.StringValueArrayBytesArray(
                "6, 0, 255, 212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125, 145, 1, 58, 6, 0, 0, 3, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0");

            replacedert.AreEqual(payloadBytes, payload.Encode());
        }

See More Examples