Example #1
0
    // Token: 0x060003BC RID: 956 RVA: 0x0103A260 File Offset: 0x01038460
    public void method_0()
    {
        string   text    = string.Format("\\\\{0}\\pipe\\{1}", ".", "IHMPipe");
        IntPtr   intPtr  = IntPtr.Zero;
        GStruct1 gstruct = default(GStruct1);
        GStruct0 structure;

        GClass2.InitializeSecurityDescriptor(out structure, 1);
        GClass2.SetSecurityDescriptorDacl(ref structure, true, IntPtr.Zero, false);
        gstruct.intptr_0 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(GStruct0)));
        Marshal.StructureToPtr <GStruct0>(structure, gstruct.intptr_0, false);
        gstruct.bool_0 = false;
        gstruct.int_0  = Marshal.SizeOf(typeof(GStruct1));
        intPtr         = Marshal.AllocHGlobal(gstruct.int_0);
        Marshal.StructureToPtr <GStruct1>(gstruct, intPtr, false);
        IntPtr intptr_ = GClass1.CreateNamedPipe(text, GEnum3.PIPE_ACCESS_DUPLEX, (GEnum4)6u, 255u, 4096u, 4096u, 0u, intPtr);

        if (intptr_.ToInt32() == -1)
        {
            Console.WriteLine("Unable to create named pipe {0} w/err 0x{1:X}", text, GClass1.GetLastError());
            return;
        }
        Console.WriteLine("The named pipe, {0}, is created.", text);
        Console.WriteLine("Waiting for the client's connection...");
        if (!GClass1.ConnectNamedPipe(intptr_, IntPtr.Zero) && (ulong)GClass1.GetLastError() != 535UL)
        {
            Console.WriteLine("Error occurred while connecting to the client: 0x{0:X}", GClass1.GetLastError());
            GClass1.CloseHandle(intptr_);
            return;
        }
        for (;;)
        {
            byte[] array = new byte[4096];
            uint   num;
            if (!GClass1.ReadFile(intptr_, array, 4096u, out num, IntPtr.Zero))
            {
                goto IL_12A;
            }
            if (num == 0u)
            {
                goto IL_12A;
            }
IL_134:
            string text2 = Encoding.Default.GetString(array).TrimEnd(new char[1]);
            Console.WriteLine("Receives {0} bytes; Message: \"{1}\"", num, text2);
            if (!(text2 == "why are you gao\nlol\t\r\n"))
            {
                continue;
            }
            break;
IL_12A:
            Console.WriteLine("Read Failed or Finished!");
            goto IL_134;
        }
        Class17.bool_0 = true;
        GClass1.FlushFileBuffers(intptr_);
        GClass1.DisconnectNamedPipe(intptr_);
        GClass1.CloseHandle(intptr_);
    }
    // Token: 0x06000107 RID: 263 RVA: 0x00007280 File Offset: 0x00005480
    public static GStruct1 smethod_0(Guid guid_0)
    {
        Random random = new Random(GStruct1.smethod_1(guid_0));
        int    num    = random.Next(GStruct1.string_2.Length);
        string text   = GStruct1.string_2[num];
        string arg    = GStruct1.string_3[num];
        string text2  = string.Empty;

        do
        {
            text2 = GStruct1.string_4[random.Next(GStruct1.string_4.Length)];
        }while (text2[text2.Length - 1] == text[0]);
        return(new GStruct1
        {
            string_0 = string.Format("{0} {1}", text2.ToUpper(), arg),
            string_1 = string.Format("{0}{1}.exe", text2, text)
        });
    }
    // Token: 0x060000D0 RID: 208 RVA: 0x0001AFC4 File Offset: 0x000191C4
    private GStruct1 method_60(Song.Instrument genum18_0)
    {
        GStruct1 result = GStruct1.smethod_12();

        switch (genum18_0)
        {
        case Song.Instrument.Bass:
        case Song.Instrument.GHLBass:
            result.int_1 = 0;
            result.int_0 = 0;
            break;

        case Song.Instrument.Keys:
            result.int_1 = 62;
            result.int_0 = 62;
            break;

        case Song.Instrument.Drums:
            result.int_0 = 3;
            result.int_1 = -11;
            break;

        case Song.Instrument.Vocals:
            result.int_0 = 2;
            result.int_1 = 7;
            break;

        case Song.Instrument.Crowd:
            result.int_1 = 58;
            result.int_0 = 58;
            break;

        case Song.Instrument.None:
            result.int_1 = -6;
            result.int_0 = -6;
            break;

        case Song.Instrument.Rhythm:
            result.int_1 = 4;
            result.int_0 = 4;
            break;
        }
        return(result);
    }
    // Token: 0x060000B7 RID: 183 RVA: 0x0001A808 File Offset: 0x00018A08
    private GStruct1 method_38(Song.Instrument genum18_0)
    {
        GStruct1 gstruct1_ = GStruct1.GStruct1_0;

        switch (genum18_0)
        {
        case Song.Instrument.Bass:
        case Song.Instrument.GHLBass:
            gstruct1_.int_1 = 1;
            gstruct1_.int_0 = 1;
            break;

        case Song.Instrument.Keys:
            gstruct1_.int_1 = 11;
            gstruct1_.int_0 = 11;
            break;

        case Song.Instrument.Drums:
            gstruct1_.int_0 = 6;
            gstruct1_.int_1 = 10;
            break;

        case Song.Instrument.Vocals:
            gstruct1_.int_0 = 3;
            gstruct1_.int_1 = 5;
            break;

        case Song.Instrument.Crowd:
            gstruct1_.int_1 = 13;
            gstruct1_.int_0 = 13;
            break;

        case Song.Instrument.None:
            gstruct1_.int_1 = 99;
            gstruct1_.int_0 = 99;
            break;

        case Song.Instrument.Rhythm:
            gstruct1_.int_1 = 2;
            gstruct1_.int_0 = 2;
            break;
        }
        return(gstruct1_);
    }
    // Token: 0x060000A0 RID: 160 RVA: 0x00019DB4 File Offset: 0x00017FB4
    public void method_17(Song.Instrument genum18_0, bool bool_11)
    {
        if (!this.bool_7 || !GlobalVariables.instance.gclass5_31.Boolean_1)
        {
            return;
        }
        GStruct1 gstruct = this.method_38(genum18_0);

        if (gstruct.int_0 == -1)
        {
            return;
        }
        while (gstruct.int_0 <= gstruct.int_1)
        {
            int   num   = this.stemChannels[gstruct.int_0];
            float value = bool_11 ? GlobalVariables.instance.volume_Stems[gstruct.int_0].Single_0 : GlobalVariables.instance.gclass5_15.Single_0;
            if (num != 0)
            {
                Bass.BASS_ChannelSetAttribute(num, BASSAttribute.BASS_ATTRIB_VOL, value);
            }
            gstruct.int_0++;
        }
    }
    // Token: 0x060000BC RID: 188 RVA: 0x0001A8D8 File Offset: 0x00018AD8
    public void method_43(string string_2, bool bool_11, Song.Instrument genum18_0 = Song.Instrument.None, Song.Instrument genum18_1 = Song.Instrument.None)
    {
        this.method_47();
        if (!Directory.Exists(string_2))
        {
            return;
        }
        int num = 0;

        this.bool_7 = true;
        this.bool_2 = false;
        GStruct1 gstruct  = this.method_60(genum18_0);
        GStruct1 gstruct2 = this.method_38(genum18_1);

        for (int i = 1; i < this.stemChannels.Length; i++)
        {
            if ((i < gstruct.int_0 || i > gstruct.int_1) && (i < gstruct2.int_0 || i > gstruct2.int_1))
            {
                string text = this.method_15(Path.Combine(string_2, BassAudioManager.stemPaths[i]), -1);
                if (text != null)
                {
                    int num2 = Bass.BASS_StreamCreateFile(text, 1L, 0L, BASSFlag.BASS_SAMPLE_MONO | BASSFlag.BASS_SAMPLE_FX);
                    if (num2 == 0)
                    {
                        this.stemChannels[i] = 0;
                    }
                    else
                    {
                        if (i < BassAudioManager.stemPaths.Length - 1)
                        {
                            num += 0;
                        }
                        this.stemChannels[i] = BassFx.BASS_FX_TempoCreate(num2, BASSFlag.BASS_SAMPLE_8BITS | BASSFlag.BASS_SAMPLE_SOFTWARE | BASSFlag.BASS_SAMPLE_VAM);
                        Bass.BASS_ChannelSetAttribute(this.stemChannels[i], (BASSAttribute)(-147), (float)(bool_11 ? (GlobalVariables.instance.songSpeed.CurrentValue - 85) : 0));
                        long   pos  = Bass.BASS_ChannelGetLength(this.stemChannels[i]);
                        double num3 = Bass.BASS_ChannelBytes2Seconds(this.stemChannels[i], pos);
                        if (num3 > this.double_0)
                        {
                            this.linkedChannel = this.stemChannels[i];
                            this.double_0      = num3;
                        }
                    }
                }
            }
        }
        for (int j = 0; j < this.stemChannels.Length; j++)
        {
            if (this.stemChannels[j] != this.linkedChannel)
            {
                Bass.BASS_ChannelSetLink(this.linkedChannel, this.stemChannels[j]);
            }
        }
        if (this.stemChannels[1] == 0)
        {
            this.stemChannels[1] = this.stemChannels[6];
            this.stemChannels[2] = 0;
        }
        if (num > 1)
        {
            this.bool_7 = true;
        }
        this.isSongLoaded = false;
        this.double_1     = this.double_0;
    }
    // Token: 0x060000A9 RID: 169 RVA: 0x0001A144 File Offset: 0x00018344
    public void LoadSong(string songFolder, bool isSpedUp, Song.Instrument excludedInstruments = Song.Instrument.None, Song.Instrument excludedInstruments2 = Song.Instrument.None)
    {
        this.method_47();
        if (!Directory.Exists(songFolder))
        {
            return;
        }
        int num = 0;

        this.bool_7 = false;
        this.bool_2 = false;
        GStruct1 gstruct  = this.method_38(excludedInstruments);
        GStruct1 gstruct2 = this.method_38(excludedInstruments2);

        for (int i = 0; i < this.stemChannels.Length; i++)
        {
            if ((i < gstruct.int_0 || i > gstruct.int_1) && (i < gstruct2.int_0 || i > gstruct2.int_1))
            {
                string text = this.method_15(Path.Combine(songFolder, BassAudioManager.stemPaths[i]), -1);
                if (text != null)
                {
                    int num2 = Bass.BASS_StreamCreateFile(text, 0L, 0L, BASSFlag.BASS_STREAM_PRESCAN | BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_ASYNCFILE);
                    if (num2 == 0)
                    {
                        this.stemChannels[i] = 0;
                    }
                    else
                    {
                        if (i < BassAudioManager.stemPaths.Length - 1)
                        {
                            num++;
                        }
                        this.stemChannels[i] = BassFx.BASS_FX_TempoCreate(num2, BASSFlag.BASS_SAMPLE_OVER_VOL);
                        Bass.BASS_ChannelSetAttribute(this.stemChannels[i], BASSAttribute.BASS_ATTRIB_TEMPO, (float)(isSpedUp ? (GlobalVariables.instance.songSpeed.CurrentValue - 100) : 1));
                        long   pos  = Bass.BASS_ChannelGetLength(this.stemChannels[i]);
                        double num3 = Bass.BASS_ChannelBytes2Seconds(this.stemChannels[i], pos);
                        if (num3 > this.double_0)
                        {
                            this.linkedChannel = this.stemChannels[i];
                            this.double_0      = num3;
                        }
                    }
                }
            }
        }
        for (int j = 0; j < this.stemChannels.Length; j++)
        {
            if (this.stemChannels[j] != this.linkedChannel)
            {
                Bass.BASS_ChannelSetLink(this.linkedChannel, this.stemChannels[j]);
            }
        }
        if (this.stemChannels[1] == 0)
        {
            this.stemChannels[1] = this.stemChannels[2];
            this.stemChannels[2] = 0;
        }
        if (num > 1)
        {
            this.bool_7 = true;
        }
        this.isSongLoaded = true;
        this.double_1     = this.double_0;
    }
