Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Defrag.ru Community _ Quake3 (Sourcez) _ anti-timescale

Автор: radiator 9.06.2005 - 04:21

проблема уже назрела и случай с ранбфг её только обостряет. нужно попробовать её как-то решить. само создание детектора, я думаю, можно разделить на два этапа:

хотя может быть на первом этапе выясница, что это ваще невозможно =) в любом случае, нужен человек, который знает что творица внутри кваки, а ещё лучше тот, кто уже занимался чем-нибудь подобным. на счёт второго этапа: я не хачу пока предлагать свою кандидатуру, так как сам пока вапще не пробовал писать длл, но я занимаюсь программированием и если никого больше не найдёца, я могу попробовать разобраца в этом (потребуеца какое-то время, тем более сейчас сессия). вобщем давайте подумаем вместе =)

Автор: zlobNYZopux 9.06.2005 - 06:00

Я думаю надо детектор на предмет внешнего воздействия на дф.
Мона отслеживат сервер тайм - замедлен он или нет.

Еси повезет у меня есть друган с защиты информации. И еси я его уговорю это сделать. То он я думаю смог бы написать длл.

Но пока надо определьться как детектить.

Автор: [sky]quaker 9.06.2005 - 06:31

DLL я могу написать без проблем
но если б я знал, "что творица внутри кваки"... smile.gif

Автор: серафим 9.06.2005 - 09:03

Каким образом можно засечь таймскальщика когда пользуется он сторонней прогой замедляющей всю систему?

Автор: radiator 9.06.2005 - 09:24

у меня есть прога, на которую на опц ссылку давали, она замедляет только кваку. гм, если вся система замедляеца, тогда правда нельзя, если только квака не пишет в демку отметки о системном времени, его-то нельзя замедлить. нада формат файла демки узнать что ли.

Автор: серафим 9.06.2005 - 09:38

нада глянуть .идейка не беды

Автор: Bas Dirks de Grote 9.06.2005 - 09:55

I think demo´s must be analyzed by people who know how to analyze demos. Because cheaters always look for new ways etc.

Автор: R3tw3R 9.06.2005 - 10:03

У меня есть спецификация формата дем dm_68 (сурсе)
кто разбирается сговоримся cool.gif

Автор: серафим 9.06.2005 - 10:29

R3tw3R.Скинь глянуть

Автор: qpk4 9.06.2005 - 20:06

я с защиты информации и дллку легко напишу. Рад, скинь спецификацию dm_68 на serphere(at)mail(dot)ru.

Мой взгляд на некоторые аспекты этой проблемы:
Можно написать программу, которая сравнивает системный таймер с таймером кваки, но что получается, придется эту программу распространять среди дефраггеров, чтоб они играли тлько под ней. Чтото типа cheat-death для кс =). Мне кажется распространение будет проблемой

Можно посмотреть спецификацию dm_68 у меня уже есть некоторые задумки но без спецификации я ничего не скажу.

Кстати имхо хороший способ обломать многих скриптеров это запретить изменение pitchspeed и yawspeed, все равно на стрелочках никто не играет.

Автор: dustayevskiy 9.06.2005 - 20:34

qpk4
всю жизнь на стрелках играл huh.gif

а насчет распространения длл, то можно спихнуть это дело дф-тим, чтобы они вставили в 1.91 (если мы конечно этого дождемся)

Автор: extra 9.06.2005 - 21:54

Я ваще не понимаю как с этим говном (таймскалом) играть можно !
Типо давайте с чегонибудь начинать кидайте линки на исходники(df и q3), инфу по dm_68 и конечно ваши идеи !будем чегонибудь писать тестировать что кто написал и выбирать лучшее ! Хотя мне какжется что лучше Gaz'a в этом ни кто не сечет а он врядли своими знаниями делиться захочет !

Автор: extra 9.06.2005 - 21:58

Цитата (R3tw3R @ 9.06.2005 - 10:03)
У меня есть спецификация формата дем dm_68 (сурсе)
кто разбирается сговоримся cool.gif

Кинь мне на мыло попробую разобраться !
extragame@mail.ru

Автор: iFX_anti 10.06.2005 - 00:00

Кста- я в нагрузку вам сделал прогу изменяющую таймскайл - стоит ли ее выкладывать?
Когда напишите реальный детектор? Ведь даже такой ламак как я может сделать трейнер.
Есть ли различия в размере дем с различными таймскайлами?

Автор: extra 10.06.2005 - 00:53

Цитата (anti777 @ 10.06.2005 - 00:00)
Кста- я в нагрузку вам сделал прогу изменяющую таймскайл - стоит ли ее выкладывать?
Когда напишите реальный детектор? Ведь даже такой ламак как я может сделать трейнер.
Есть ли различия в размере дем с различными таймскайлами?

Че их делать их в инете итак полно качай нехочу!
А выкладывать нах... ненадо !

Автор: extra 10.06.2005 - 01:04

Тут у мя одна мысль в голову пришла - можно зделать чтоб при выводе настроек с которыми была записана демка выводилась еще статистика запущенных приложений я имею в виду не exe name а заголовок приложения так как его изменить будет посложнее!

Автор: zlobNYZopux 10.06.2005 - 06:01

Как я считаю нужно следующие
1. Детектор внешнего воздействия на кваку.
2. Детектор внутреннего изменения переменных
3. Питч спид и явспид зафиксировать
4. Сравнивать сервер тайм с внутренним таймом кваки, если не равен это таймскэйл.

Длл должна встраваться в дефраг и работать с ним.
Лучше дать создателям дф и пусть выпустят хотя бы новую бету с античитом.

Автор: R3tw3R 10.06.2005 - 10:52

Цитата (extra @ 10.06.2005 - 04:04)
выводилась еще статистика запущенных приложений я имею в виду не exe name а заголовок приложения

Вот это уже что-то
Это было бы даже очень ничего cool.gif
ЗЫЖ выкладываю спецификацию дем

 dm_68.zip ( 0 байт ) : 31
 

Автор: dS-LAMA3OID 10.06.2005 - 11:39

