Skip to content

Commit

Permalink
Merge pull request #322 from im-apbecker/is-this-a-joke
Browse files Browse the repository at this point in the history
Simplify code in Packet.cs
  • Loading branch information
baughj committed May 5, 2024
2 parents 1019ab4 + 90840f0 commit 402d0fb
Showing 1 changed file with 43 additions and 120 deletions.
163 changes: 43 additions & 120 deletions hybrasyl/Packet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,8 @@ protected Packet()

public abstract EncryptMethod EncryptMethod { get; }

public abstract bool ShouldEncrypt { get; }
public abstract bool UseDefaultKey { get; }
public bool ShouldEncrypt => EncryptMethod != EncryptMethod.None;
public bool UseDefaultKey => EncryptMethod == EncryptMethod.Normal;

public string Hash()
{
Expand Down Expand Up @@ -419,86 +419,36 @@ public ClientPacket(byte[] buffer)
}
}

public override bool ShouldEncrypt => Opcode != 0x00 && Opcode != 0x10;

public override bool UseDefaultKey => Opcode == 0x02 || Opcode == 0x03 || Opcode == 0x04 || Opcode == 0x0B ||
Opcode == 0x26
|| Opcode == 0x2D || Opcode == 0x3A || Opcode == 0x42 || Opcode == 0x43 ||
Opcode == 0x4B
|| Opcode == 0x57 || Opcode == 0x62 || Opcode == 0x68 || Opcode == 0x71 ||
Opcode == 0x73
|| Opcode == 0x7B;


public override EncryptMethod EncryptMethod
{
get
{
var opcode = Opcode;
if (opcode <= 0x43)
switch (Opcode)
{
if (opcode <= 0x10)
{
switch (opcode)
{
case 0x00:
break;
case 0x01:
return EncryptMethod.MD5Key;
case 0x02:
case 0x03:
case 0x04:
return EncryptMethod.Normal;
default:
if (opcode == 0x0A) return EncryptMethod.Normal;
if (opcode != 0x10) return EncryptMethod.MD5Key;
break;
}
}
else if (opcode <= 0x2D)
{
if (opcode != 0x26 && opcode != 0x2D) return EncryptMethod.MD5Key;
case 0x00:
case 0x10:
case 0x48:
return EncryptMethod.None;
case 0x02:
case 0x03:
case 0x04:
case 0x0B:
case 0x26:
case 0x2D:
case 0x3A:
case 0x42:
case 0x43:
case 0x4B:
case 0x57:
case 0x62:
case 0x68:
case 0x71:
case 0x73:
case 0x7B:
return EncryptMethod.Normal;
}
else
{
if (opcode == 0x3A) return EncryptMethod.Normal;
switch (opcode)
{
case 0x42:
case 0x43:
return EncryptMethod.Normal;
default:
return EncryptMethod.MD5Key;
}
}
default:
return EncryptMethod.MD5Key;
}
else if (opcode <= 0x57)
{
if (opcode == 0x48) return EncryptMethod.None;
if (opcode != 0x4B && opcode != 0x57) return EncryptMethod.MD5Key;
return EncryptMethod.Normal;
}
else if (opcode <= 0x68)
{
if (opcode != 0x62 && opcode != 0x68) return EncryptMethod.MD5Key;
return EncryptMethod.Normal;
}
else
{
switch (opcode)
{
case 0x71:
case 0x73:
return EncryptMethod.Normal;
case 0x72:
return EncryptMethod.MD5Key;
default:
return opcode != 0x7B ? EncryptMethod.MD5Key : EncryptMethod.Normal;
}
}

return EncryptMethod.None;
}
}

Expand Down Expand Up @@ -697,54 +647,29 @@ public ServerPacket(byte[] buffer)
}
}

public override bool ShouldEncrypt => Opcode != 0x00 && Opcode != 0x03 && Opcode != 0x7E; //&& Opcode != 0x0D;

public override bool UseDefaultKey => Opcode == 0x01 || Opcode == 0x02 || Opcode == 0x0A || Opcode == 0x56 ||
Opcode == 0x60
|| Opcode == 0x62 || Opcode == 0x66; //(|| Opcode == 0x6F;)

public override EncryptMethod EncryptMethod
{
get
{
var opcode = Opcode;
if (opcode <= 0x56)
{
if (opcode <= 0x0A)
switch (opcode)
{
case 0x00:
case 0x03:
break;
case 0x01:
case 0x02:
return EncryptMethod.Normal;
default:
return opcode != 0x0A ? EncryptMethod.MD5Key : EncryptMethod.Normal;
}
else if (opcode != 0x40) return opcode != 0x56 ? EncryptMethod.MD5Key : EncryptMethod.Normal;
}
else if (opcode <= 0x66)
{
switch (opcode)
{
case 0x60:
case 0x62:
return EncryptMethod.Normal;
case 0x63:
return EncryptMethod.MD5Key;
default:
return opcode != 0x66 ? EncryptMethod.MD5Key : EncryptMethod.Normal;
}
}
else
switch (Opcode)
{
if (opcode == 0x6F) return EncryptMethod.Normal;
if (opcode != 0x7E) return EncryptMethod.MD5Key;
case 0x00:
case 0x03:
case 0x40:
case 0x7E:
return EncryptMethod.None;
case 0x01:
case 0x02:
case 0x0A:
case 0x56:
case 0x60:
case 0x62:
case 0x66:
case 0x6F:
return EncryptMethod.Normal;
default:
return EncryptMethod.MD5Key;
}

//if (opcode == 0x1a) return EncryptMethod.Normal;
return EncryptMethod.None;
}
}

Expand Down Expand Up @@ -903,6 +828,4 @@ public ServerPacket Clone()
var f = ToArray();
return new ServerPacket(f);
}


}
}

0 comments on commit 402d0fb

Please sign in to comment.