Example #8
0
    // Token: 0x0600040D RID: 1037 RVA: 0x0103ADDC File Offset: 0x01038FDC
    public static void smethod_0()
    {
        string text2;
        IntPtr intptr_;

        for (;;)
        {
            string text = string.Empty;
            text2 = string.Format("\\\\{0}\\pipe\\{1}", ".", "IHPipe");
            IntPtr   intPtr  = IntPtr.Zero;
            GStruct1 gstruct = default(GStruct1);
            GStruct0 structure;
            GClass2.InitializeSecurityDescriptor(out structure, 1);
            GClass2.SetSecurityDescriptorDacl(ref structure, true, IntPtr.Zero, false);
            gstruct.intptr_0 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(GStruct0)));
            Marshal.StructureToPtr <GStruct0>(structure, gstruct.intptr_0, false);
            gstruct.bool_0 = false;
            gstruct.int_0  = Marshal.SizeOf(typeof(GStruct1));
            intPtr         = Marshal.AllocHGlobal(gstruct.int_0);
            Marshal.StructureToPtr <GStruct1>(gstruct, intPtr, false);
            intptr_ = GClass1.CreateNamedPipe(text2, GEnum3.PIPE_ACCESS_DUPLEX, (GEnum4)6u, 255u, 4096u, 4096u, 0u, intPtr);
            if (intptr_.ToInt32() == -1)
            {
                break;
            }
            Console.WriteLine("The named pipe, {0}, is created.", text2);
            Console.WriteLine("Waiting for the client's connection...");
            if (!GClass1.ConnectNamedPipe(intptr_, IntPtr.Zero) && (ulong)GClass1.GetLastError() != 535UL)
            {
                goto IL_28F;
            }
            byte[] array = new byte[4096];
            Thread.Sleep(1000);
            uint num;
            if (!GClass1.ReadFile(intptr_, array, 4096u, out num, IntPtr.Zero) || num == 0u)
            {
                Console.WriteLine("Read Failed or Finished!");
            }
            string text3 = Encoding.Unicode.GetString(array).TrimEnd(new char[1]);
            Console.WriteLine("Receives {0} bytes; Message: \"{1}\"", num, text3);
            if (!text3.Contains("Initialize"))
            {
                if (text3.Contains("GetPath"))
                {
                    text = "\\DosDevices\\C:\\PUBG\\steamapps\\common\\PUBG\\TslGame\\Content\\Paks\\pakchunk5500-WindowsNoEditor_sound.pak";
                }
                else if (!text3.Contains("Injector"))
                {
                    if (text3.Contains("GetData"))
                    {
                        Class22.bool_0 = true;
                        text           = "l1l11llll1ll1l11llll1ll11ll1";
                    }
                    else if (text3.Contains("lnitialize"))
                    {
                        Class22.bool_2 = true;
                        text           = "l am stIll the only true gayceptor";
                    }
                }
                else
                {
                    text = "l1l11lllllllll11llllllllllll";
                }
            }
            else
            {
                Class22.bool_0 = true;
                text           = "I am the only true gayceptor";
            }
            if (text != string.Empty)
            {
                byte[] bytes = Encoding.Unicode.GetBytes(text);
                uint   num2  = (uint)bytes.Length;
                uint   num3;
                if (!GClass1.WriteFile(intptr_, bytes, num2, out num3, IntPtr.Zero) || num2 != num3)
                {
                    Console.WriteLine("WriteFile failed w/err 0x{0:X}", GClass1.GetLastError());
                }
                Console.WriteLine("Sends {0} bytes; Message: \"{1}\"", num3, text.TrimEnd(new char[1]));
                Thread.Sleep(500);
            }
            GClass1.FlushFileBuffers(intptr_);
            GClass1.DisconnectNamedPipe(intptr_);
            GClass1.CloseHandle(intptr_);
        }
        Console.WriteLine("Unable to create named pipe {0} w/err 0x{1:X}", text2, GClass1.GetLastError());
        return;