Нам писать это бесполезно т.к. это НАМНОГО проще сделать в новой версии дефрага. Другое дело - это написание проги для детектинга таймскейла. Тут думаю проще всего было бы сделать мод - тада не понадобились бы никакие длл-ки и т.д. Но для начала нуна придумать способ как это все детектить.

Автор: dS-LAMA3OID 10.06.2005 - 11:42

Кстати, я еще спецификацию не читал. Но если в ней содержатся значения cl_pitchspeed & cl_yawspeed то можно запросто написать скрипт детектор т.к. редко кто-то меняет их во время рана если не юзает скрипты. Но это будет не 100%-й детектор.

Автор: iFX_anti 10.06.2005 - 12:16

Цитата (extra @ 10.06.2005 - 00:53)
Че их делать их в инете итак полно качай нехочу!
А выкладывать нах... ненадо !

Да???? huh.gif А я чет так и не смог найти.
Ну да ладно, раз - не надо, значит есть. А кому надо было, тот нашел.

Автор: extra 10.06.2005 - 15:56

Тут ради интереса сравнил демки на рунбфг одна из которых явно записана с таймскалом - вот результат
некс - 132 Кб
cодом - 121 Кб
генош - 121 Кб
Потом сам записал демку и сравнил её с записанной таймскалом - опять с тайм скалом оказалась весит больше ! Можно пока не написано реального детектора определять их по размеру и заставить всех включить в обязательные настройки df_ar_stopdelay 1000 - к примеру во избежании ошибок с размером !

Автор: iFX_anti 10.06.2005 - 16:19

я тока хотел про это же написать smile.gif
Чем ниже таймскайл, тем тяжелее демка. Но ведь демки начинаются раньше, чем отсчет времени, причем на неопределенную величину wink.gif . Вот если бы определить как-нибудь по демке, сколько она реально длится, т.е. начало+прохождение+1.8секунды(по дефолту)!
Вот тогда можно и подсчитать средний таймскайл. А чтоб определить, менялся ли тамскайл во время игры нужно както определить изменение количества поступающих от демки данных. Имхо все так huh.gif

Автор: extra 10.06.2005 - 17:12

Скорее всего ето все ху..я потому как размер демки еще зависит от того на сколько стабильно твой комп держит 125 fps у некоторых когда ставишь com_maxfps 125 держится не больше 60 Следовательно и размер демы будет меньше тоесть можно установить какойнибудь таймскал запустить еще каккуюнибудь хуйню которая тормозит комп к примеру еще один q3 и при таймскале демка будет почти такаяже по размеру как и обычная а то и меньше
так что ето по ходу все бред!

Автор: iFX_anti 10.06.2005 - 17:23

у большинства здешних дефрагеров фпс 125
ну а определить, как шел фпс при записи наверна вопщче нереально? blink.gif

Автор: FarshMaker 10.06.2005 - 21:51

ну сопсна я это самое уже давно предлагал газу, на что последовал игнор
пробуйте, может дф-тим посговорчивее будет

anti777
размер демки зависит от таймскейла только при изменении его в самом кваче
то же, с чем мы имеем дело, меняет таймскейл "снаружи"
так что способ не катит

Автор: серафим 10.06.2005 - 23:23

замедлите систему и глянте чо получча.прог таких дахера.

Автор: extra 11.06.2005 - 01:36

Цитата (серафим @ 10.06.2005 - 23:23)
замедлите систему и глянте чо получча.прог таких дахера.

Чет я непонял unsure.gif ! што должно получится ????

Автор: qpk4 11.06.2005 - 09:41

Получаем системное время в начале демки, и в конце, сравниваем разность с временем в демке.

Автор: radiator 11.06.2005 - 10:03

qpk4
так это ведь нада юзать при записи демки, а хотелось бы определять разницу уже при просмотре. или в демку пишеца и то и другое время? (я ещё сильно не разглядывал исходники).

Автор: dS_h@use 11.06.2005 - 10:51

бля любая прога обойдет етот детектор laugh.gif

Автор: FarshMaker 12.06.2005 - 05:07

qpk4
radiator
если бы системное время писалось в демку, то уже давно не было бы проблемой запалить всех таймскейлеров
наиболее приемлемо будет выводить мессагу типа "^1TIMESCALED!!!" при записи, если детектор засёк расхождение таймеров
а можно вдобавок и сам таймскейл рассчитывать и тоже выводить

Автор: [sky]quaker 12.06.2005 - 06:35

кто-то говорил про изменение названия приложения, ну я так понимаю, это либо список процессов (как в Task Manager) - изменить название процесса проще простого - переименовать exe-шник; либо это название окна приложения, если такое есть. Изменить заголовок окна без переписывания проги - тоже как 2 пальца..
так что выводить список запущенных прог имхо идея не очень

Автор: dS-LAMA3OID 12.06.2005 - 08:50

extra
Заголовок меняется одной командой

Автор: dS-LAMA3OID 16.06.2005 - 08:39

Мдя... Я так смотрю, в демке никакие настройки не сохраняются...
Остается идея с системным временем...

Автор: radiator 16.06.2005 - 10:54

LAMA3OID
херовая идея, это ведь нада юзать при записи демки, то есть придёца распространять патч среди населения, а это трудновато...получаеца другой возможности нет?

Автор: FarshMaker 16.06.2005 - 22:36

radiator: захотят чтобы их демки считали легитимными - скачают wink.gif
там же не только защита от таймскейла, но и защита базовых переменных, и питчспида с йоспидом
весь читерский набор отсекается как-никак

Автор: radiator 17.06.2005 - 07:12

FarshMaker
тоже правильно. а новая версия дефрага неизвестно когда выйдет? там-то наверное пофиксят уже. может тогда уж дождаца...

Автор: dS-LAMA3OID 17.06.2005 - 09:16

radiator
FarshMaker
Если писать патч, то можно просто отключить нафиг таймскейл и еще некоторые команды. Если седня будет время, попробую начать все это дело...

ЗЫ. А ведь такой патч пишется по тому же принципу что и читы =)

Автор: R3tw3R 17.06.2005 - 13:50

LAMA3OID

Цитата
ЗЫ. А ведь такой патч пишется по тому же принципу что и читы =)


есеснно

Автор: zlobNYZopux 18.06.2005 - 17:54

