Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Курилка / Yak floor (https://forum.zone-game.info/forumdisplay.php?f=16)
-   -   lameguard - бесполезная хрень (https://forum.zone-game.info/showthread.php?t=23694)

Ashe 18.10.2012 12:57

Re: lameguard - бесполезная хрень
 
Цитата:

Сообщение от Police (Сообщение 236663)
Защита предназначена для предотвращения работы всех известных на сегодняшний день IG/OOG эмуляторов игрового клиента (боты типа L2Walker, L2.NET), пакетных манипуляторов (L2PacketHack и т.п.), без потери производительности для игрового клиента и сервера.

Как минимум под два пункта эта программа подходит - пакетный манипулятор и т.п.

ТС учите матчасть, Cheat Engine работает с памятью процесса и позволяет её редактировать, с пакетной манипуляцией он никак не связан.

Dеmon 18.10.2012 12:58

Re: lameguard - бесполезная хрень
 
Цитата:

Сообщение от Police (Сообщение 236663)
Я обнаружил, что идет подмена бипасов в коммюнити с использованием утила MakeEchoCrystal, предметы делаются из воздуха.

Добавлено через 2 минуты


Прочитал

Защита предназначена для предотвращения работы всех известных на сегодняшний день IG/OOG эмуляторов игрового клиента (боты типа L2Walker, L2.NET), пакетных манипуляторов (L2PacketHack и т.п.), без потери производительности для игрового клиента и сервера.

Как минимум под два пункта эта программа подходит - пакетный манипулятор и т.п.

А причем тут ЛГ, если это серверная проблема? :)

Ashe 18.10.2012 12:59

Re: lameguard - бесполезная хрень
 
Цитата:

Сообщение от Dеmon (Сообщение 236671)
А причем тут ЛГ, если это серверная проблема? :)

Я бы сказал больше клиентская(в смысле проблема самого клиента).

Unavailable 18.10.2012 13:03

Re: lameguard - бесполезная хрень
 
взял и спалил багу не ума не фантазии :facepalm:

[STIGMATED] 18.10.2012 13:05

Re: lameguard - бесполезная хрень
 
Цитата:

Сообщение от Unavailable (Сообщение 236675)
взял и спалил багу не ума не фантазии :facepalm:

Видно, игрок написал...

Sven[] 18.10.2012 13:10

Re: lameguard - бесполезная хрень
 
Автор кусок барана, у вас в сборке кривой код, хоть будет 50 ЛГ стоять, толка не будет.

Баг с подменой байпасов известен всем уже года 3, фиксится на уровне сервера и то подменой назвать это сложно.

На моей памяти ЛГ обходился всего 2 раза и далеко не криворукими людьми. Писать, что ЛГ не работает тоже самое, что пить свою дресню из кружки и говорить это чай.

:ca::ca::ca::dv:

Rovskoi 18.10.2012 13:10

Re: lameguard - бесполезная хрень
 
Цитата:

Сообщение от Police (Сообщение 236663)
Я обнаружил, что идет подмена бипасов в коммюнити с использованием утила MakeEchoCrystal, предметы делаются из воздуха.

Так а причём тут ЛГ? Если у вас не стоят проверки при использовании тех-же байпасов?

KilRoy 18.10.2012 13:10

Re: lameguard - бесполезная хрень
 
а чё её палить? Просто всем ср..ть на кодер/декодер байпассов, вот и всё. Можете сидеть дальше и водить полемику, и эта проблема не только у оверов актуальна. А дальше - думайте товарищи, думайте ;)
П.С - недавно в теме про какую-то сборку уже намекал.

Ashe 18.10.2012 13:15

Re: lameguard - бесполезная хрень
 
ТС, дарю:
 
public final class BypassCrypt
{
	private static final char[] CHAR_ARRAY_BYPASS = "bypass".toCharArray();
 
	private static final int LETTER_SMALL_LAST = 'z';
	private static final int LETTER_SMALL_FIRST = 'a';
	private static final int LETTER_BIG_LAST = 'Z';
	private static final int LETTER_BIG_FIRST = 'A';
	private static final int NUMBER_LAST = '9';
	private static final int NUMBER_FIRST = '0';
 
