ScorpioT1000
Работаем
offline
Опыт: отключен
|
а по-твоему я должен рассказать, что есть такая функция main и что в нему можно перегрузить количество вызовов итп ? это самые основы. и всеравно есть уязвимость. в любом случае он просто может потереть твой вызов и вставить туда свой
ScorpioT1000 добавил: кстати от этого тоже есть хитрости, что-то типа транзакций при подгрузке |
10.11.2009, 17:40 | #21
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,707Активность: |
Если Вася Пупкин попытается вставить ГУИ-читы, то от этого надо просто пустой blizzard.j импортировать, однако, ваша карта должна быть полностью на джассе (не использовать функций из bj во всяком случае). |
10.11.2009, 22:06 | #22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
он и common может подсунуть) |
11.11.2009, 14:05 | #23
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Peer
offline
Опыт:
1,400Активность: |
Ох и быстро разрастаются топики на вечную тему протекта/депротекта...
Я полностью согласен с ребятами, пишущими: "защитить карту так, чтобы никто не открыл невозможно" и фраза: "если варкрафт открывает карту то и человек может" ранее звучавшая в похожей теме абсолютно правильная. От себя могу добавить, что под защитой руками может подразумеваться:
|
12.11.2009, 07:22 | #24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ranger21
I love beatiul days XD
offline
Опыт:
13,274Активность: |
Peer,
Первый метод на самом деле не очень подходит, ибо грамотный человек будет искать по имени функции( а карта без НАТИВНЫХ функций не будет работать). :) Сам так искал |
12.11.2009, 09:20 | #25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
какая разница, есть функция main ) ничего не надо искать |
12.11.2009, 12:00 | #26
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Anufis
offline
Опыт:
6,290Активность: |
А такой вопрос. Вот код карты содержится в war3map.j. Можно как-нить сделать, что например я этот файл переименовал в lol.mdx, но чтобы карта читала скрипты именно из него?
|
12.11.2009, 18:01 | #27
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
S
offline
Опыт:
43,833Активность: |
true
самый дельный метод, только ничего писать не надо - надо просто крашить игру (а вот это найти в большой куче кода будет очень сложно, ибо executefunc'ов может быть много) после того, как данные не совпали с исходными
а вообще, по идее никакие программы от хороших читов не спасут - любая программная защита - не защита, ибо просто вставляешь в war3map.j чит, ежели там уже на уровне кода - то ищешь защитные функции (а они находятся очень просто, ибо разработчики любят написать что-то вроде "CHEATER", что в коде находится прекрасно) и удаляешь их (ессно, аккуратно - если на функциях будет завязано пол-игровых систем, то можно сфэйлить всё что можно) или подменяешь вызовы функций, которые так или иначе помешают читам (выброс игрока, изменение уровня на 1 итп)
S добавил:
Нет. S добавил:
Я этим промышлял еще когда только-только в варкрафт играть начал - но это таки бред, ибо это всё будет неоптимизированно и нетру) А пустой b.j - это к toadcop'y, я думаю, таких авторов, которые смогут весь b.j переписать на свой лад - единицы |
12.11.2009, 18:39 | #28
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Anufis
offline
Опыт:
6,290Активность: |
Еще предлагали открывать w3x-файл в hex-редакторе. и там какое-то значение менять. MPQEditor тогда крашит, а всякие x-dep'ы это обходят.
|
12.11.2009, 18:39 | #29
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
S
offline
Опыт:
43,833Активность: |
Кэп, вы не учли одну вещь - можно найти функцию main, найти функцию, вызываемую из функции main и из неё уже вызвать инициализацию читов (а это - самый тру вариант, ибо обычно чит делается для одного игрока и с инициализацией типа "I must win" в зрители) S добавил:
Зато какой-то другой очень старый MPQ-эдитор на всё это дело смотрит с большим непониманием. X-dep насколько я знаю не находит совмещенные названия aka "переменная+"текст"", что дает большой простор для эксперимента с функциями, в случае отсутствующего файла для исполнения которых (изображения напр) запускают вертолет |
12.11.2009, 18:43 | #30
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
S,
вар как то понимает дело с переменная +текст, значит хдеп читает это дело, нужно проверить:) ИМХО Отредактировано XiMiKs, 15.11.2009 в 22:17. |
12.11.2009, 19:17 | #31
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
S
offline
Опыт:
43,833Активность: |
хдеп это не читает по той причине, что когда хдеп собирает листфайл, он проверяет код на целые тексты ака "Путь к файлу", а если у нас будет local string s "Путь " и текст к "к файлу", то хдеп не найдет s+"к файлу" файл, который находится по вышеуказанному пути переменная+текст на этом основан общий принцип защиты от хдепа
S добавил:
Можно поймать насколько я помню количество функций - на этом и основан вышеуказанный способ защиты с помощью ретурнбага, ибо если количество функций изменится (читы), то можно производить определенные действия |
12.11.2009, 19:27 | #32
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Саша ты матчасть не учил, следовательно, мало чего знаешь о защите карт :) да-да ) Я имел ввиду перегрузку главного потока |
14.11.2009, 18:06 | #33
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
S
offline
Опыт:
43,833Активность: |
Гг, не на пользу пошло тебе тоадкопа ученье, о падаван Незачем так извращаться, совершенно незачем, есть более простые и не менее эффективные способы Троллинг незащитан. Саша 3 года (омг, я угрохал на это 3 года. Хотя нет, всё-таки два с половиной, первые полгода я по большей мере ломал карты) занимался взломом и защитой карт, посему знает про это практически всё. По крайней мере не встречал еще ни одну карту, которая не могла быть бы взломанной. А насчёт защиты карт - единственная расово верная защита - через returnbug, который отменили. |
15.11.2009, 13:41 | #34
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
это стоило того? |
15.11.2009, 21:16 | #35
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
Пожалуйста подтвердите или опровергните мои догадки)
Где нибудь в коде, примерно после создания стартовых юнитов, инициации и обьявления переменных можно проверить хэндлы на примере проще рассказать на карте создан 1 триггер и 1 юнит в карте присутствует триггер типа
Результат будет примерно таким 1045670
если на карту добавить еще юнитов то значение будет изменятся, т.е. перед протектом зафиксировать это число и провести проверку чтото типо такой
извиняюсь за возможные ошибки в коде, но суть понятна Отредактировано _Red, 15.11.2009 в 22:13. |
15.11.2009, 21:38 | #36
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DmCreator
offline
Опыт:
3,205Активность: |
_Red, сомневаюсь, думаю, что хендлы сами раскидываются неведомым способом при запуске игры а вообще мог бы и проверить, совпадают ли они сам |
15.11.2009, 21:42 | #37
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
DmCreator, я проверил, это число при любом создани хендла(триггер, звук, юнит, любая переменная) это число увеличивалось на 1, мне просто нужно подтверждение "старичков" :) + всем кто будет искать на подобную тему этот код пригодится |
15.11.2009, 21:55 | #38
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
_Red это принцип РБ, какое нужно подтверждение?
XiMiKs добавил: Ну а к хендлам относятся и триггеры и функции, и т.д. Полный список в common.j |
15.11.2009, 22:22 | #39
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
S
offline
Опыт:
43,833Активность: |
Цитата:
Это того стоило - защиту на ретурнбаге никто не мог взломать, вплоть до камрадов с вц3эдит, а они там занимаются этим профессионально. _Red, возьми пирожок, ибо ты первым написал то, что я так долго и упорно пытался довести до вас всех. Хэндл надо будет проверять всего 2 раза (дабы быть стопроцентно уверенным, на всякий случай как говорится (угу, трата времени, но всё же)), тобишь чтобы он был одинаковым, - просто после запуска игры выводить хэндл на экран, а потом уже сверять, и ессно убрать display. Теперь, если будет добавлен любой новый юнит или функция, то игра будет крашиться без вопросов, что введёт читера в ступор - "что я не так сделал", а обычно 95% вылетов после инжекта читов именно от того, что код был вставлен криво\был криво написан. Самое главное - всё это незаметно вплести где-нибудь по центру кода и сделать 5-6 проверок на переменную, допустим, тобишь если после этого всего игрок будет всё еще играть - проводить еще какое-нибудь интересное действие, например, отображение несуществующего изображения (путь к файлу написать наугад). Но бтв, разве ретурнбаг не упразднили? Отредактировано S, 15.11.2009 в 22:32. |
|
15.11.2009, 22:27 | #40
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|