Кста реальная феня =)
Тока надо делать чтобы мона было включать и выключать
Или чтобы включалась при записи дем

Автор: dS-LAMA3OID 19.06.2005 - 08:04

Ну уже как-бы и начал... Но пока не много сделал. Уже научился встраивать свои команды в кваку (как в SDC), но еще не роздуплился как отключить команды которые не в qvm-ах, а прошиты в екзешнике... (а таймскейл, cl_pitchspeed etc имено такие)... Но думаю, сделаю.

Автор: eS-VIXen 19.06.2005 - 09:00

LAMA3OID
Дык ведь главная проблема в том что читеры юзают не таймскал,а какие то левые проги для замедления времени. Как вы собираетесь защититься от них ?

Автор: dS_h@use 19.06.2005 - 09:16

=))
Бля люди поймите вы зделаете античит газ зделает еще кручи читы =)

Автор: Guest 19.06.2005 - 10:43

eS-VIXen
Я пытаюсь запретить изменение переменной timescale. А это должно отсеять большую часть читов + ArtMoney и ему подобных. Ну а с прогами типа SpeedGear вряд-ли что-то можно сделать... Тока вот SpeedGear с квакой на замедление не работает (тока на ускорение), а увеличивать таймскейл вряд-ли кто-то будет.
С перемеонной timescale думаю проще и надежнее всего будет просто каждый такт устанавливать значение 1 и все.

dS_h@use
Ясно что это полностью не решает проблему читофф... Но это хотя-бы должно отсеять большую их часть.

Автор: dS-LAMA3OID 19.06.2005 - 10:44

Это был я

Автор: eS-VIXen 19.06.2005 - 13:16

LAMA3OID
В том то и дело что этот твой Speedgear умеет замедлять кваку !!! ohmy.gif
На OPC какой то чел давал ссылку на версию этой проги которая умеет замедлять именно кваку и другие игры на её движке... huh.gif

Автор: dS-LAMA3OID 19.06.2005 - 14:32

eS-VIXen
Опа... Не знал... Надо подумать...

Автор: radiator 19.06.2005 - 15:38

LAMA3OID
так замедление кваки как раз можно определить засечением системного времени и сравнением с квачным =)

Автор: dS-LAMA3OID 19.06.2005 - 16:21

radiator
Хм... Дома гляну что там с ее временем...

Автор: zlobNYZopux 20.06.2005 - 14:03

Братцы придумал реальную феню
надо чтобы таймстарт выводил реал тайм текущие
когда дема заканчивает писаться снова реал тайм
ВСЕ
легко и просто

Автор: dS-LAMA3OID 20.06.2005 - 15:39

zlobNYZopux
Респект !
Тока это уже должны делать программеры из дф тим.
Хотя можно попробовать и самим

Автор: GT-Agressor 24.06.2005 - 09:45

тогда уж сразу чтобы bindlist писался
чтобы скриптеров не было smile.gif

Автор: zlobNYZopux 24.06.2005 - 12:45

Не агрессор это не прокатит

Автор: dS-LAMA3OID 24.06.2005 - 13:03

Для скриптов не обязателен бинд... Можно простым exec-ом все сделать...

Автор: dS-LAMA3OID 24.06.2005 - 13:04

zlobNYZopux
Вчера пол дня сидел - пытался сделать.
Все время одна ошибка которую я до сих пор не исправил... Хотя, имхо, в том что я писал никакой ошибки нет. Но еще буду долбаться.
Седня если получится выложу кусок кода с ошибкой - может кто-то исправит...

Автор: radiator 24.06.2005 - 14:15

LAMA3OID
клади, посмотрим, может пойму чё-нибудь =)

Автор: dS-LAMA3OID 24.06.2005 - 23:18

qboolean GAME_trap_EntityContact( const vec3_t mins, const vec3_t maxs, const gentity_t *ent )
{
if (!ent || !ent->classname)
{
GAME_trap_Printf("Error: null classname");
} else if (ent->classname == "")
{
GAME_trap_Printf("Error: empty classname");
} else if (ent->classname == "trigger_push")
{
GAME_trap_Printf("Trigger_Push \n");
} else if (ent->classname == "TRIGGER_PUSH")
{
GAME_trap_Printf("Trigger_Push \n");
} else
{
GAME_trap_Printf(ent->classname); // <- Ошибка в этой строке
}

qboolean retvalue;

retvalue = ( qboolean )GAME_CallSysCall( G_ENTITY_CONTACT, mins, maxs, ent );
return( retvalue );
}

Вот вызываемая функция:

void GAME_trap_Printf( const char *fmt )
{
GAME_CallSysCall( G_PRINT, fmt );
}

Все компилится. Без этой строки все работает намана. Компилится и с ней, но в рантайме ку3 вылетает с ошибкой. Все предидущие строки работают нормально. Если я пишу :

{
......
char *str = "123";
GAME_trap_Printf(str);
}

то все работает.

По моему, код правильный. Есть идеи почему он не работает ?

Автор: radiator 25.06.2005 - 06:17

LAMA3OID
а с какой ошибкой вылетает? тут касяк какой-то с указателем, может он на какое-то гавно указывает? по шагам посмотри что под указателем.

Автор: dS-LAMA3OID 25.06.2005 - 08:30

В другом месте того же кода есть такое-же место, тока другая функция вызывается. Но передается все так же ent->classname. И все работает.
Здесь я пытался вызывать другую функцию с этим же параметром - вылетает.

Разница между тем и этим кодом только в том, что тот писал Кармак а этот я =)

Так как же я посмотрю, если это длл-ка ? В дебаге ее не запустишь... Я ее тестить могу тока на самой кваке да и в нее ее инжектю другой прогой.

Ошибка стандартная - программа выполнила недопустимую операцию и т.д...
Компилиться все классно

Автор: radiator 26.06.2005 - 11:01

LAMA3OID
гм, странно, попробуй может так
GAME_trap_Printf(&(ent->classname));
или так
GAME_trap_Printf(*(ent->classname));
хотя хз вроде всё нормально...

Автор: No4z 26.06.2005 - 13:35

тоесть, вы предлагаете написать детектор который будет детектить тайискейл? да?...

