В этой теме я немного расскажу как защитить свой скрипт, ну и как его декомпилировать при таких защитах.
[Как декомпилировать скрипты]
Первое. Если при компиляции скрипта пишет "Неверный символ в идентификаторе %_45."
1. Открываем скрипт.
2. Видим строку theard "%" и далее в скрипте что-то подобное :%_161
3. Удаляем строку theard "%"
4. Удаляем последующие его названия.
Приведу пример, например есть скрипт.
Неправильный с ошибкой:
Правильный:
5. Готово.
Второе. Если пишет "Неизвестный опкод %%%% по адресу %%%."
1. Открываем Sunny Builder.
2. Около иконки "Run GTA" справа есть ещё одна, при нажатии на неё будет 5 параметров:
1. CODE_OFFSETS
2. IGNORE_UNKNOWN
3. VAR_COUNTER
4. CONSTANT_INDEXES
5. SKIP_SCM_HEADER
3. Активируем параметр IGNORE_UNKNOWN и SKIP_SCM_HEADER (Параметр CONSTANT_INDEXES активирован автоматически, его не отключать).
4. Теперь заново открываем скрипт и вуаля, он декомпилировался.
Теперь у вас вопрос из за чего и как такое сделать себе? Приступим.
Первое. Если хотите сделать защиту при компиляции скрипта.
1. Открываем ваш скрипт.
2. После MAIN ниже вводим такое как theard "Ваш параметр" (Можно что то с # или $PLAYER_... как обычно использует SYSTEM).
3. После комплектации он добавляется к переходам и вуаля, защита от нубов готова.
Второе. Если хотите защиту "Неизвестный опкод %%%% по адресу %%%."
1. Открываем скрипт.
2. В любой строчке скрипта вставляем не законченную функцию:
Это всего лишь пример, можете пробовать любое сочетание. Но если после 1A A1 ниже добавить end то эта защита не получится.
Автор: Dopefish
[Как декомпилировать скрипты]
Первое. Если при компиляции скрипта пишет "Неверный символ в идентификаторе %_45."
1. Открываем скрипт.
2. Видим строку theard "%" и далее в скрипте что-то подобное :%_161
3. Удаляем строку theard "%"
4. Удаляем последующие его названия.
Приведу пример, например есть скрипт.
Неправильный с ошибкой:
Код:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
thread "#GM" // Удаляем это.
:#GM_45 // Здесь нужно удалить только #GM_
wait 0
if
0AB0: key_pressed 121
else_jump @#GM_45 // Здесь нужно удалить только #GM_
018C: play_sound 1058 at 0.0 0.0 0.0
00BC: show_text_highpriority GXT 'CHEAT1' time 1500 flag 1 // KOD AKTNBNPOBAH
jump @#GM_107 // Здесь нужно удалить только #GM_
:#GM_107 // Здесь нужно удалить только #GM_
wait 0
if
not Actor.Stopped($PLAYER_ACTOR)
if or
0AB0: key_pressed 87
0AB0: key_pressed 38
else_jump @#GM_161 // Здесь нужно удалить только #GM_
Actor.SetImmunities($PLAYER_ACTOR, 1, 1, 1, 1, 1)
jump @#GM_107 // Здесь нужно удалить только #GM_
:#GM_161 // Здесь нужно удалить только #GM_
wait 0
if
Actor.Stopped($PLAYER_ACTOR)
else_jump @#GM_161 // Здесь нужно удалить только #GM_
Actor.SetImmunities($PLAYER_ACTOR, 0, 0, 0, 0, 0)
jump @#GM_107 // Здесь нужно удалить только #GM_
Правильный:
Код:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
:45
wait 0
if
0AB0: key_pressed 121
else_jump @45
018C: play_sound 1058 at 0.0 0.0 0.0
00BC: show_text_highpriority GXT 'CHEAT1' time 1500 flag 1 // KOD AKTNBNPOBAH
jump @107
:107
wait 0
if
not Actor.Stopped($PLAYER_ACTOR)
if or
0AB0: key_pressed 87
0AB0: key_pressed 38
else_jump @161
Actor.SetImmunities($PLAYER_ACTOR, 1, 1, 1, 1, 1)
jump @107
:161
wait 0
if
Actor.Stopped($PLAYER_ACTOR)
else_jump @161
Actor.SetImmunities($PLAYER_ACTOR, 0, 0, 0, 0, 0)
jump @107
5. Готово.
Второе. Если пишет "Неизвестный опкод %%%% по адресу %%%."
1. Открываем Sunny Builder.
2. Около иконки "Run GTA" справа есть ещё одна, при нажатии на неё будет 5 параметров:
1. CODE_OFFSETS
2. IGNORE_UNKNOWN
3. VAR_COUNTER
4. CONSTANT_INDEXES
5. SKIP_SCM_HEADER
3. Активируем параметр IGNORE_UNKNOWN и SKIP_SCM_HEADER (Параметр CONSTANT_INDEXES активирован автоматически, его не отключать).
4. Теперь заново открываем скрипт и вуаля, он декомпилировался.
Теперь у вас вопрос из за чего и как такое сделать себе? Приступим.
Первое. Если хотите сделать защиту при компиляции скрипта.
1. Открываем ваш скрипт.
2. После MAIN ниже вводим такое как theard "Ваш параметр" (Можно что то с # или $PLAYER_... как обычно использует SYSTEM).
3. После комплектации он добавляется к переходам и вуаля, защита от нубов готова.
Второе. Если хотите защиту "Неизвестный опкод %%%% по адресу %%%."
1. Открываем скрипт.
2. В любой строчке скрипта вставляем не законченную функцию:
Код:
hex
1A A1
Это всего лишь пример, можете пробовать любое сочетание. Но если после 1A A1 ниже добавить end то эта защита не получится.
Автор: Dopefish