19:45
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: Alcoholik  
Как бороться с нелегальным редактированием AMX?
ForceДата: Суббота, 16.02.2008, 13:15 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 209
Награды: 2
Город: Санкт-Петербург
Репутация: 24
Замечания: 0%
Статус:
Вопрос к скриптерам, и я уверен, этот вопрос интересует очень многих...

Значит начнем-с.

А все началось с того, что был изобретен нехороший программко, который декомпилирует скомпилированный файл в исходник (source).
Вот представьте, вы сделали мод. Крутой мод. Естественно вы захотите его выложить... Но тут есть проблемка - Ваш гейммод могут декомпилить. Ага! Ответ найден! Мы выложим только *.AMX файл, тем самым сделав мод недоступным редактированием для других. Да! Мы выкладываем амх в интернет на публичное скачивание.
Через несколько дней (а может недель) вы захотите проверить популярность вашего мода. Вы гордо входите в поиск серверов и делаете поиск по гейммоду. Ура! Вы находите сервер с вашим гейммодом! У вас улыбка до ушей.
Вы с прекрасным настроением жмёте кнопочку "Connect" и героически ждете окончания загрузки сан-андреаса. Вы входите на сервер, и замечаете что-то родное, сделанное своими руками. "Да! Это мой ГеймМод!" - закричите вы...
Вы с патриотическим чувством набираете в чат "/about"... И видите что вместо вас в списке авторов красуется какой то чмырь! Он исправил ваш ник на свой и теперь выдает ваш гейммод за свой! Вы со злостью и чувством ненависти выдираете провод питания из розетки, берете молоток...

Вот так вот заканчивается прекрасная жизнь начинающих и даже продвинутых скриптеров. Ваш мод просто декомпилировали, и изменили авторов. Вы наверно скажете, что так делают только настоящие уроды, и это единичные случаи, но вы будете неправы. Это делает наверное каждый 3й человек, который знаком с San-Andreas: Multiplayer, и каждый 2й человек, который держит свой сервер SA:MP.

Это моя предистория =)

Вопрос заключается в том, как сделать *.AMX файлы недекомпилируемые через декомпилятор. Прошу обратить большое внимание на мой вопрос, ведь он интересует очень многих людей.


Сообщение отредактировал Force - Суббота, 16.02.2008, 13:32
RockStarGamerДата: Суббота, 16.02.2008, 13:31 | Сообщение # 2
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
Тут надо немного схитрить что бы люди не хотели декампилировать надо выложись вместе с гамемодом исходник...
Но исходник подпорченный так что бы он не компилировался...
Большенство ламеров потыкаются потыкаются подумают что этот гамемод не как не скомпилировать, а про декомпилятор и не вспомнят...



Сообщение отредактировал NY - Суббота, 16.02.2008, 13:32
ForceДата: Суббота, 16.02.2008, 13:32 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 209
Награды: 2
Город: Санкт-Петербург
Репутация: 24
Замечания: 0%
Статус:
Вариант. Но не все такие идиоты =)
RMENДата: Суббота, 16.02.2008, 14:35 | Сообщение # 4
Уверенный в себе
Группа: Продвинутые
Сообщений: 241
Награды: 2
Город: Москва
Репутация: -564
Замечания: 80%
Статус:
Есть очень простое решение, вставь в мод побольше #define, декомпилятор их не видит (у меня их 5000). Да в любом случае декампилированый мод можно отличить от подлиника - не кто его на Sa-mp.com не выложит, а выложет получит бан.


Сообщение отредактировал RMEN - Суббота, 16.02.2008, 14:37
DarkByteДата: Суббота, 16.02.2008, 15:54 | Сообщение # 5
Долгожитель
Группа: Продвинутые
Сообщений: 1577
Награды: 7
Город: Челябинск
Репутация: 182
Замечания: 0%
Статус:
Quote (RMEN)
Есть очень простое решение, вставь в мод побольше #define, декомпилятор их не видит (у меня их 5000). Да в любом случае декампилированый мод можно отличить от подлиника - не кто его на Sa-mp.com не выложит, а выложет получит бан.

Если знать основы языка си++, то можно понять почему декомпилятор не видит #define, это случается потому что в АМХ скрипте их нету, они исчезают в моменте компиляции, компилятор просто ищет в коде все определения #define и заменяет их, например был код:
Code
#define asd "abc"
...
printf("%s",asd);

В момент компиляции asd будет рассматриваться как строка "abc", т.е. компилятор скомпанут код в printf("%s","abc");
следовательно декомпилятор сможет выдать только вариант printf("%s","abc");

Насчёт защиты, декомпилятор может восстановить только имена public функций, но это мало чем поможет в защите.
Можно эксперементальным путём найти способы "засорения" кода, либо сводимости его к такому, который после декомпиляции не будет работать


MusicSig vkontakte - расширение функционала ВКонтакте для Google Chrome
ForceДата: Суббота, 16.02.2008, 17:30 | Сообщение # 6
Уверенный в себе
Группа: Продвинутые
Сообщений: 209
Награды: 2
Город: Санкт-Петербург
Репутация: 24
Замечания: 0%
Статус:
тоесть как я понял, #define не катит? lol

Добавлено (16.02.2008, 17:30)
---------------------------------------------
Вроде параметр #define отвечает только за удобство работы в PAWN.
Например есть ворота. Их ИД и положение: 484802, -42844, -438185, -58821,0,0,0,0,0,45 (Это я так к примеру =) )

Есть #define gates "484802, -42844, -438185, -58821,0,0,0,0,0,45"
и чтобы не писать такую большую хрень в виде цифр можно подставлять просто gate.

Например:
MoveObject (gates, -25.45, 495,0,0,0,0,1)

Не ругайте меня, просто я давно отвык от скриптинга в павно, и забыл всякие мелочи =)


Сообщение отредактировал Force - Суббота, 16.02.2008, 17:31
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua