|
You last visited: Today at 04:29
Advertisement
Stripped ProjectAlchemy Source Code
Discussion on Stripped ProjectAlchemy Source Code within the CO2 Bots & Macros forum part of the Conquer Online 2 category.
01/17/2011, 01:52
|
#676
|
elite*gold: 0
Join Date: Aug 2010
Posts: 951
Received Thanks: 76
|
The 136 thing worked
|
|
|
01/17/2011, 02:52
|
#677
|
elite*gold: 0
Join Date: Aug 2006
Posts: 45
Received Thanks: 6
|
I have a code piece to disconnect when a player starts flashing. This is for packet 10017. I think this is useful for mining bot. Anyone who worked on Talk-to-NPC function, please share the information?  Eventually I will get there but we could exchange basic functions  P4N, first "if section" for char update can be refactored using similar pattern, btw.
Thanks.
else if (Client.DcOnFlashing)
{
uint Amount = ReadUInt32(Data, 8);
int Pointer = 12;
for (uint i = 0; i < Amount; i++)
{
uint StatusCode = ReadUInt16(Data, Pointer);
if (StatusCode == 25)
{
ulong StatusValue = ReadUInt32(Data, Pointer + 4);
if ((StatusValue & 0x1) > 0)
{
COut(Client.Name + " Disconnecting due to flashing player name: ");
Client.Disconnect();
}
Pointer += 12;
}
}
}
|
|
|
01/17/2011, 09:34
|
#678
|
elite*gold: 0
Join Date: Apr 2007
Posts: 906
Received Thanks: 1,431
|
lol u lot should just get an svn and be done with it :P
altho id recommend only adding users if some1 actually contributes to the origional source code, then let em get access to add it to ur svn. ull all get stuff done much quicker
|
|
|
01/17/2011, 14:41
|
#679
|
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 925
|
Just so you know but decrypting passwords with your own code doesn't work properly, lol
I downloaded the proxy, stuck your code in, ran it, logged in and it printed the wrong password to the console.
Quote:
Originally Posted by pro4never
Here's from my source using same kinda system.
byte[] Password = read from the packet.
Code:
string Pass;
msvcrt.msvcrt.srand(Client.PassSeed);
var rc5Key = new byte[0x10];
for (int i = 0; i < 0x10; i++)
rc5Key[i] = (byte)msvcrt.msvcrt.rand();
ConquerPasswordCryptpographer A = new ConquerPasswordCryptpographer(User);
Encryption.RC5 B = new Encryption.RC5(rc5Key);
Pass = Encoding.ASCII.GetString(
(new ConquerPasswordCryptpographer(User).Decrypt(new Encryption.RC5(rc5Key).Decrypt(Password))));
Pass = Pass.Replace("\0", "");
I just use the released liberate cryptography dll, msvcrt dll and then the following pass crypt class.
Code:
public sealed class RC5Exception : Exception
{
public RC5Exception(string message) : base(message) { }
}
public sealed class RC5
{
private readonly uint[] _bufKey = new uint[4];
private readonly uint[] _bufSub = new uint[26];
public RC5(byte[] data)
{
if (data.Length != 16) throw new RC5Exception("Invalid data length. Must be 16 bytes");
const uint p32 = 0xB7E15163;
const uint q32 = 0x61C88647;
uint offsetA = 0, offsetB = 0, A = 0, B = 0;
for (int i = 0; i < 4; i++)
_bufKey[i] = (uint)(data[i * 4] + (data[i * 4 + 1] << 8) + (data[i * 4 + 2] << 16) + (data[i * 4 + 3] << 24));
_bufSub[0] = p32;
for (int i = 1; i < 26; i++)
{
_bufSub[i] = _bufSub[i - 1] - q32;
}
for (int s = 1; s <= 78; s++)
{
_bufSub[offsetA] = LeftRotate(_bufSub[offsetA] + A + B, 3);
A = _bufSub[offsetA];
offsetA = (offsetA + 1) % 0x1A;
_bufKey[offsetB] = LeftRotate(_bufKey[offsetB] + A + B, (int)(A + B));
B = _bufKey[offsetB];
offsetB = (offsetB + 1) % 4;
}
}
public byte[] Decrypt(byte[] data)
{
if (data.Length % 8 != 0) throw new RC5Exception("Invalid password length. Must be multiple of 8");
int nLen = data.Length / 8 * 8;
if (nLen <= 0) throw new RC5Exception("Invalid password length. Must be greater than 0 bytes.");
uint[] bufData = new uint[data.Length / 4];
for (int i = 0; i < data.Length / 4; i++)
bufData[i] = (uint)(data[i * 4] + (data[i * 4 + 1] << 8) + (data[i * 4 + 2] << 16) + (data[i * 4 + 3] << 24));
for (int i = 0; i < nLen / 8; i++)
{
uint ld = bufData[2 * i];
uint rd = bufData[2 * i + 1];
for (int j = 12; j >= 1; j--)
{
rd = RightRotate((rd - _bufSub[2 * j + 1]), (int)ld) ^ ld;
ld = RightRotate((ld - _bufSub[2 * j]), (int)rd) ^ rd;
}
uint B = rd - _bufSub[1];
uint A = ld - _bufSub[0];
bufData[2 * i] = A;
bufData[2 * i + 1] = B;
}
byte[] result = new byte[bufData.Length * 4];
for (int i = 0; i < bufData.Length; i++)
{
result[i * 4] = (byte)bufData[i];
result[i * 4 + 1] = (byte)(bufData[i] >> 8);
result[i * 4 + 2] = (byte)(bufData[i] >> 16);
result[i * 4 + 3] = (byte)(bufData[i] >> 24);
}
return result;
}
public byte[] Encrypt(byte[] data)
{
if (data.Length % 8 != 0) throw new RC5Exception("Invalid password length. Must be multiple of 8");
int nLen = data.Length / 8 * 8;
if (nLen <= 0) throw new RC5Exception("Invalid password length. Must be greater than 0 bytes.");
uint[] bufData = new uint[data.Length / 4];
for (int i = 0; i < data.Length / 4; i++)
bufData[i] = (uint)(data[i * 4] + (data[i * 4 + 1] << 8) + (data[i * 4 + 2] << 16) + (data[i * 4 + 3] << 24));
for (int i = 0; i < nLen / 8; i++)
{
uint A = bufData[i * 2];
uint B = bufData[i * 2 + 1];
uint le = A + _bufSub[0];
uint re = B + _bufSub[1];
for (int j = 1; j <= 12; j++)
{
le = LeftRotate((le ^ re), (int)re) + _bufSub[j * 2];
re = LeftRotate((re ^ le), (int)le) + _bufSub[j * 2 + 1];
}
bufData[i * 2] = le;
bufData[i * 2 + 1] = re;
}
byte[] result = new byte[bufData.Length * 4];
for (int i = 0; i < bufData.Length; i++)
{
result[i * 4] = (byte)bufData[i];
result[i * 4 + 1] = (byte)(bufData[i] >> 8);
result[i * 4 + 2] = (byte)(bufData[i] >> 16);
result[i * 4 + 3] = (byte)(bufData[i] >> 24);
}
return result;
}
internal static uint LeftRotate(uint dwVar, int dwOffset)
{
return (dwVar << (dwOffset & 0x1F) | dwVar >> 0x20 - (dwOffset & 0x1F));
}
internal static uint RightRotate(uint dwVar, int dwOffset)
{
return (dwVar >> (dwOffset & 0x1F) | dwVar << 0x20 - (dwOffset & 0x1F));
}
}
|
|
|
|
01/17/2011, 15:53
|
#680
|
elite*gold: 0
Join Date: Aug 2006
Posts: 45
Received Thanks: 6
|
Anyone using ConquerLoader on Vista? I have no problem using in XP but it uses real conquer ips rather Loadset.ini in Vista. I have been scratching my head... ConquerLoader V4 should work as it is. Well, say something about this, brothers
|
|
|
01/17/2011, 17:20
|
#681
|
elite*gold: 0
Join Date: Aug 2010
Posts: 676
Received Thanks: 109
|
Quote:
Originally Posted by argon69
Anyone using ConquerLoader on Vista? I have no problem using in XP but it uses real conquer ips rather Loadset.ini in Vista. I have been scratching my head... ConquerLoader V4 should work as it is. Well, say something about this, brothers 
|
Mu bro created a new user in his computer (windows xp) .
In admin mode not work , and in new user works nicely. IDK why .
|
|
|
01/17/2011, 17:42
|
#682
|
elite*gold: 0
Join Date: Aug 2006
Posts: 45
Received Thanks: 6
|
Quote:
Originally Posted by demon17
Mu bro created a new user in his computer (windows xp) .
In admin mode not work , and in new user works nicely. IDK why .
|
What are u saying? New user in windows xp? I have no problem with XP. I only have issue with Vista.
|
|
|
01/17/2011, 17:44
|
#683
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by Kiyono
Just so you know but decrypting passwords with your own code doesn't work properly, lol
I downloaded the proxy, stuck your code in, ran it, logged in and it printed the wrong password to the console.
|
It does... you're just not reading the original password byte array properly. I used that exact code back when I logged passwords going through the proxy. (removed for obvious reasons when I released the source lol)
@warlax: Good idea for them.
Dropbox or svn would be a great option for you guys so that you can simply share copies of it between you simply.
|
|
|
01/17/2011, 18:20
|
#684
|
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 925
|
Quote:
Originally Posted by pro4never
It does... you're just not reading the original password byte array properly. I used that exact code back when I logged passwords going through the proxy. (removed for obvious reasons when I released the source lol)
@warlax: Good idea for them.
Dropbox or svn would be a great option for you guys so that you can simply share copies of it between you simply.
|
How could it be wrong when I just used what you had in there?
//edit I stuck the code between this btw.
byte[] Pass = PR.ReadBytes(16); //Removed decryption
PR.ReadBytes(112);
|
|
|
01/17/2011, 19:54
|
#685
|
elite*gold: 0
Join Date: Jan 2006
Posts: 158
Received Thanks: 20
|
the pass is good to be stay in cripted way no release decryption  ... work on pakcets and new hunt method.. i start to used a spiral method hunt use spiral function to move char then restart to started point.
Spiral - Wikipedia, the free encyclopedia
i use logarithmic spiral.... about path and move char between maps i use Dijistra algoritm is the similar used in google maps..
Dijkstra's algorithm - Wikipedia, the free encyclopedia
|
|
|
01/17/2011, 20:44
|
#686
|
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
|
You have your algorithm working?
|
|
|
01/17/2011, 22:10
|
#687
|
elite*gold: 0
Join Date: Jan 2006
Posts: 158
Received Thanks: 20
|
yes this is the structure
function Dijkstra(L[1..n, 1..n]) : array [2..n]
{
array D[2..n]
set C
C <- {2, 3, 4, 5, 6, …, n}
for i <- 2 to n
D[i] <- L[1,i]
repeat n - 2 times
v <- C // minimum D[v] extract to C
v <- C - {v}
for each w in C do
D[w] <- min(D[w], D[v] + L[v,w])
return D
}
Dijkstra's Algorithm solves to shortest path problem .. i posted the algoritm when is fixed i pubblish all
|
|
|
01/17/2011, 22:14
|
#688
|
elite*gold: 0
Join Date: Jan 2006
Posts: 158
Received Thanks: 20
|
this is my new MAP location GPS
private void RefreshMap()
{
float x1, y1;
//o1 = float.Parse(textBox3.Text)/100;
if ((xo > 0) && (yo >1 ))
{
// o = float.Parse(textBox3.Text) / 100;
x1 = xo + (float)(Owner.X * Math.Cos(o) - Owner.Y * Math.Sin(o));
y1 = yo + (float)(Owner.X * Math.Sin(o) + Owner.Y * Math.Cos(o));
label15.Content = "X : " + x1;
label16.Content = "Y : " + y1;
label17.Content = " O : " + o;
if (freshmap < 60)
freshmap += 1;
else
{
ImageSource imageFile = new BitmapImage(new Uri(System.IO.Directory.GetCurrentDirectory() + @"\map\skap\" + App.MapID[(uint)(Owner.Map)] + ".png"));
DrawingVisual drawingVisual = new DrawingVisual();
DrawingContext drawingContext = drawingVisual.RenderOpen();
Ellipse Char_pointer = new Ellipse();
Char_pointer.Width = 18;
Char_pointer.Height = 18;
RadialGradientBrush myBrush = new RadialGradientBrush();
myBrush.GradientOrigin = new System.Windows.Point(0.75, 0.25);
myBrush.GradientStops.Add(new GradientStop(Colors.Yellow, 0.0));
myBrush.GradientStops.Add(new GradientStop(Colors.Orange, 0.5));
myBrush.GradientStops.Add(new GradientStop(Colors.Red, 1.0));
Char_pointer.Fill = myBrush;
drawingContext.DrawImage(imageFile,new Rect(new System.Windows.Size(imageFile.Width,imageFile.Heig ht)));
if ((x1 >0) && (y1>0))
{
System.Windows.Media.Pen pen = new System.Windows.Media.Pen(myBrush, 5.0);
EllipseGeometry el = new EllipseGeometry(new System.Windows.Point(x1, y1 + 5), 12,18);
drawingContext.DrawGeometry(myBrush, pen, el);
}
// Persist the drawing content.
drawingContext.Close();
RenderTargetBitmap bmp = new RenderTargetBitmap((int)(imageFile.Width), (int)(imageFile.Height), 96, 96,PixelFormats.Default);
bmp.Render(drawingVisual);
image1.Source = bmp;
freshmap = 0;
}
}
}
(this methods works on WPF i used to incress the rendering)
like i said if u need is free used other way by pass ^^
|
|
|
01/17/2011, 22:16
|
#689
|
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
|
Im working with star together to get the map working on a seperate thread, to improve the speed & stability.
|
|
|
01/17/2011, 22:27
|
#690
|
elite*gold: 0
Join Date: Nov 2007
Posts: 541
Received Thanks: 117
|
Hihi
The noob dutch is working once again
|
|
|
Similar Threads
|
[RELEASE(SOURCE CODE)]-- KabBOT2 v1 Full Source(vb6)
10/07/2011 - Dekaron Exploits, Hacks, Bots, Tools & Macros - 106 Replies
I've been meaning to post this for awhile but I pretty much forgot about it. I've been getting quite a few requests for it so I decided to finally get around to posting it.
#1. So here you go, Just have or Download Visual Basic 6, you need to update it to VbRuntime 6 Service Pack 6.
#2. Run the file name KabBOT.vbp.
#3. Enjoy.
100% Virus Free VirusTotal.com report.
VirusTotal - Free Online Virus, Malware and URL Scanner
|
[RELEASE] [OPEN SOURCE] CE 5.5 Pointer to AutoIt Source-Code
02/13/2011 - AutoIt - 6 Replies
Habe heute erst gemerkt, dass es hier eine AutoIt Sektion gibt xD also poste ich mal mein Programm mit rein.
Funktionsweise:
1. in CE Rechtsklick auf den Pointer und auf "Copy" klicken
2. in meinem Programm auf "Code generieren" klicken
3. In euer Scite gehen und einfügen
Hier ist der Source Code vom Programm:
|
All times are GMT +1. The time now is 04:29.
|
|