Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SOCKSProxy.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

172 lines
5.6 KiB
C#

using System;
using System.IO;
using System.Net;
using System.Text;
using BestHTTP.Authentication;
using BestHTTP.Extensions;
using BestHTTP.Logger;
using Cpp2IlInjected;
namespace BestHTTP
{
// Token: 0x0200198C RID: 6540
[Token(Token = "0x200198C")]
public sealed class SOCKSProxy : Proxy
{
// Token: 0x06009865 RID: 39013 RVA: 0x001F152C File Offset: 0x001EF72C
[Token(Token = "0x6009865")]
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
public SOCKSProxy(Uri address, Credentials credentials)
{
this.<Address>k__BackingField = address;
this.<Credentials>k__BackingField = credentials;
}
// Token: 0x06009866 RID: 39014 RVA: 0x001F1550 File Offset: 0x001EF750
[Token(Token = "0x6009866")]
[Address(RVA = "0x22A3D80", Offset = "0x22A2D80", VA = "0x1822A3D80", Slot = "5")]
internal override string GetRequestPath(Uri uri)
{
return uri.GetRequestPathAndQueryURL();
}
// Token: 0x06009867 RID: 39015 RVA: 0x001F1564 File Offset: 0x001EF764
[Token(Token = "0x6009867")]
[Address(RVA = "0x22A2C60", Offset = "0x22A1C60", VA = "0x1822A2C60", Slot = "4")]
internal override void Connect(Stream stream, HTTPRequest request)
{
byte[] array;
for (;;)
{
array = new byte[1024];
array[0] = (byte)((ulong)5L);
if (HTTPManager.Logger == 0)
{
int num = 0;
ILogger logger = HTTPManager.Logger;
string text = num.ToString();
string text3;
string text2 = string.Format("Sending method negotiation - count: {0} buffer: {1} ", text, text3);
}
int num2 = stream.ReadByte();
if (HTTPManager.Logger == 0)
{
int num3 = 0;
ILogger logger2 = HTTPManager.Logger;
string text4 = num3.ToString();
string text6;
string text5 = string.Format("Negotiation response - count: {0} buffer: {1} ", text4, text6);
}
int length = array.Length;
byte b = array[0];
byte b2 = array[0];
ILogger logger3 = HTTPManager.Logger;
if (typeof(ILogger).TypeHandle == 0)
{
goto IL_186;
}
if (typeof(ILogger).TypeHandle != 0 && (typeof(ILogger).TypeHandle == (ulong)1L || typeof(ILogger).TypeHandle != (ulong)255L))
{
Credentials <Credentials>k__BackingField = this.<Credentials>k__BackingField;
string <UserName>k__BackingField = <Credentials>k__BackingField.<UserName>k__BackingField;
string <Password>k__BackingField = <Credentials>k__BackingField.<Password>k__BackingField;
ILogger logger4 = HTTPManager.Logger;
array[0] = (byte)((ulong)1L);
Credentials <Credentials>k__BackingField2 = this.<Credentials>k__BackingField;
int num4 = 0;
Credentials <Credentials>k__BackingField3 = this.<Credentials>k__BackingField;
if (HTTPManager.Logger == 0)
{
int num5 = 0;
ILogger logger5 = HTTPManager.Logger;
string text7 = num5.ToString();
string text9;
string text8 = string.Format("Sending username and password sub-negotiation - count: {0} buffer: {1} ", text7, text9);
}
int num6 = stream.ReadByte();
if (HTTPManager.Logger == 0)
{
int num7 = 0;
ILogger logger6 = HTTPManager.Logger;
string text10 = num7.ToString();
string text12;
string text11 = string.Format("Username and password sub-negotiation response - count: {0} buffer: {1} ", text10, text12);
}
if ("{il2cpp array field local5->}" == num4)
{
break;
}
}
}
ILogger logger7 = HTTPManager.Logger;
IL_186:
array[0] = (byte)((ulong)5L);
Uri currentUri = request.CurrentUri;
if (!currentUri.IsHostIsAnIPAddress())
{
currentUri.m_Syntax = (ulong)3L;
string host = request.CurrentUri.Host;
}
string host2 = request.CurrentUri.Host;
bool flag = Extensions.IsIpV4AddressValid(host2);
int length2 = IPAddress.Parse(request.CurrentUri.Host).GetAddressBytes().Length;
int port = request.CurrentUri.Port;
int port2 = request.CurrentUri.Port;
if (HTTPManager.Logger == 0)
{
int num8 = 0;
ILogger logger8 = HTTPManager.Logger;
string text13 = num8.ToString();
string text15;
string text14 = string.Format("Sending connect request - count: {0} buffer: {1} ", text13, text15);
}
int num9 = stream.ReadByte();
if (HTTPManager.Logger == 0)
{
int num10 = 0;
ILogger logger9 = HTTPManager.Logger;
string text16 = num10.ToString();
string text18;
string text17 = string.Format("Connect response - count: {0} buffer: {1} ", text16, text18);
}
int length3 = array.Length;
byte b3 = array[0];
ILogger logger10 = HTTPManager.Logger;
}
// Token: 0x06009868 RID: 39016 RVA: 0x001F1804 File Offset: 0x001EFA04
[Token(Token = "0x6009868")]
[Address(RVA = "0x22A3E30", Offset = "0x22A2E30", VA = "0x1822A3E30")]
private void WriteString(byte[] buffer, ref int count, string str)
{
Encoding utf = Encoding.UTF8;
count.m_value = utf;
}
// Token: 0x06009869 RID: 39017 RVA: 0x001F1828 File Offset: 0x001EFA28
[Token(Token = "0x6009869")]
[Address(RVA = "0x22A3DE0", Offset = "0x22A2DE0", VA = "0x1822A3DE0")]
private void WriteBytes(byte[] buffer, ref int count, byte[] bytes)
{
int length = bytes.Length;
int length2 = bytes.Length;
}
// Token: 0x0600986A RID: 39018 RVA: 0x001F184C File Offset: 0x001EFA4C
[Token(Token = "0x600986A")]
[Address(RVA = "0x22A2B70", Offset = "0x22A1B70", VA = "0x1822A2B70")]
private string BufferToHexStr(byte[] buffer, int count)
{
int num = 0;
if (count > 0)
{
StringBuilder stringBuilder2;
string text;
StringBuilder stringBuilder = stringBuilder2.AppendFormat("0x{0} ", text);
num++;
}
throw new NullReferenceException();
}
}
}