	private static final int[] DEFAULT_EXCHANGE;
 
	static
	{
		DEFAULT_EXCHANGE = new int[LETTER_SMALL_LAST - LETTER_SMALL_FIRST + LETTER_BIG_LAST - LETTER_BIG_FIRST + NUMBER_LAST - NUMBER_FIRST + 3];
		int index = DEFAULT_EXCHANGE.length, i;
		for (i = LETTER_SMALL_LAST + 1; i-- > LETTER_SMALL_FIRST;)
		{
			DEFAULT_EXCHANGE[--index] = i;
		}
		for (i = LETTER_BIG_LAST + 1; i-- > LETTER_BIG_FIRST;)
		{
			DEFAULT_EXCHANGE[--index] = i;
		}
		for (i = NUMBER_LAST + 1; i-- > NUMBER_FIRST;)
		{
			DEFAULT_EXCHANGE[--index] = i;
		}
	}
 
	private static final char[] getGenExchangeTable()
	{
		final TIntArrayList useable = new TIntArrayList(DEFAULT_EXCHANGE.length);
		useable.add(DEFAULT_EXCHANGE);
 
		final char[] exchangeTable = new char[LETTER_SMALL_LAST - NUMBER_FIRST + 1];
		for (int i = exchangeTable.length, j; i-- > 0;)
		{
			j = i + NUMBER_FIRST;
			if (ArrayUtil.arrayContains(DEFAULT_EXCHANGE, j))
			{
				exchangeTable[i] = (char) useable.remove(Rnd.get(useable.size()));
			}
			else
			{
				exchangeTable[i] = (char) j;
			}
		}
		return exchangeTable;
	}
 
	public static final void main(final String[] args)
	{
		final char[] exchange = getGenExchangeTable();
 
		System.out.println(encrypt("<bypass -b talk_27816339_page 2>", exchange));
	}
 
	public static final String encrypt(final String text, final char[] exchange)
	{
		final char[] toEncrypt = text.toCharArray();
 
		for (int i = 0, j; i < text.length(); i++)
		{
			if (toEncrypt[i] == '<')
			{
				for (j = i + 1; j < text.length(); j++)
				{
					if (toEncrypt[j] == '>')
					{
						checkBypass(i + 1, j, toEncrypt, exchange);
						i = j;
					}
				}
			}
		}
		return new String(toEncrypt);
	}
 
	private static final void checkBypass(int start, int end, final char[] toEncrypt, final char[] exchange)
	{
		final int len = end - start;
		if (len <= CHAR_ARRAY_BYPASS.length)
			return;
 
		for (int j = 0; j < len; j++)
		{
		/*	if (toEntrypt)
			pos = toEncrypt[i] - NUMBER_FIRST;
			if (pos < max && pos >= 0)
				toEncrypt[i] = exchange[pos];*/
		}
	}
 
	@SuppressWarnings("unused")
	private static final void encrypt(final int start, final int end, final char[] toEncrypt, final char[] exchange)
	{
		final int len = end - start;
		if (len <= 0)
			return;
 
		final int max = exchange.length;
		for (int i = end, pos; i-- > start;)
		{
			pos = toEncrypt[i] - NUMBER_FIRST;
			if (pos < max && pos >= 0)
				toEncrypt[i] = exchange[pos];
		}
	}
 
	public static final String decrypt(final String text)
	{
		return null;
	}
}
Code: Java

G1ta0 18.10.2012 13:23

Re: lameguard - бесполезная хрень
 
Цитата:

Сообщение от [STIGMATED] (Сообщение 236654)
Ждём гитао для разъяснения ситуации.

Проверять достоверность данных в памяти клиента ЛГ не умеет, и никогда не научится, как и сам клиент, это работа сервера, обрабатывать корректность входящих данных.

От записи в память клиента не защититься никак, если у вас сервер настолько тупой, что рисует то, что просит клиент - это проблема сервера, а не антибота. ЛГ не решает проблем кривого кода, надо всегда учитывать что от клиента могут прийти недостоверные данные, даже в случае обычного сбоя, а не преднамеренного действия. Вспомнается идиотизм с new int[readD()]


Текущее время: 18:14. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot