March 18, 2010
Rvg VIP Mod Bypass by Revenger
Well I just though that I might as well release my VIP Mod bypass to the general public because I got bored. And I was feeling like the current bypasses weren’t good enough.
Credits go to myself. I created it from scratch in C#, but I used Kingstun’s bypass as somewhat of a guideline as to what to do. Basically just so I knew how to replace files. It was easy from there.
Since I don’t mind releasing sourcecode:
/*
* RvGaming VIP Mod Bypass
* Created by Revenger
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Management;
using System.Net;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Management;
using Microsoft.VisualBasic;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace Rvg_VIP_Mod_Bypass
{
public partial class Form1 : Form
{
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern short GetAsyncKeyState(Keys vKey);
public Form1()
{
InitializeComponent();
}
private void methods(string casez, int option)
{
switch (casez)
{
/*case "hwid":
string cpuID = string.Empty;
ManagementClass mc = new ManagementClass("win32_processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (cpuID == "")
{
cpuID = mo.Properties["processorID"].Value.ToString();
}
}
cpuID = cpuID + Environment.MachineName;
MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider();
byte[] bytes = Encoding.ASCII.GetBytes(cpuID);
bytes = provider.ComputeHash(bytes);
string s = "";
for (int i = 0; i < bytes.Length; i++)
{
s = s + bytes[i].ToString("x2").ToUpper();
}
cpuID = "RVG" + s + "AUTH";
FtpWebRequest request = (FtpWebRequest) WebRequest.Create("****" + cpuID);
request.Credentials = new NetworkCredential("****", "****");
request.Method = "SIZE";
try
{
FtpWebResponse response1 = (FtpWebResponse) request.GetResponse();
}
catch (WebException exception)
{
FtpWebResponse response = (FtpWebResponse) exception.Response;
if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
{
MessageBox.Show("You are not a Premium Member, you must purchase a license at http://www.rvgaming.net");
Environment.Exit(0);
}
}
break;*/
case "checksf":
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Contains("taskmgr"))
{
startBypass();
}
}
break;
case "sleep":
Thread.Sleep(option);
break;
}
}
private void startBypass()
{
foreach (string s in bypassFiles.Items)
{
logs.Items.Add("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
if (System.IO.File.Exists(backDir.Text + s))
{
System.IO.File.Delete(backDir.Text + s);
}
try
{
System.IO.File.Copy(sfDir.Text + s, backDir.Text + s);
logs.Items.Add("Backed up " + sfDir.Text + s + " to " + backDir.Text + s);
logs.Items.Add("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
}
catch { }
try
{
System.IO.File.Copy(modDir.Text + System.IO.Path.GetFileName(s), sfDir.Text + s);
logs.Items.Add("Replaced " + sfDir.Text + s + " with " + modDir.Text + System.IO.Path.GetFileName(s));
}
catch { }
}
methods("sleep", 1000);
Environment.Exit(0);
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("http://www.rvgaming.net");
}
private void Form1_Load(object sender, EventArgs e)
{
methods("hwid", 0);
try
{
System.IO.Directory.CreateDirectory(backDir.Text + "area");
System.IO.Directory.CreateDirectory(backDir.Text + "clan");
System.IO.Directory.CreateDirectory(backDir.Text + "effect");
System.IO.Directory.CreateDirectory(backDir.Text + "force");;
System.IO.Directory.CreateDirectory(backDir.Text + "lobby");
System.IO.Directory.CreateDirectory(backDir.Text + "menu");
System.IO.Directory.CreateDirectory(backDir.Text + "save");
System.IO.Directory.CreateDirectory(backDir.Text + "scr");
System.IO.Directory.CreateDirectory(backDir.Text + "screenshot");
System.IO.Directory.CreateDirectory(backDir.Text + "sound");
System.IO.Directory.CreateDirectory(backDir.Text + "weapon");
}
catch { }
ArrayList aList = new ArrayList(Properties.Settings.Default.bypassList.Split(new char[] { ',' }));
foreach (string s in aList)
{
try
{
if (s != "")
bypassFiles.Items.Add(s);
if (System.IO.File.Exists((backDir.Text + s)) == false)
System.IO.File.Copy(backDir.Text + s, sfDir.Text + s);
}
catch { }
}
sfDir.Text = Properties.Settings.Default.sfDir;
backDir.Text = Properties.Settings.Default.backDir;
modDir.Text = Properties.Settings.Default.modDir;
useManual.Checked = Properties.Settings.Default.useManual;
bypassTime.Text = Properties.Settings.Default.bypassTime;
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Select a Mod to use.";
ofd.Filter = "Soldier Front Files (*.sff)|*.sff|All Files (*.*)|*.*";
ofd.InitialDirectory = sfDir.Text;
DialogResult result = ofd.ShowDialog();
if (result == DialogResult.OK)
{
try
{
string s = ofd.FileName;
if (s.Contains("area"))
{
s = "area\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("clan"))
{
s = "clan\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("effect"))
{
s = "effect\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("force"))
{
s = "force\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("lobby"))
{
s = "lobby\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("menu"))
{
s = "menu\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("save"))
{
s = "save\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("scr"))
{
s = "scr\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("screenshot"))
{
s = "screenshot\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("sound"))
{
s = "sound\\" + System.IO.Path.GetFileName(s);
}
else if (s.Contains("weapon"))
{
s = "weapon\\" + System.IO.Path.GetFileName(s);
}
bypassFiles.Items.Add(s);
}
catch { MessageBox.Show("You must enter something for each directory.", "RvGaming VIP Mod Bypass", MessageBoxButtons.OK, MessageBoxIcon.Information); }
}
}
private void button2_Click(object sender, EventArgs e)
{
bypassFiles.Items.Remove(bypassFiles.SelectedItem);
}
private void Control_Tick(object sender, EventArgs e)
{
int x = bypassFiles.Items.Count;
modCount.Text = "" + x;
methods("checksf", 0);
}
private void button4_Click(object sender, EventArgs e)
{
string response;
response = Microsoft.VisualBasic.Interaction.InputBox("Enter a note that you would like to add.", "RvGaming VIP Mod Bypass");
if (response == "")
{
MessageBox.Show("You need to enter something!", "RvGaming VIP Mod Bypass", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
logs.Items.Add(response);
}
}
private void button3_Click(object sender, EventArgs e)
{
logs.Items.Clear();
}
private void button5_Click(object sender, EventArgs e)
{
logs.Items.Remove(logs.SelectedItem);
}
private void useManual_CheckedChanged(object sender, EventArgs e)
{
if (useManual.Checked == true)
{
Control.Enabled = false;
manualBypass.Enabled = true;
}
else
{
Control.Enabled = true;
manualBypass.Enabled = false;
}
}
private void button6_Click(object sender, EventArgs e)
{
int i = int.Parse(bypassTime.Text);
methods("sleep", i);
startBypass();
}
private void button7_Click(object sender, EventArgs e)
{
foreach (string s in bypassFiles.Items)
{
try
{
if (System.IO.File.Exists((backDir.Text + s)) == false)
System.IO.File.Copy(backDir.Text + s, sfDir.Text + s);
}
catch { MessageBox.Show("Backup " + backDir.Text + s + " not found."); }
}
}
private void button8_Click(object sender, EventArgs e)
{
switch (MessageBox.Show("Are you sure you want to reset all settings to the default?", "RvGaming VIP Mod Bypass", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
case DialogResult.Yes:
sfDir.Text = "C:\\ijji\\ENGLISH\\u_sf\\data\\";
modDir.Text = "C:\\ijji\\Mods\\";
backDir.Text = "C:\\ijji\\Mods\\Backup\\";
bypassFiles.Items.Clear();
logs.Items.Clear();
bypassTime.Text = "";
useManual.Checked = false;
manualBypass.Enabled = false;
break;
}
}
private void autoSave_Tick(object sender, EventArgs e)
{
Properties.Settings.Default.bypassList = "";
foreach (string s in bypassFiles.Items)
{
Properties.Settings.Default.bypassList = Properties.Settings.Default.bypassList + s + ",";
}
Properties.Settings.Default.useManual = useManual.Checked;
Properties.Settings.Default.backDir = backDir.Text;
Properties.Settings.Default.modDir = modDir.Text;
Properties.Settings.Default.sfDir = sfDir.Text;
Properties.Settings.Default.bypassTime = bypassTime.Text;
Properties.Settings.Default.Save();
}
}
}
And here are some pictures:
Instructions for usage:
Select which files to use by clicking “Add Mod” for each of them. If you want to remove a mod after using, go to settings and “backup mods” so they can be replaced. Then you can “Remove Mod”. It includes process detection for soldierfront.exe and a manual bypass if you want.
Other than that, enjoy and leave some feedback. It includes unlimited mods selection, so you can select as many .sff edits as you want.
Have fun,
- Revenger