Thanks Arco! :D
Same, I was able to make a stable(ish) 5065 source from this.Quote:
Download rev 3 , get the database and set it up. Ive used this source updated it and much more and still use it as base till this day. Ive learned all my coding from this source and from many friend if ya need help just post and ill help you out.
So after I set it up...how Do I configure it lol? to like my IP...sorry haven't done many 5017 servers :/...I mean like is there a config.ini like most of the 5017 sources o_0? and how do I make an account...again I'm a newbie IDC :D...Quote:
Download rev 3 , get the database and set it up. Ive used this source updated it and much more and still use it as base till this day. Ive learned all my coding from this source and from many friend if ya need help just post and ill help you out.
There are a number of things you would have to change with the .dll if you tried to code it directly into the source. If I remember correctly me and pood had it down to only a few errors all linked to the same things but then I got bored and moved on to something else lol.Quote:
Alright well ive decided to look into this (not sure if this is answered or not but....) I decompiled the Socketnetwork.dll and im getting ALOT of errors
Anyway i may be doing it wrong but meh
Anyhelp is appreciated
namespace Conquer.Auth.Encryptions
{
public class ConquerStanderedCipher : IPacketCipher
{
private ushort InCounter;
private byte[] Key3;
private byte[] Key4;
private ushort OutCounter;
private bool UsingAlternate;
public void Decrypt(byte[] In, byte[] Out, int Length)
{
lock (this)
{
for (int i = 0; i < Length; i++)
{
Out[i] = (byte)(In[i] ^ 0xab);
Out[i] = (byte)((Out[i] << 4) | (Out[i] >> 4));
if (this.UsingAlternate)
{
Out[i] = (byte)(this.Key4[this.InCounter >> 8] ^ Out[i]);
Out[i] = (byte)(this.Key3[this.InCounter & 0xff] ^ Out[i]);
}
else
{
Out[i] = (byte)(ConquerKeys.Key2[this.InCounter >> 8] ^ Out[i]);
Out[i] = (byte)(ConquerKeys.Key1[this.InCounter & 0xff] ^ Out[i]);
}
this.InCounter = (ushort)(this.InCounter + 1);
}
}
}
public unsafe void Encrypt(byte* In, byte[] Out, int Length)
{
lock (this)
{
for (int i = 0; i < Length; i++)
{
Out[i] = (byte)(In[i] ^ 0xab);
Out[i] = (byte)((Out[i] << 4) | (Out[i] >> 4));
Out[i] = (byte)(ConquerKeys.Key2[this.OutCounter >> 8] ^ Out[i]);
Out[i] = (byte)(ConquerKeys.Key1[this.OutCounter & 0xff] ^ Out[i]);
this.OutCounter = (ushort)(this.OutCounter + 1);
}
}
}
public void Encrypt(byte[] In, byte[] Out, int Length)
{
lock (this)
{
for (int i = 0; i < Length; i++)
{
Out[i] = (byte)(In[i] ^ 0xab);
Out[i] = (byte)((Out[i] << 4) | (Out[i] >> 4));
Out[i] = (byte)(ConquerKeys.Key2[this.OutCounter >> 8] ^ Out[i]);
Out[i] = (byte)(ConquerKeys.Key1[this.OutCounter & 0xff] ^ Out[i]);
this.OutCounter = (ushort)(this.OutCounter + 1);
}
}
}
}
}