motronline.com

Обсуждение особенностей разных пиратских серверов

Модератор: 4epT

Inik
Начинающий
Сообщения: 42
Зарегистрирован: Пн дек 18, 2006 1:38 am

Сообщение Inik »

Ты просто гениален. Даже не пытаясь понять мой пост.
Вообще то руро на мотре следит за тем чтобы не модифицировали клиент у него 2 екзешника (один дублирующий) + периодическая сверка чексуммы. и я писал "ну и самый главный косяк нуно модифицирования все сделать к норм виду( не всегда же через Олю пускать) ". В общем даже не знаю что о тебе и подумать :)
Да и прикольно ты мне кинул я так понял модификаю рагекзе даже не спрашивая версии екзешника? смело. Хотя может быть там и не меняли ничего:)
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Кстати о птичках... Господа, которые дружат с отладчиками, вопрос!
Как РО вообще определяет, что один его экземпляр уже запущен?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Inik
Начинающий
Сообщения: 42
Зарегистрирован: Пн дек 18, 2006 1:38 am

Сообщение Inik »

Эммм ну по мимо чисто эвристических методов типа создать левый ключик реестра во время запуска, стандартные функции( мб вызов не напрямую а через адресс в стеке) FindWindow*, zwQueryProccess( правда не разу не видел чтобы ктото кроме taskmanager юзал эту функцию, но все равно хук на нее весить нуно бп если скрыть себя хочешь). ну createmutex наверное относить нужно к эвристическим хз.
в общем способов вагон и тележка.
¤Seii¤
Энтузиаст
Сообщения: 62
Зарегистрирован: Чт ноя 30, 2006 4:38 pm

Сообщение ¤Seii¤ »

С помощь Process Explorer убиваем у процесса ruro.exe мьютекс \BaseNamedObjects\ruromutex1, а у процесса ragexe.exe убиваем мьютекс \BaseNamedObjects\Surface.

Потом запускалась вторая копия через виртуальный десктоп. Было это правда довольно давно уже -__- Полгода назад
Remember botting can be fun and not just because you get to taste the fruit without much work, but because you can have a lot of memorable moments.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Inik
Дружище, извини, но я и сам знаю что "способов много". Меня интересуют конкретные наблюдения.

¤Seii¤
Што такое "мьютекс"? О_о И еще - какова роль виртуального дескопа в этой схеме?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Inik
Начинающий
Сообщения: 42
Зарегистрирован: Пн дек 18, 2006 1:38 am

Сообщение Inik »

piroJOKE ну я и написал что по моим наблюдениям дальше
call FindWindowA( call переменная содержащая адресс стека), call zwQueryProcess, createMutex(global = true) я не видел.
Ну кроме как специальных извров.
Inik
Начинающий
Сообщения: 42
Зарегистрирован: Пн дек 18, 2006 1:38 am

Сообщение Inik »

мьтекс - mutex - эмм ну это типа семафора но улучшеная вещь. как бы на пальцах объяснить : переменная позволяющая процессу(нити процееса) входить в секции кода, который система не может прервать обычнам способом.(очень грубо) Позволяет избежать одновременного доступа скажем к памяти на запись.
Inik
Начинающий
Сообщения: 42
Зарегистрирован: Пн дек 18, 2006 1:38 am

Сообщение Inik »

¤Seii¤ Хм а зачем виртуальный десктоп Оо это чтобы обойти FindWindow что-ли? и какой прогой ты вирт десктоп делаешь.
просто вмваркой какой-нить ппц же лаги:)
¤Seii¤
Энтузиаст
Сообщения: 62
Зарегистрирован: Чт ноя 30, 2006 4:38 pm

Сообщение ¤Seii¤ »

Inik, IBDesk юзал. Так вот я еще не все досказал. Запускать второе окно надо из копии директории РО. Руро при запуске создает временный файл для текущей сессии и не позволяет запуск второго. Новая папка с игрой позволяет делать обход этого при вышеописанных мной манипуляциях %)
Remember botting can be fun and not just because you get to taste the fruit without much work, but because you can have a lot of memorable moments.
Inik
Начинающий
Сообщения: 42
Зарегистрирован: Пн дек 18, 2006 1:38 am

Сообщение Inik »

Ну да про копию клиента я еще в первом посте написал, это понятно ибо он мутит с езешниками мама не горюй( судя по апи логерам)
ЗЫ а удалять мутексы у процесса это все-таки лол:) авось lock(mutex) не сделает:) кстати интересно как он себя тогда поведет :lol: Написать прогу чтоли для теста)
¤Seii¤
Энтузиаст
Сообщения: 62
Зарегистрирован: Чт ноя 30, 2006 4:38 pm

Сообщение ¤Seii¤ »

на каждый болт найдется своя хитрая гайка :crazy:
Remember botting can be fun and not just because you get to taste the fruit without much work, but because you can have a lot of memorable moments.
Inik
Начинающий
Сообщения: 42
Зарегистрирован: Пн дек 18, 2006 1:38 am

Сообщение Inik »

как говорится в сауз парке
За сегодня я понял очень важную вещь. Оказывается мутексы можно удалять с забавными последствиями.
Ну что прикольно фик ли. спасип за знание.
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

Сообщение Jerry »

о, чувак, ты шариш :)
Во-первых, распакуй руро, так удобнее :)
Во-вторых, поищи функцио MapFileAndChecksum, она проверяет контрольную сумму рагекзе, и не запускается если та неправильная. :) В-третьих, в-третьих... В руро есть такая штука как уникальный ID машины (это то, что изпользуется в @lock), как сам понимаешь, спалить два одинаковых ID в одно и то же время весьма просто :) НУ и в четвертых - не делай зумхак. Руро рапортукт о зумхаке на сервер :) Или отключи функцию проверки.
Inik
Начинающий
Сообщения: 42
Зарегистрирован: Пн дек 18, 2006 1:38 am

Сообщение Inik »

1. вроде я когда распаковывал(на диск) он у меня не хотел запускатся, видимо он свой екзешник по длине смотрит или еще мутит что-то( не разобрался), я пока через Олю по старинке.
2. ну это просто bpx и все дела
3. хм, вот это уже интереснее, нуно подумать.
4. не решены пока что пункты 1,3 пока зумхак рано:)
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

Сообщение Jerry »

1. проверяет :) Это место номер раз.
Ты чем распаковывал? Обычный распаковщик проде портит первую функцию в таблице импорта, нужно восстанавливать (должно быть Initчетотам) иначе оно крашится. Если педампом+импреком то не нужно.
2. это место номер 2.
Место номер 3 - это мьютекс в руро
Место номер 4 - это мьютекс в рагекзе.
Правишь в этих местах всякие jz на то что нужно - и будет тебе multiwin :)
4. Место номер пять - наделать всяких екзешников с разными ID :) это править десяток байт, mov [...], imm очень прекрасно влазит вместо того, чего там :) hint: GetVolumeInformationA

опционально можно пофиксить и проверку IsDebuggerPresent :)
Ответить