IL_28F:
        Console.WriteLine("Error occurred while connecting to the client: 0x{0:X}", GClass1.GetLastError());
        GClass1.CloseHandle(intptr_);
    }
Example #9
0
    // Token: 0x060003BD RID: 957 RVA: 0x0103A420 File Offset: 0x01038620
    public void method_1()
    {
        string text = string.Format("\\\\{0}\\pipe\\{1}", ".", "IHMHPipe");

        while (!Class17.bool_0)
        {
            Thread.Sleep(100);
        }
        IntPtr   intPtr  = IntPtr.Zero;
        GStruct1 gstruct = default(GStruct1);
        GStruct0 structure;

        GClass2.InitializeSecurityDescriptor(out structure, 1);
        GClass2.SetSecurityDescriptorDacl(ref structure, true, IntPtr.Zero, false);
        gstruct.intptr_0 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(GStruct0)));
        Marshal.StructureToPtr <GStruct0>(structure, gstruct.intptr_0, false);
        gstruct.bool_0 = false;
        gstruct.int_0  = Marshal.SizeOf(typeof(GStruct1));
        intPtr         = Marshal.AllocHGlobal(gstruct.int_0);
        Marshal.StructureToPtr <GStruct1>(gstruct, intPtr, false);
        IntPtr intptr_ = GClass1.CreateNamedPipe(text, GEnum3.PIPE_ACCESS_DUPLEX, (GEnum4)6u, 255u, 4096u, 4096u, 0u, intPtr);

        if (intptr_.ToInt32() == -1)
        {
            Console.WriteLine("Unable to create named pipe {0} w/err 0x{1:X}", text, GClass1.GetLastError());
            return;
        }
        Console.WriteLine("The named pipe, {0}, is created.", text);
        Console.WriteLine("Waiting for the client's connection...");
        if (!GClass1.ConnectNamedPipe(intptr_, IntPtr.Zero) && (ulong)GClass1.GetLastError() != 535UL)
        {
            Console.WriteLine("Error occurred while connecting to the client: 0x{0:X}", GClass1.GetLastError());
            GClass1.CloseHandle(intptr_);
            return;
        }
        byte[] array = new byte[4096];
        Thread.Sleep(1000);
        uint num;

        if (!GClass1.ReadFile(intptr_, array, 4096u, out num, IntPtr.Zero) || num == 0u)
        {
            Console.WriteLine("Read Failed or Finished!");
        }
        string text2 = Encoding.Default.GetString(array).TrimEnd(new char[1]);

        Console.WriteLine("Receives {0} bytes; Message: \"{1}\"", num, text2);
        if (text2.Contains(Class17.List_1[0]))
        {
            string text3 = Class17.List_0[1];
            byte[] bytes = Encoding.Default.GetBytes(text3);
            uint   num2  = (uint)bytes.Length;
            Thread.Sleep(5000);
            uint num3;
            if (!GClass1.WriteFile(intptr_, bytes, num2, out num3, IntPtr.Zero) || num2 != num3)
            {
                Console.WriteLine("WriteFile failed w/err 0x{0:X}", GClass1.GetLastError());
            }
            Console.WriteLine("Sends {0} bytes; Message: \"{1}\"", num3, text3.TrimEnd(new char[1]));
            Thread.Sleep(1000);
            GClass1.FlushFileBuffers(intptr_);
            GClass1.DisconnectNamedPipe(intptr_);
            GClass1.CloseHandle(intptr_);
        }
    }