Добавлен vantuz9719
В интернете и здесь полно статей и программ для вскрытия карт, а для её защиты почти ни чего нету, может кто подсказать как и чем её лучшее всего защитить? Что бы нельзя было открыть её в редакторе и кинуть ссылку на прогу для её защиты.
Принятый ответ
Похожие вопросы:
ответ
Hate:
никак
ответ
Ну да, после этого в редакторе карт не откроешь. Но им и никто не пользуется для этого, когда есть MPQ Editor.
ответ
lll_Kirito_lll:Как вариант, сделать так, что бы модель была разбита на множество текстур которые раскиданы по самым дурацким путям. Ни какой картодел не будет вытаскивать такую модель, ни за что.Хочется иметь у себя только модель допустим )
ответ
Tumart:Подробно - это сделай за меня?quq_CCCP, а можно поподробнее? И это защитит карту от инжекта?
Суть:call BJDebugMsg( I2Sx( 100500 ) )
Выдаст разные значения в депротектнутой и нормальной картах, пока это теория но возьмите и проверьте.
I2Sx - фольклорная функция ретурн бага, суть преобразует хеш от строки в строку. именно хеш а не инт. т.е адрес в таблице строк на строку.
вот RetunrBug ( www.hiveworkshop.com/threads/accessing-memory-from-the-script-it... )
функция в либе Typecast - I2SH
Ну кароче проверил:function Trig_J_Test_Actions takes nothing returns nothing local integer i = 486 local string str = null set str = S2S( I2SH( i ) ) call BJDebugMsg( str ) set str = null endfunction //=========================================================================== function InitTrig_J_Test takes nothing returns nothing set gg_trg_J_Test = CreateTrigger( ) call TriggerRegisterPlayerEventEndCinematic( gg_trg_J_Test, Player(0) ) call TriggerAddAction( gg_trg_J_Test, function Trig_J_Test_Actions ) endfunction
При добавлении, удалении 3 функций сменяется строка по этому адресу, самое главное найти последнюю строку (ну или как я от балды ввел число) хотя я не уверен что прокатит с числом от балды, нужно найти последнюю строку на момент загрузки карты и смотреть её адрес, а после смотреть что будет записано по этому адресу в таблице строк.
ответ
Karp, Ой способов защиты 100500, щяс есть мемхак, я уже выкладывал пример как проверить вводились ли в код карты измненения.
Так же есть возможность писать код карты байткодами, которые внезапно низя прочитать или перевести в JASS это внутренние инстркции JASS машины. Но это достаточно сложно. Так же Можно загружать свои ДЛЛ, а это дает полный контроль над картой, можно зашифровать и сжать данные в архиве хер знает какими алгоритмами которые никогда не видел варкравт, а при загрузке срипта вызывать Дллку которая бы и расшифровывала это дело и вызывала функцию чтения архива + проверяла контрольную сумму архива (вроде в мемхаке была эта функция), контрульная сумма не та - выгружаем из ДЛЛ вирус, чтонить на подобии шифровальщиков. И читерам уже не до карты и варкравта в целом...
Это не для гуи новичков, придется долго морщить лоб и писать карту на jass + малость в с++ шарить.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Если вы параноик и хотите защиту, будите писать карту с нуля, сначала на jass потом переводить в байткоды - тогда точно хрен там кто, что изменит...
Так же есть проверка изменения кода карты и щяс снова доступен ретурн баг, а так же есть даже наработка -http://xgm.guru/p/wc3/memoryhack.
Которая как раз и позволяет смотреть менял ли кто код карты, да и вовсе подгрузка сторонних DLL в процесс игры говорит сама за себя.
Но это очень долго и сложно.