Experienced Elementalist
- Joined
- Mar 23, 2009
- Messages
- 239
- Reaction score
- 17
publicLaunch is an idea I had today while I was bored.
Program.cs
CRC32.cs
Thank you
The V.I.P version is going to be coded later tonight/tonight most likely. It will be released in V.I.P section and will include:
- Backdoor AntiHack [Runs in backround] [Thanks Vengeance/Erby for idea. <3]
- Hidden from task manager. [Thank Zak for finding a snippet]
- More Custom Features!
- GUI Most Likely.
Thanks.
Download Project File:
Note: Exact copy paste from my site, some of it might not apply to you guys like VIP version.
Program.cs
Code:
/////////////////////////////////////////////////////////////////
// GunzDev.com -- New Gunz developing site! - HIRING CODERS -
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// [2009-09-21] - OutLine for publicLaunch
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Developer: purpleCRAYON
// Language: C#
/////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
namespace publicLaunch
{
class Program
{
static void Main(string[] args)
{
string directorycheck = System.IO.Directory.GetCurrentDirectory();
string properdirectory = @"C:\Documents and Settings\Dan\Desktop\publicLaunch\publicLaunch\bin\Debug"; // directory of your client
if (directorycheck == properdirectory)
{
Console.WriteLine("Directory is correct.");
Console.WriteLine("Coded by purpleCRAYON -- www.gunzdev.com");
string s = "0";
string answer = ""; // PUT CRC32 HERE [ALL OF THEM IN ORDER]
int crc321 = 0;
try
{
crc321 = int.Parse(s);
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
Console.WriteLine("Running Tests on your files checking for authenticity...");
Crc32 crc32 = new Crc32();
String hash = String.Empty;
using (FileStream fs = File.Open("runnable.exe", FileMode.Open))
foreach (byte b in crc32.ComputeHash(fs)) hash += b.ToString("x2").ToLower();
Crc32 crc322 = new Crc32();
String hash2 = String.Empty;
using (FileStream fs1 = File.Open("system.mrs", FileMode.Open))
foreach (byte b1 in crc322.ComputeHash(fs1)) hash2 += b1.ToString("x2").ToLower();
Crc32 crc3222 = new Crc32();
String hash3 = String.Empty;
using (FileStream fs2 = File.Open(@"model/man.mrs", FileMode.Open))
foreach (byte b2 in crc3222.ComputeHash(fs2)) hash3 += b2.ToString("x2").ToLower();
Crc32 crc32222 = new Crc32();
String hash4 = String.Empty;
using (FileStream fs3 = File.Open(@"model/woman.mrs", FileMode.Open))
foreach (byte b3 in crc3222.ComputeHash(fs3)) hash4 += b3.ToString("x2").ToLower();
string x = (crc321.ToString() + hash + hash2 + hash3 + hash4);
if (x == answer)
{
System.Diagnostics.Process.Start("runnable.exe"); // RUNNABLE NAME HERE
}
else
{
string runnable = ""; // CRC32 OF RUNNABLE
string system = ""; // CRC32 OF SYSTEM.MRS
string man = ""; // CRC32 OF MAN.MRS
string woman = ""; // CRC32 OF WOMAN.MRS
if (runnable == hash)
{
if (system == hash2)
{
if (man == hash3)
{
if (woman == hash4)
{
}
else
{
Console.WriteLine("Updating Woman.mrs...");
WebClient manDownload = new WebClient();
manDownload.DownloadFileAsync(new Uri("site.com/woman.mrs"), @"model/woman.mrs"); // -UPLOAD WOMAN.MRS SOMEWHERE FOR DIRECT DOWNLOAD-
}
}
else
{
Console.WriteLine("Updating Man.mrs...");
WebClient manDownload = new WebClient();
manDownload.DownloadFileAsync(new Uri("site.com/man.mrs"), @"model/man.mrs"); // -UPLOAD MAN.MRS SOMEWHERE FOR DIRECT DOWNLOAD-
}
}
else
{
Console.WriteLine("Updating System.mrs...");
WebClient systemDownload = new WebClient();
systemDownload.DownloadFileAsync(new Uri("site.com/system.mrs"), @"system.mrs"); // -UPLOAD SYSTEM.MRS SOMEWHERE FOR DIRECT DOWNLOAD-
}
}
else
{
Console.WriteLine("Updating Runnable.exe...");
WebClient runnableDownload = new WebClient();
runnableDownload.DownloadFileAsync(new Uri("site.com/runnable.exe"), @"runnable.exe"); // -UPLOAD RUNNABLE.EXE SOMEWHERE FOR DIRECT DOWNLOAD-
}
}
Console.ReadLine();
}
else
{
Console.WriteLine("Please move this file to the proper directory:");
Console.WriteLine(properdirectory);
Console.ReadLine();
}
}
}
}
// gunzdev.com
// purpleCRAYON
CRC32.cs
Code:
using System;
using System.Security.Cryptography;
public class Crc32 : HashAlgorithm
{
public const UInt32 DefaultPolynomial = 0xedb88320;
public const UInt32 DefaultSeed = 0xffffffff;
private UInt32 hash;
private UInt32 seed;
private UInt32[] table;
private static UInt32[] defaultTable;
public Crc32()
{
table = InitializeTable(DefaultPolynomial);
seed = DefaultSeed;
Initialize();
}
public Crc32(UInt32 polynomial, UInt32 seed)
{
table = InitializeTable(polynomial);
this.seed = seed;
Initialize();
}
public override void Initialize()
{
hash = seed;
}
protected override void HashCore(byte[] buffer, int start, int length)
{
hash = CalculateHash(table, hash, buffer, start, length);
}
protected override byte[] HashFinal()
{
byte[] hashBuffer = UInt32ToBigEndianBytes(~hash);
this.HashValue = hashBuffer;
return hashBuffer;
}
public override int HashSize
{
get { return 32; }
}
public static UInt32 Compute(byte[] buffer)
{
return ~CalculateHash(InitializeTable(DefaultPolynomial), DefaultSeed, buffer, 0, buffer.Length);
}
public static UInt32 Compute(UInt32 seed, byte[] buffer)
{
return ~CalculateHash(InitializeTable(DefaultPolynomial), seed, buffer, 0, buffer.Length);
}
public static UInt32 Compute(UInt32 polynomial, UInt32 seed, byte[] buffer)
{
return ~CalculateHash(InitializeTable(polynomial), seed, buffer, 0, buffer.Length);
}
private static UInt32[] InitializeTable(UInt32 polynomial)
{
if (polynomial == DefaultPolynomial && defaultTable != null)
return defaultTable;
UInt32[] createTable = new UInt32[256];
for (int i = 0; i < 256; i++)
{
UInt32 entry = (UInt32)i;
for (int j = 0; j < 8; j++)
if ((entry & 1) == 1)
entry = (entry >> 1) ^ polynomial;
else
entry = entry >> 1;
createTable[i] = entry;
}
if (polynomial == DefaultPolynomial)
defaultTable = createTable;
return createTable;
}
private static UInt32 CalculateHash(UInt32[] table, UInt32 seed, byte[] buffer, int start, int size)
{
UInt32 crc = seed;
for (int i = start; i < size; i++)
unchecked
{
crc = (crc >> 8) ^ table[buffer[i] ^ crc & 0xff];
}
return crc;
}
private byte[] UInt32ToBigEndianBytes(UInt32 x)
{
return new byte[] {
(byte)((x >> 24) & 0xff),
(byte)((x >> 16) & 0xff),
(byte)((x >> 8) & 0xff),
(byte)(x & 0xff)
};
}
}
Thank you
You must be registered to see links
article for the class for CRC32.The V.I.P version is going to be coded later tonight/tonight most likely. It will be released in V.I.P section and will include:
- Backdoor AntiHack [Runs in backround] [Thanks Vengeance/Erby for idea. <3]
- Hidden from task manager. [Thank Zak for finding a snippet]
- More Custom Features!
- GUI Most Likely.
Thanks.
Download Project File:
You must be registered to see links
Note: Exact copy paste from my site, some of it might not apply to you guys like VIP version.