это конешно хорошо но рано или поздно его обойдут и будут читерить дальше...

разумнее написать длл которая будет не записывать таймскейленые дэмки smile.gif

ps извините... может быть эта идея прозвучала раньше ( я всё не читал )

pps LAMA3OID

bestsukabro

скажи мобилу свою ( будет охуенно если у тебя Djuse ) smile.gif

Автор: Bas Dirks de Grote 26.06.2005 - 13:58

My suggestion:

Don´t make a demo checker, but make something that will not write demo´s to a file if timescaling is detected! This is more consistent.

Автор: dS-LAMA3OID 27.06.2005 - 07:27

No4z
Не джус =(
(066)123-01-03
ЗЫ. Читерский номер wink.gif

Bas Dirks de Grote
I`m trying 2 make a program that will show true time at the begining & in the end of demo. But I`m not sure that i`ll do this because it`s to hard for me. Usually i write my progs in Delphi, but that time i have to write it on C++.

It`s very easy 2 make this detector in new version of df, but i don`t know when it will be.

I can`t do something with other kinds of cheatz like progs, that hack g_speed. It`s posible 2 make it in new version of df. And it`s very easy too. But i`m not member of df team and i can`t do anything with df source.
P.S. Sorry 4 my English...

Автор: Bas Dirks de Grote 27.06.2005 - 23:12

LAMA3OID:

[01:08] <Gazouille> you can change the time at recording
[01:08] <Gazouille> it's not detectable and that's why it's pointless to think about it
[01:08] <Gazouille> time waste
[01:09] <Gazouille> nothing is detectable
[01:09] <Gazouille> isnt that clear?
[01:10] <Gazouille> the concept itself of an absolute measure of time is known to be impossible
[01:12] <Gazouille> without an observer, everything is unfalsifiable
[01:12] <Gazouille> this means that anything that is not online is cheatable
[01:13] <Gazouille> i think ppl have a problem with understanding what an impossibility is and what it isnt

Good luck LAMA3OID, anti-timescale is theoretically impossible, and also practically.

Автор: Bas Dirks de Grote 27.06.2005 - 23:15

[01:15] <Gazouille> what is true time?
[01:15] <|PsY|Z> was about to ask you this
[01:16] <Gazouille> there is no true time offline
[01:16] <|PsY|Z> he told it had something to do with server time
[01:16] <Gazouille> the same way i can change my date i can change my microseconds

Автор: Bas Dirks de Grote 27.06.2005 - 23:18

LAMA3OID:

You might want to reconsider the workings of your program, because i promise you, the way you are trying to do it now, will not work.

Автор: Bas Dirks de Grote 27.06.2005 - 23:23

Your best bet is to make an anti-cheat that functions as an add-on program, like cheating-death / punkbuster.

Автор: radiator 28.06.2005 - 02:58

да, менять системное время можно, но это уже труднее. к тому же можно сравнивать его в каждом фрейме, то есть внешней проге придёца в каждом фрейме его подправлять, а тут уже появляеца проблема синхронизации для неё, ведь внешняя прога не может знать момент каждого фрейма, то есть всё равно есть вероятность, что расхождение задетектица имхо.

Автор: dS-LAMA3OID 28.06.2005 - 05:02

radiator
Нет. Он прав =(
Вероятность то есть, но это не то что нужно. Если уж писать прогу, то нужно писать ее так чтобы можно было быть увереным в том, что если чел играет с ней, то он не читер.

Я вчера довольно долгое время говорил в ирке с Бас Дирксом об этом. И я могу сказать что чувак знает о чем говорит. Он обсуждал эти дела на спиритическом сеансе с верховным божеством дефрага - Газом. И оказалось что тот пытался сделать то же что делаем мы, но не смог. А Газ - охеренный программер. Намного лучше чем я. И у него ничего не получилось.

Идею я пока что не бросаю, но нужно искать новые способы детекта. И Бар Диркс с Газом мне доказали что имеет смысл писать программу только для детектинга. А cheating-death for df лучше не нужно. Вот и будем что-то думать.
Бар Диркс обещал еще поговорить насчет этого с Газом. Плюс я подумаю... Плюс вы все. Может и додумаемся до чего-то о чем не подумал Газ.

Автор: radiator 28.06.2005 - 05:23

LAMA3OID
ок, согласен, вероятность здесь не канает. тогда остаёца определять воздействие на систему (типа что её замедлили). как это вапще делают? процессор занимают просто или как-то хитрее? может отслеживать тогда какой процесс отжирает много процессора, блокировать его. кароче чувствую без доработки самого дф'а не обойтись...

Автор: dS-LAMA3OID 28.06.2005 - 06:04

Чувствую тут без доработки винды не обойтись... =)
Как работает спид гер я не знаю... Есть предположение что он перехватывает функции проверки системного времени (типа GetTickCount etc.) и выдает вместо них свои значения. Но это только мои предположения.
Я же говорю - можно попробовать написать cheating-death. Но сколько его версий ни выходило, сразу же появлялись читы под новую версию...
Все что можно написать можно и взломать.

Автор: Bas Dirks de Grote 28.06.2005 - 08:17

If time is scaled, it leaves no trace, because it can never be compared to realtime. Therefore even if you use bios ticks, it is easy to fake.

Автор: No4z 28.06.2005 - 09:07

LAMA3OID

садись и всё раздупляй smile.gif

Автор: dS-LAMA3OID 29.06.2005 - 13:09

No4z
Это ж хорошо что ты посоветовал... А то я уже и не знал что делать wink.gif
Надо попробовать записать две демы на чем-нить типа st1 просто зажав кнопку вперед... Т.е. чтобы были полностью одинаковыми. Тока одну с таймскейлом а другую без. И сравнить...
Занялся бы седня, но я дома еще дня 3-4 не смогу за комп сесть =( А у меня все на нем...

Автор: iFX_anti 29.06.2005 - 22:08

на очень многие проги подобные программы-замедлители не действуют. Зачем же q3 сделали зависимым от системного времени? blink.gif

Автор: iFX_BoneS 22.07.2005 - 00:03

ТАк чё народ забили!?
Я считаю что эт надо сделать!
Еслиб я мог я б написал!
Я уже просто немого смотреть на ето: С каждым днём появляется всё больше и больше читерских дем!

кто может помоите нам!Сделайте чтоб читерских дем небыло или хотябы чтоб их было меньше!
Сделайте хоть самую простую прогу которая сможет обнаружить хотябы от начинающего читера!

Автор: dS-LAMA3OID 22.07.2005 - 07:32

iFX_BoneS
Меня отговорили...
Типа, если прога не может гарантировать 100%-ю проверку дем, то зачем она нужна ?
А прогу которая будет гарантировать все 100% написать не возможно...

Автор: [bsh]viper 22.07.2005 - 11:29

LAMA3OID

хотя бы ваще читы ловила ;}

Автор: frAkIR 22.07.2005 - 13:12

По идее в DeFRaG'e читы не канают. А в трикджампинге, по идее, важна красота сделанного трика. Сам, кнешна, стараюсь c timescale 1 триксовать smile.gif

Автор: fps-HosT 22.07.2005 - 20:14

frAkIR
Лол, видимо ты совсем не в теме. Дело в том, что читы теперь как раз канают в Дефраге. sad.gif

Автор: frAkIR 22.07.2005 - 20:43

фф смысле в проходе уровня на время? ТАм же если включены читы, дема не пишется. Конечно можно нахимичить с прогой, но будет уже немного другая программа.

Автор: fps-HosT 22.07.2005 - 23:29

Вот именно, с помощью других прого можно в дефраге timescale поменать. И дефраг этого не показывает. dry.gif

Автор: [FKs]destrukt 23.07.2005 - 06:23

народ, а как какртинку сюда выложить, а то пытался и так, и сяк, и всёравно нихера не выходит!

Автор: dS-LAMA3OID 23.07.2005 - 07:57

Viper
Это я сделать смог-бы, но вот подумай... Сделал (или пробил) человек чит который обходит мою прогу и начал таймскейлит направо и налево. Да еще и не особо скрывая это. А что ему скажешь ? Наедешь - а он ответит что раз прога показует что читов нет, значит их нет.
И будем сухари сушить.
Хотите - займусь опять. Но, имхо, нет смысла (см. выше)

[FKs]destrukt
Чувак, ты имено втему =)

Автор: iFX_BoneS 25.07.2005 - 21:43

А ты займись но недавай стопроцентную гарантию работы!
Темболее смысл хотябы в том что-бы начинающих читеров заметить!

Автор: GT-Agressor 26.07.2005 - 02:40

Cуть в том, что не получится создать одну прогу на все времена
Придется её постоянно подновлять, чтобы выявлять новые способы читинга sad.gif
те читеры что-то придумали новое -> прога тоже должна обновится sad.gif

Автор: radiator 26.07.2005 - 08:27

да много нового они не придумает, да и неплохо было бы высекать хотя бы самые простые способы.

Автор: iFX_BoneS 26.07.2005 - 14:18

Нород помогите четным дефрагерам!

Автор: No4z 26.07.2005 - 17:50

надо у веспа и газа все способы читинга узнать ( которые они юзали/юзают )

Автор: fps-HosT 26.07.2005 - 21:32

Так они тебе и расскажут laugh.gif

Автор: [bsh]viper 27.07.2005 - 07:52

LAMA3OID
1)эта прога даст возможность определите те читы, к-е уже сейчас сделаны и записаны нек-ми. и они никак не отвертятся.
2)это исключит возможность читинга бол-ва ламеров:) т.к. они юзают проги полегче, чем Газ.

Автор: iFX_anti 27.07.2005 - 08:19

раз не секрет - вот ламерская прога

 DFTS.zip ( 0 байт ) : 14
 

Автор: iFX_anti 27.07.2005 - 08:21

хорошо, что есть минус- чем меньше таймскайл, тем тяжелее демка

Автор: dS-LAMA3OID 28.07.2005 - 12:24

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

Автор: dS-LAMA3OID 28.07.2005 - 13:03

Мдя... Если так, то вариант отпадает =(

Автор: mojo 21.08.2005 - 16:57

На заметку - самый толковый способ тамскейлить - через инжект DLL (внешним таймскейлом).
Надо перехватить системные API (с помощью которых определяется текущее время) и вместо них подсунуть свою реализацию, выдающую _замедленное_ время. В этом случае при активизации "внешнего таймскейла" для хакнутой программы создается впечатление что она запущена на мощном компе. При наличии необходимых навыков реализация хака не составляет проблем. Тем более теперь, в связи с появлением исходников Q3, для реализации достаточно лишь уметь кое-как программировать на C.
Сами демки по своему формату получаются абсолютно легальные, никаких косяков с переменными, временем и тп в них нету. Задетектить чит можно лишь одним способом - анализируя движения игрока и скорость нажатия клавиш. Но, сами понимаете, это грозит паранойей и шквалом необоснованных обвинений.

Рассказать про другие способы чита?

Автор: extra 21.08.2005 - 20:14


Mojo чтото типа етого ?? тока пример не замедляет а ускоряет систему и написан на Asm'e!

.386
.model flat, stdcall
option casemap:none
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\w2k\ntdll.inc
include \masm32\include\w2k\ntddk.inc
include \masm32\include\w2k\ntstatus.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\w2k\ntdll.lib

include \masm32\Macros\Strings.mac
MB_OK equ 0
MB_YESNO equ 4
IDYES equ 6
MB_DEFBUTTON2 equ 100h

SystemTimeAdjustment equ 28

SYSTEM_QUERY_TIME_ADJUSTMENT STRUCT ; Information Class 28
TimeAdjustment DWORD ?
MaximumIncrement DWORD ?
TimeSynchronization BOOLEAN ?
db 3 dup(?) ; padding
SYSTEM_QUERY_TIME_ADJUSTMENT ENDS
PSYSTEM_QUERY_TIME_ADJUSTMENT typedef ptr SYSTEM_QUERY_TIME_ADJUSTMENT

SYSTEM_SET_TIME_ADJUSTMENT STRUCT ; Information Class 28
TimeAdjustment DWORD ?
TimeSynchronization BOOLEAN ?
db 3 dup(?) ; padding
SYSTEM_SET_TIME_ADJUSTMENT ENDS
PSYSTEM_SET_TIME_ADJUSTMENT typedef ptr SYSTEM_SET_TIME_ADJUSTMENT

SystemTimePrivilege equ 12


.code



start proc uses esi edi ebx

local sqta:SYSTEM_QUERY_TIME_ADJUSTMENT
local ssta:SYSTEM_SET_TIME_ADJUSTMENT

invoke ZwQuerySystemInformation, SystemTimeAdjustment, \
addr sqta, sizeof SYSTEM_QUERY_TIME_ADJUSTMENT, NULL

.if eax == STATUS_SUCCESS; && sqta.TimeSynchronization != FALSE

CTA "Would you like to adjust the time to move faster 4 times?\n\n", g_szMessage
CTA0 "It will be reverted back after this application exits."

invoke MessageBox, NULL, addr g_szMessage, \
$CTA0("Time adjustment confirmation"), MB_YESNO + MB_DEFBUTTON2

.if eax == IDYES

push ecx
invoke RtlAdjustPrivilege, SystemTimePrivilege, \
TRUE, \ ; Enable
FALSE, \ ; Use client's token
esp ; WasEnabled
pop ecx

mov eax, sqta.TimeAdjustment
shl eax, 2
mov ssta.TimeAdjustment, eax

mov ssta.TimeSynchronization, FALSE

invoke ZwSetSystemInformation, SystemTimeAdjustment, \
addr ssta, sizeof SYSTEM_SET_TIME_ADJUSTMENT

.if eax == STATUS_SUCCESS

invoke MessageBox, NULL, \
$CTA0("Now you are living faster 4 times?\n\nPress OK to revert back."), \
$CTA0("Time adjustment changed"), MB_OK

; Revert all back

mov eax, sqta.TimeAdjustment
mov ssta.TimeAdjustment, eax

mov ssta.TimeSynchronization, FALSE

invoke ZwSetSystemInformation, SystemTimeAdjustment, \
addr ssta, sizeof SYSTEM_SET_TIME_ADJUSTMENT

.else

invoke MessageBox, NULL, $CTA0("Sorry, time adjustment failed."), NULL, MB_OK

.endif

.endif

.endif

invoke ExitProcess, 0
ret

start endp


end start

Автор: dS-LAMA3OID 22.08.2005 - 10:46

2 mojo:
Это достаточно простой способ с не самой простой реализацией. Но тупым инжектом можно и проще сделать - при каждом вызове GetTickCount затормаживать с ответом.
А можно и реальный тайскейл менять - просто писать в чужой процесс.
Если знаешь другие способы - пиши.
А я думаю что все-таки сделаю античит против таймскейла на основе движка кваки (т.е. нужно будет запускать этот античит вместо екзешника кваки). Но со спидгером он бороться не будет.
Кроме того Бас Диркс подсказал мне способ как в некоторых случаях СпидГер отловить. Но я еще не проверял. И работать будет не во всех случаях.

extra
Ну ты даешь... Ты бы еще полный сурс чита выложил...

Автор: mojo 22.08.2005 - 12:52

Постоянно сканируй память кваковского процесса в сегментах кода и констант загруженного экзешника на предмет изменений. Если твою софтину не заломают - то этого будет достаточно.

Насчет других способов. В свое время мне не хватило времени и терпения (другими словами - заколебало smile.gif ) сделать скриптовый движок, полностью эмулирующий действия пользователя с точностью, на порядок превосходящей стандартные скрипты (плюс - с дополнительными фишками). Ядро было готово, но я не довёл до состояния, когда его можно было использовать. Работал через модификацию кода кваковского экзешника как q3sdc.

Еще в плане читов можно поработать с загруженным QVM, но это - для истинных маньяков. Геморройно очень.

Автор: dS-LAMA3OID 22.08.2005 - 13:45

Цитата
Постоянно сканируй память кваковского процесса в сегментах кода и констант загруженного экзешника на предмет изменений. Если твою софтину не заломают - то этого будет достаточно.


1. Изменения там происходят все время ! Откуда я могу знать что константа изменилась из-за внешнего воздействия а не потому что движок так захотел ?
2. Даже если бы я все-таки сумел это сделать, то как бы я потом узнал, играли с прогой или без ?

Цитата
Насчет других способов. В свое время мне не хватило времени и терпения (другими словами - заколебало  ) сделать скриптовый движок, полностью эмулирующий действия пользователя с точностью, на порядок превосходящей стандартные скрипты (плюс - с дополнительными фишками). Ядро было готово, но я не довёл до состояния, когда его можно было использовать. Работал через модификацию кода кваковского экзешника как q3sdc


Я это щас делаю... Тока не чит пишу, а бота.
Тока не "как q3sdc" а как "ogc". В сдц его код исспользован. Ну и я его-же юзаю.

Цитата
Еще в плане читов можно поработать с загруженным QVM, но это - для истинных маньяков. Геморройно очень.


Работать с загруженым QVM способом, отличным от упомянутого выше ogc практически невозможно. Тут надо не просто маньяком быть... Тут надо быть гибридом Кармака и Билла Гейтса... Ну и еще кого-нить. Да и то, даже если ты сможешь с ними работать, то все равно, имхо, не сможешь ничего сделать из-за встроеной в дф защиты этих переменных.

Ну и, к тому же, ни один из перечисленых способов не решает проблему СпидГера.
Но все равно, спасибо =)

Автор: extra 22.08.2005 - 19:47

dS-LAMA3OID Если уже начал писать то могу помочь когда времени побольше будет - правда мне кажеться что ето пустая затея ! Короче если што стучи в асю побазарим на ету тему !

Автор: Guest 23.08.2005 - 07:56

Цитата (dS-LAMA3OID @ 22.08.2005 - 13:45)
Цитата
Постоянно сканируй память кваковского процесса в сегментах кода и констант загруженного экзешника на предмет изменений. Если твою софтину не заломают - то этого будет достаточно.


1. Изменения там происходят все время ! Откуда я могу знать что константа изменилась из-за внешнего воздействия а не потому что движок так захотел ?
2. Даже если бы я все-таки сумел это сделать, то как бы я потом узнал, играли с прогой или без ?

Цитата
Насчет других способов. В свое время мне не хватило времени и терпения (другими словами - заколебало  ) сделать скриптовый движок, полностью эмулирующий действия пользователя с точностью, на порядок превосходящей стандартные скрипты (плюс - с дополнительными фишками). Ядро было готово, но я не довёл до состояния, когда его можно было использовать. Работал через модификацию кода кваковского экзешника как q3sdc


Я это щас делаю... Тока не чит пишу, а бота.
Тока не "как q3sdc" а как "ogc". В сдц его код исспользован. Ну и я его-же юзаю.

Цитата
Еще в плане читов можно поработать с загруженным QVM, но это - для истинных маньяков. Геморройно очень.


Работать с загруженым QVM способом, отличным от упомянутого выше ogc практически невозможно. Тут надо не просто маньяком быть... Тут надо быть гибридом Кармака и Билла Гейтса... Ну и еще кого-нить. Да

Ну и, к тому же, ни один из перечисленых способов не решает проблему СпидГера.
Но все равно, спасибо =)

Цитата

Цитата
Постоянно сканируй память кваковского процесса в сегментах кода и констант загруженного экзешника на предмет изменений. Если твою софтину не заломают - то этого будет достаточно.


1. Изменения там происходят все время ! Откуда я могу знать что константа изменилась из-за внешнего воздействия а не потому что движок так захотел ?
2. Даже если бы я все-таки сумел это сделать, то как бы я потом узнал, играли с прогой или без ?


Нет, в сегменте кода и констант изменения не происходят (секции .text, .rdata). Изменения происходят только в секции .data и в динамически выделенной памяти (по умолчанию считаем, что для динамически выделенных областей стоят флаги, разрешающие запись в них).

Существующие читерные демки со 100% успехом распознать не получится, поэтому стоит писать софтину, дополнительно включающую при записи в демку некоторые данные. А при проигрывании их валидировать.

Цитата

Тока не "как q3sdc" а как "ogc".

Да, один черт - и там и там работа идет через ForceLib от йоды.

Цитата

Работать с загруженым QVM способом, отличным от упомянутого выше ogc практически невозможно

Ну почему же. QVM компилируется движком в нэтив код. Нам известно где хранится его информация о скомилированном коде. Соответственно, можно сделать дамп этого кода и поковыряться дизассемблером.

Цитата

и то, даже если ты сможешь с ними работать, то все равно, имхо, не сможешь ничего сделать из-за встроеной в дф защиты этих переменных.

Защита встроена в QVM, следовательно, ничего не мешает мне ее отключить, если я разберу этот QVM.

Цитата

Ну и, к тому же, ни один из перечисленых способов не решает проблему СпидГера.

Мое имхо - надо пресекать запись новых читерных демок, а не ковырять старые...

Цитата

Но все равно, спасибо =)

Не за что, всегда приятно попиздеть и пораздавать идей smile.gif

Автор: extra 23.08.2005 - 18:19

<<< Мое имхо - надо пресекать запись новых читерных демок, а не ковырять старые... >>> Што верно то верно smile.gif

Автор: dS-LAMA3OID 25.08.2005 - 11:29

Цитата
Нет, в сегменте кода и констант изменения не происходят (секции .text, .rdata). Изменения происходят только в секции .data и в динамически выделенной памяти (по умолчанию считаем, что для динамически выделенных областей стоят флаги, разрешающие запись в них).


В этом не шарю. Так что не вкурсе. Но я все-равно не доганяю что мы можем из этого получить ? g_gravity, g_speed, timescale - это не константы. это переменные.

Цитата
Существующие читерные демки со 100% успехом распознать не получится, поэтому стоит писать софтину, дополнительно включающую при записи в демку некоторые данные. А при проигрывании их валидировать.


Со 100% - конечно нет. Но если получится хоть часть - уже хорошо.
А ты уверен что можно при записи данные включать ? Я сильно не читал формат дем, но там вроде загрузка идет блоками определенного размера. Если так, то ниче не получится... Нужно просто во время демки производить действия, которые так просто не сделаешь... Типа, текст выводить где-нить не там или еще что-то такое...

Цитата
Ну почему же. QVM компилируется движком в нэтив код. Нам известно где хранится его информация о скомилированном коде. Соответственно, можно сделать дамп этого кода и поковыряться дизассемблером.


Я это и называю "Практически невозможно". Ты видел q3asm ? Где-то в инете валяется дизассемблер QVM-ов в q3asm.

Цитата
Защита встроена в QVM, следовательно, ничего не мешает мне ее отключить, если я разберу этот QVM.


Да, это возможно. Но ты же не знаешь заранее где ее искать и как она организована. А разбирать сурс qvm-а на q3asm-е.... Лучше сразу повеситься.

Цитата
Мое имхо - надо пресекать запись новых читерных демок, а не ковырять старые...


up ^^^

Цитата
Не за что, всегда приятно попиздеть и пораздавать идей


Еще идеи есть ?

Автор: extra 28.08.2005 - 03:57

походу придумал способ определения конкретно тока таймскала !
распространяться по етому поводу пока небуду потому как можт ошибаюсь !
просьба пусть ктонить запишет 4 демы на одной и тойже карте к примеру dtp
1 из которых будет таймскальной а все отсальные чистые но которая с таймскалом пусть неназывает а я попробую определить с помощью своей софтины котороя !потом сверим !кста могу сказать с уверенностью на 90% генош на ранбфг таймcкал не юзал в отличии от некса !

Автор: fps-HosT 28.08.2005 - 21:57

extra
неплохо, неплохо, давайте запишите ктонить, демки, а то я не умею с таймскалом sad.gif

Автор: extra 29.08.2005 - 16:39

вот так
а то народ чето неспешит !

 

Автор: GT-3oHT 29.08.2005 - 21:58

Только нахрена такой большой скрин пахать было? Хотел похвастаться, что у тебя плейлист на 1.5 тыщи?
Я я бы тебе посоветовал сделать типа... файлового менеджера твой детектор...
Типа открываешь папку с демками, жмёшь кнопку типа "проверить демки на таймскеил"... комп смотрит, и зачитереное выделяет... например красным цветом...

Автор: radiator 30.08.2005 - 05:25

extra
ну круто, если работает, молодец! ) хорошо бы правда его поапгрейдить, чтобы оптом можно было демки детектить.

Автор: radiator 30.08.2005 - 11:52

extra
проверь демку веспа с дфвц )

Автор: extra 30.08.2005 - 19:51

Цитата (GT-3oHT @ 29.08.2005 - 21:58)
Только нахрена такой большой скрин пахать было? Хотел похвастаться, что у тебя плейлист на 1.5 тыщи?

просто мне лень было чето с ним творить нажал print screen в пайнт вставил и всего делов а винамп я ваще никогда невырубаю как и комп !

Автор: extra 30.08.2005 - 20:00

Цитата (radiator @ 30.08.2005 - 11:52)
extra
проверь демку веспа с дфвц )

точно ничего сказать немогу потому как неуверен можт все ето бред по етому и выкладывать его тож спешить небуду во избежании неообосновынных обвинений в адресс того или иного дефрагера если все будет работать то выложу если нет то нет !

дфвц03-2 если ты ее имел в виду то конкретно на таймскал вроде чистая - хотя если он там и читерил то врядли таймскалом скоревсего штото иное g_speed , g_knokback или ваще df_promode

Автор: GT-Belarus 30.08.2005 - 20:20

Дак кинь прогу я тож хачууу ph34r.gif

Автор: GT-3oHT 30.08.2005 - 21:49

Да.... кидай её прямо сюда. И подумай над моим предложением, насчёт этой програмки... Мне кажется, что так будет удобнее всяким Зопухам демки отсеивать...

Автор: extra 31.08.2005 - 12:02

Я ж бля говорю что она бажная некоторые демы читерными считает хотя они нормальные некоторые наоборот не палит скорей всего что это от того что не у всех компы стабильно держат fps я вот например один раз играл sp7 и мне defrag ваще timescale reported выписал я аж ахуел !
Если все нормально будет работать то ясен хуй выложу жопить небуду а так зачем это мне чтоб нажить кучу врагов да и что толку все будут ссылаться на баги и прочую лабуду потому как это тока beta !
Нащет предложения я давно подумал просто нестал пока себе голову заморачивать !
Да и пусть всеже ктонить выложить несколько таймскальных дем тестить то начемто надо !
вобщем попытаюсь чето зделать!

Автор: iFX_anti 31.08.2005 - 12:15

а те надо через хак ячейки, или через хак ситстемного времени

Автор: extra 31.08.2005 - 14:36

anti777
все надо чем больше тем лучше тока желательно штоб карта была поменьше а то чето неулыбается метровые демки качать!

я поетому и нехочу на сам демы писать люди же разными способами таймскал юзают!

Автор: minnie 31.08.2005 - 16:04

Прогу в студию =)

Автор: No4z 31.08.2005 - 16:11

ты ж первый спалишся laugh.gif

Автор: VJew 31.08.2005 - 16:28

extra
если ты прогу всё-таки замутишь,то wespy уже не выйграть DFWC04 laugh.gif

Автор: R3tw3R 1.09.2005 - 06:03

я таймскейлить как и Хост - НЕ УМЕЮ sad.gif

Автор: extra 1.09.2005 - 06:13

хе хe smile.gif штож такое никто таймскалить неумеет !

неудевлюсь если резко подниметься спрос на заявки по удалению дем smile.gif smile.gif smile.gif

Автор: IMP[Gamuza] 1.09.2005 - 07:48

васю пупкина с DFWC03 скачай, там будет тебе таймскел. %)

Автор: dS-LAMA3OID 1.09.2005 - 08:02

extra
Тупо забыл тебе демки записать...
глянь аську... Я тебе стукнул.

Автор: mojo 1.09.2005 - 17:12

После выходных тоже зашлю smile.gif

Автор: VJew 1.09.2005 - 17:54

Попробовал с таймскейлом пойграть...Ацтой какойто!
Неудобно...

Автор: dS-LAMA3OID 2.09.2005 - 05:52

5005133k(RDC)
А вот некоторым очень даже удобно...

Автор: iFX_anti 3.09.2005 - 22:45

знает кто-нить точна:
1. Команды наподобе +forward длятся пропорционально 8 мсек ?
2. Если нет, то сколько минимум расстояние между повторным нажатием клавишы
Просто я думаю, что при низком таймскайле можно запалить на чрезвычайно малом промежутке между нажатием клавиш

Автор: fps-HosT 4.09.2005 - 00:28

Дану не получится, нормальные читеры уже так клавиши не нажимают, это раньше заметно было, что часто жмут, а сейчас - нет.

Автор: extra 8.09.2005 - 19:59

сука не выходит чето заебался уже с этим таймскалом ! думал что получилось а когда начал с дф.ру демы проверять чуть не охуел из 1000 гдето 200 пролетают врядли тут стока таймскальщиков набереться короче надо еще долго мудиться или забивать на ето дело !
мне ваще кажеться что это пустая затея так как дефраг существует не один год а таймскал определять так и не научились врядли я умнее других чтоб вот так за две недели чето конкретное замутить - думаю всетаки забью

Автор: GT-3oHT 8.09.2005 - 21:42

И всёже попытайся проблему пеебать... сила в упорстве, брат...

Автор: dS-LAMA3OID 9.09.2005 - 08:31

extra
Ты где пропадаешь ? Авторизуй меня в аське - пообщаемся... Может че и выйдет.

Автор: extra 10.09.2005 - 11:21

dS-LAMA3OID лучше скажи во скока ты бываешь в онлайне ! А то я щас с этой ебучей работы не вылезаю а там хрен попиздеть удасться шеф у мя злой !

Автор: iFX_anti 10.09.2005 - 12:48

dS-LAMA3OID
всегда помни про почту и все подобное smile.gif

Автор: mojo 12.09.2005 - 11:35

Сорри за задержку, выложил обещанные демки
http://nopym4uk.narod.ru/ts-demos.zip

Если понадобится, вот ICQ: 100010230

Автор: dS-LAMA3OID 14.09.2005 - 09:23

extra
Я обычно бываю каждый четвертые сутки весь день... +с моба захожу каждый день.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)