Взлом защиты PVPWAR.net : Раздел полностью посвещён взлому защиты RFOnline сервера pvpwar.net
02.12.2012, 10:41
#1
Эксперт
OFFLINE
Регистрация: 06.11.2010
Возраст: 42
Сообщений: 1,336
Благодарностей:
738 всего
Авторизация BSFG-RF
Недавно скинули мне ланчер этого сервака. На нем не работала стандартная авторизация в логине. Решил посмотреть защиту. Те кто знают стандартную авторизацию в рф могут почитать дальше. Остальные
.
Вот кусок кода их ланчера:
Код:
private void method_0(object sender, EventArgs e)
{
try
{
this.pictureBox_1.Enabled = false;
byte[] bytes = new byte[0x37];
byte[] buffer = new byte[0x40];
byte[] buffer3 = new byte[] { 5, 0, 0x15, 12, 0xff };
while (((byte) buffer.GetValue(0)) != 7)
{
this.socket_0 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
this.socket_0.Connect("46.188.24.32", 0x2712);
this.socket_0.Send(buffer3);
this.socket_0.Receive(buffer);
if (((byte) buffer.GetValue(0)) != 7)
{
this.socket_0.Close();
}
}
byte num = (byte) buffer.GetValue(4);
byte num2 = (byte) buffer.GetValue(5);
byte[] buffer4 = new byte[] {
0x1f, 0, 0x15, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
byte[] buffer5 = Encoding.ASCII.GetBytes(this.textBox_0.Text);
for (int i = 0; i < this.textBox_0.Text.Length; i++)
{
buffer4.SetValue(buffer5.GetValue(i), (int) (i + 4));
bytes.SetValue(buffer5.GetValue(i), (int) (i + 6));
}
buffer5 = Encoding.ASCII.GetBytes(this.textBox_1.Text);
for (int j = 0; j < this.textBox_1.Text.Length; j++)
{
buffer4.SetValue(buffer5.GetValue(j), (int) (j + 0x11));
}
for (int k = 4; k < 30; k++)
{
buffer4.SetValue((byte) (((((byte) buffer4.GetValue(k)) + ((byte) buffer.GetValue(4))) + 1) ^ (((byte) buffer.GetValue(5)) + 3)), k);
}
for (int m = 0; m < 30; m++)
{
buffer4.SetValue((byte) ((((byte) buffer4.GetValue(m)) ^ num2) - ((num + 5) ^ (num2 + 3))), m);
}
this.socket_0.Send(buffer4);
this.socket_0.Receive(buffer);
for (int n = 0; n < 0x2f; n++)
{
buffer.SetValue((byte) ((((byte) buffer.GetValue(n)) + ((num + 5) ^ (num2 + 3))) ^ num2), n);
}
if (((byte) buffer.GetValue(4)) == 0)
{
bytes.SetValue((byte) (((byte) buffer.GetValue(5)) ^ 0xaf), 0x13);
bytes.SetValue((byte) (((byte) buffer.GetValue(6)) ^ 0xe0), 20);
bytes.SetValue((byte) (((byte) buffer.GetValue(7)) ^ 0x65), 0x15);
bytes.SetValue((byte) (((byte) buffer.GetValue(8)) ^ 110), 0x16);
bytes.SetValue((byte) (((byte) buffer.GetValue(5)) ^ 0x3a), 0x29);
bytes.SetValue((byte) (((byte) buffer.GetValue(6)) ^ 0x18), 0x2a);
bytes.SetValue((byte) (((byte) buffer.GetValue(7)) ^ 0x9c), 0x2b);
bytes.SetValue((byte) (((byte) buffer.GetValue(8)) ^ 200), 0x2c);
bytes.SetValue((byte) (((byte) buffer.GetValue(10)) ^ 0x3a), 0x2d);
bytes.SetValue((byte) (((byte) buffer.GetValue(11)) ^ 0x18), 0x2e);
bytes.SetValue((byte) (((byte) buffer.GetValue(12)) ^ 0x9c), 0x2f);
bytes.SetValue((byte) (((byte) buffer.GetValue(13)) ^ 200), 0x30);
bytes.SetValue((byte) 0x3a, 0x27);
bytes.SetValue((byte) 0x4b, 40);
this.socket_0.Receive(buffer);
for (int num8 = 0; num8 < 0x1c; num8++)
{
buffer.SetValue((byte) ((((byte) buffer.GetValue(num8)) + ((num + 5) ^ (num2 + 3))) ^ num2), num8);
}
bytes.SetValue((byte) (((byte) buffer.GetValue(11)) ^ 230), 0x17);
bytes.SetValue((byte) (((byte) buffer.GetValue(12)) ^ 0x22), 0x18);
bytes.SetValue((byte) (((byte) buffer.GetValue(13)) ^ 0xcf), 0x19);
bytes.SetValue((byte) (((byte) buffer.GetValue(14)) ^ 0xcf), 0x1a);
bytes.SetValue((byte) (((byte) buffer.GetValue(15)) ^ 0x6f), 0x1b);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x10)) ^ 0xde), 0x1c);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x11)) ^ 0xbc), 0x1d);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x12)) ^ 0x5b), 30);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x13)) ^ 0xda), 0x1f);
bytes.SetValue((byte) (((byte) buffer.GetValue(20)) ^ 0x5e), 0x20);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x15)) ^ 0xdf), 0x21);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x16)) ^ 0xac), 0x22);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x17)) ^ 0x37), 0x23);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x18)) ^ 0x1b), 0x24);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x19)) ^ 0xcd), 0x25);
bytes.SetValue((byte) (((byte) buffer.GetValue(0x1a)) ^ 0xbc), 0x26);
bytes.SetValue((byte) 20, 0);
bytes.SetValue((byte) 0xf7, 1);
bytes.SetValue((byte) 0x84, 2);
bytes.SetValue((byte) 0xeb, 3);
bytes.SetValue((byte) 50, 4);
bytes.SetValue((byte) 0x23, 5);
bytes.SetValue((byte) 0xd0, 0x35);
bytes.SetValue((byte) 50, 0x36);
File.WriteAllBytes(Application.StartupPath + @"\System\DefaultSet.tmp", bytes);
Struct1 struct2 = new Struct1();
Struct0 struct3 = new Struct0();
CreateProcess(Application.StartupPath + @"\KZ_Online.dll", null, IntPtr.Zero, IntPtr.Zero, false, 0, IntPtr.Zero, null, ref struct2, out struct3);
this.socket_0.Close();
if (Registry.CurrentUser.OpenSubKey(@"SOFTWARE\RF-BSFG\login") == null)
{
RegistryKey key2 = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\RF-BSFG\");
key2 = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\RF-BSFG\", true);
key2.SetValue("login", this.textBox_0.Text);
key2.SetValue("passw", this.textBox_1.Text);
}
Application.Exit();
}
else
{
MessageBox.Show("Аккаунт не верный или заблокирован ", "Ошибка");
this.socket_0.Close();
}
}
catch
{
MessageBox.Show("нет соедиения с логин сервером/миром");
this.socket_0.Close();
Application.Exit();
}
this.pictureBox_1.Enabled = true;
}
Тут видна шифрация всех пакетов авторизации. Может быть кому-то будет полезно для написания брутов аккаунтов или чекеров login+pass.
Логин сервер у них реально нестандартный)
Передаю вещи между расами на фри серверах( phenix, binaris и др). Подробнее в пм.
Антимины, антиинвиз, фильтр и др для пвпвара и других фришек
здесь
06.12.2012, 14:46
#2
Скриптер RF Online
OFFLINE
Регистрация: 09.10.2010
Возраст: 32
Сообщений: 658
Благодарностей:
457 всего
Найт ты уже и до меня добрался
06.12.2012, 15:18
#3
Эксперт
OFFLINE
Регистрация: 06.11.2010
Возраст: 42
Сообщений: 1,336
Благодарностей:
738 всего
Ну надо же, чтоб тебе жизнь сказкой не казалась)
Передаю вещи между расами на фри серверах( phenix, binaris и др). Подробнее в пм.
Антимины, антиинвиз, фильтр и др для пвпвара и других фришек
здесь
06.12.2012, 15:31
#4
Скриптер RF Online
OFFLINE
Регистрация: 09.10.2010
Возраст: 32
Сообщений: 658
Благодарностей:
457 всего
Токо не шалите сильно
06.06.2013, 23:55
#5
не шалите сильно
27.11.2013, 08:09
#6
There is no question against your interesting blog. I am waiting you give me a more interested information. I am very happy for reading this great information.
29.11.2013, 20:52
#7
Нуб
OFFLINE
Регистрация: 05.07.2013
Сообщений: 0
Репутация: 4
А почему в разделе PvPWaR?
01.12.2013, 16:29
#8
Крестный отец всех читеров
OFFLINE
Регистрация: 02.04.2008
Сообщений: 4,028
Благодарностей:
37,789 всего
Цитата:
Сообщение от
Hint
А почему в разделе PvPWaR?
Попроси драка создать раздел для BSFG-RF
Добавлено через 3 минуты
Кстати если памать не изменяет то на асгарде была такая же авторизация.
Последний раз редактировалось Тигрь; 01.12.2013 в 16:32 .
Причина: Добавлено сообщение
Если бы я был умен - я бы сошел с ума.
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Похожие темы
Тема
Автор
Раздел
Ответов
Последнее сообщение
Авторизация PvPWar
Nightshade2
Взлом защиты PVPWAR.net
4
07.04.2015 17:38
BSFG-RF
KaZantip
Новости MMORPG серверов и игрового мира
20
18.11.2012 15:01