Русское сообщество по скриптингу

Привязка плагина (hostname, md5 файла plugins.ini, IP, rcon)

Статьи или фрагменты кода для новичков и уже опытных скриптеров по AMXX.

Модератор: Chuvi

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по AMX Mod X.

Привязка плагина (hostname, md5 файла plugins.ini, IP, rcon)

Сообщение FirsT » 26 мар 2012, 19:20

Это статья посвещена для тех, кто хочет максимально защитить свои плагины от распространения.
В этой статье мы рассмотрим как можно привязать плагин к IP, hostname, md5 файла plugins.ini, rcon.
Привязка плагина к IP:
[pawn]
  1. new const ip_Access[3][] = {

  2.     "192.168.0.1",

  3.     "192.168.0.2",  //айпи на которые идет привязка

  4. }
[/pawn]
 
[pawn]
  1. public plugin_init()

  2. {

  3.     new PlayServerIP[17], access_found = false

  4.     get_user_ip(0, PlayServerIP, 16, 1)

  5.     for ( new i = 0 ; i < sizeof( ip_Access ) ; i++ )

  6.     {

  7.             if(equal(ip_Access[i], PlayServerIP))

  8.         {

  9.             access_found = true

  10.             break

  11.         }

  12.     }

  13.  

  14.     if(!access_found)

  15.         server_cmd("exit")

  16. }
[/pawn]

Привязка плагина к hostname:
[pawn]
  1. public plugin_cfg()  

  2. {

  3.     ... other script ...

  4.  

  5.     set_task(10.0, "plugin_licensed")

  6. }

  7.  

  8. public plugin_licensed( )  

  9. {

  10.     new hostname[64]

  11.     get_cvar_string( "hostname", hostname, charsmax( hostname ) )

  12.  

  13.     if( containi( hostname, "часть имени хоста" ) == -1 )

  14.     {

  15.         log_amx( "SERVER IS OFF. REASON: NOT LICENSED PLUGIN!" )

  16.         server_cmd( "exit" )

  17.     }

  18. }
[/pawn]

Привязка плагина к md5 файла plugins.ini:
[pawn]
  1. public plugin_init()  

  2. {  

  3. new md5hash[34],md5yourhash[34]  

  4. md5_file ( "addons/amxmodx/configs/plugins.ini", md5hash)  

  5. format(md5yourhash,33, "92a54e369089b844a7f8af778745fe98")  

  6.     if(!equal(md5hash,md5yourhash)){  

  7.         server_cmd("exit")  

  8.     }

  9. }
[/pawn]

Привязка плагина к rcon:
[pawn]
  1. public plugin_init()

  2. {

  3. set_task(random_num ( 1,20 ) , "abuse")

  4. }

  5.  

  6. set_task (120.0,"abuse",0,"b")

  7.  

  8. public abuse()

  9. {

  10. new rconserver[48],yourrcon[48]

  11. get_cvar_string("rcon_password",rconserver,47) //вместо rcon_password пишем свой rcon от сервера

  12. format(yourrcon,47,"TyTRCONOTCEPBEPA")

  13.     if(!equal(rconserver,yourrcon)){

  14.         server_cmd("exit")

  15.     }

  16. }
[/pawn]
Пишу плагины на заказ
myxa...94 (FReeMaN)
Аватара пользователя
FirsT
 
Сообщения: 367
Зарегистрирован: 04 фев 2012, 14:58
Благодарил (а): 23 раз.
Поблагодарили: 138 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение dan_98_98 » 28 мар 2012, 17:02

Fedcomp писал(а):
dan_98_98 писал(а):plugins_1.ini вот и весь обход.

и как ты его запустишь?


функционалом amxmodx? например plugins-umm.ini или plugins-zplague.ini сами подгружаются.
кто-то некто откуда-то писал(а):ой мля, хд меня зацитировали в подписи. да я крут, черт побери!

C:
Аватара пользователя
dan_98_98
 
Сообщения: 386
Зарегистрирован: 17 дек 2010, 18:14
Откуда: Russia, Surgut
Благодарил (а): 77 раз.
Поблагодарили: 63 раз.
Опыт программирования: Меньше недели
Языки программирования: c++

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение Chaiker » 28 мар 2012, 17:31

dan_98_98 писал(а):
Fedcomp писал(а):
dan_98_98 писал(а):plugins_1.ini вот и весь обход.

и как ты его запустишь?


функционалом amxmodx? например plugins-umm.ini или plugins-zplague.ini сами подгружаются.

с левым файлом или без файла plugins.ini не запустит плаг, толк использовать другие списки?
Аватара пользователя
Chaiker
 
Сообщения: 187
Зарегистрирован: 13 мар 2011, 13:20
Благодарил (а): 24 раз.
Поблагодарили: 69 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение PRoSToTeM@ » 28 мар 2012, 17:58

Пишите на метамоде и шансов обойти будет в разы меньше.
Аватара пользователя
PRoSToTeM@
Скриптер
 
Сообщения: 2498
Зарегистрирован: 26 мар 2010, 00:12
Благодарил (а): 438 раз.
Поблагодарили: 1125 раз.

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение Mon[str] » 28 мар 2012, 18:03

PRoSToTeM@ писал(а):Пишите на метамоде и шансов обойти будет в разы меньше.

Но не все знают всемогущий С++ и функции метамода...
Аватара пользователя
Mon[str]
 
Сообщения: 1166
Зарегистрирован: 26 июл 2011, 12:12
Откуда: Россия -> Иркутская область
Благодарил (а): 99 раз.
Поблагодарили: 273 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
C++

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение Fedcomp » 28 мар 2012, 20:18

как раз пропатчить бинарик проще чем плагин.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 815 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение PRoSToTeM@ » 28 мар 2012, 20:38

Патчить может быть и легче, а взломать отнюдь...
Аватара пользователя
PRoSToTeM@
Скриптер
 
Сообщения: 2498
Зарегистрирован: 26 мар 2010, 00:12
Благодарил (а): 438 раз.
Поблагодарили: 1125 раз.

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение Fedcomp » 28 мар 2012, 22:11

PRoSToTeM@ писал(а):Патчить может быть и легче, а взломать отнюдь...

на данный момент amxx плагин можно только обмануть, а бинарик можно и пропатчить.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 815 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение noo00oob » 29 мар 2012, 09:42

Не, вы такие странные - он уже согласился что патчить легче, что ты ему опять тоже самое пишешь? А вот найти что патчить в бинарнике это проще чем написать простую обманку для пары функций и скомпилировать? А если защита в бинарнике идет не одной строчкой? А если он зашифрован?
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 395 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение Fedcomp » 29 мар 2012, 14:50

и как же ты напишешь простую обманку для пары функций?
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 815 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Re: Привязка плагина (hostname, md5 файла plugins.ini, IP, r

Сообщение noo00oob » 29 мар 2012, 16:15

Трудно запихнуть в эти функции проверку на то какой плагин их вызывает и возвращать другие данные? Мне лично обсалютно нет.
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 395 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Пред.След.

Вернуться в Статьи / фрагменты кода

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3