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

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 функций сменяется строка по этому адресу, самое главное найти последнюю строку (ну или как я от балды ввел число) хотя я не уверен что прокатит с числом от балды, нужно найти последнюю строку на момент загрузки карты и смотреть её адрес, а после смотреть что будет записано по этому адресу в таблице строк.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
32
Astra:
Смысл по сути тот же что и сравнивать значения заголовков от первой до последней строки через хэш-таблицу. Так и без РБ можно сделать.
Без рб низя залезть в именя функций, хеш от сроки (именно хеш а не всякое гно) можно тока через рб.
20
quq_CCCP:
кук, ты говорил о проверке размера карты
а как ты запишешь число-размер-ключ, если после сохранения он опять изменится?
32
ssbbssc:
quq_CCCP:
кук, ты говорил о проверке размера карты
а как ты запишешь число-размер-ключ, если после сохранения он опять изменится?
Ну ты сначало смотришь на что изменится, а потом сохраняешь с проверкой, что мешает узнать какое оно будет в игре?
28
quq_CCCP, мб ты имеешь ввиду не хеш а адрес в таблице
ибо хеш это результат действия хеш функции и для 1 и той же строки он не должен меняться(один из пунктов определения)
32
nvc123:
quq_CCCP, мб ты имеешь ввиду не хеш а адрес в таблице
ибо хеш это результат действия хеш функции и для 1 и той же строки он не должен меняться(один из пунктов определения)
Ну функция везде именуется StringHash но она возвращает именно адрес как ты и написал, а не инт от балды. Это нам и нужно, "" - первая строка в карте, а последнюю нужно найти, глядя что по адресу последней строки в карте можно сделать вывод модифицировали ли код или нет?
6
Такс, ну в принципе суть ответа ясна. Всем спасибо.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.