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

Блокировка вредоносных функций плагина

Флуд, который не касается других разделов форума.

Модератор: Модераторы

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

Блокировка вредоносных функций плагина

Сообщение WhiteShadow » 20 апр 2017, 02:58

Hi, все когда-нибудь сталкивались с тем, что у них есть плагин, который когда-то покупали у какого-то anon''имуса, который в итоге пропал, а переезд на другой хостинг вызвал дискомфорт у администратора сервера.

Есть такая замечательная программа, как Вы должны зарегистрироваться, чтобы видеть ссылки.. Качаем!

Берем плагин, который хотим блокнуть от проверок :-\ . Далее тащим его на LysisDecompile.exe, получаем предполагаемый вариант плагина. За основу я взял плагин SuperBan, который якобы на хостинг цссерв предоставляется всем желающим бесплатно, но там идет какая-то проверка на уровне хостера. Вижу id task: 0, 1000 (2 таска). 0-й таск отвечает за отправку запроса, а 1000 - за Timeout, если он истечет и плагин не выполнил что надо, тогда блокирует :-! . Слегка посидев, да подумав написал вот такой вот плагин:
Код: Выделить всё
#include < amxmodx >

#define ADD_FILE    "addons/amxmodx/configs/ABD_Remover.cfg"

new g_String[2][24];

public plugin_precache()
{
    register_plugin("[ABD] Remover", ".1a", "ABD DEV Team");
    
    register_srvcmd
("abd_add_cmd", "AddCmd");
    register_srvcmd("abd_add_task", "AddTask");
    
    if
(file_exists(ADD_FILE))
    {
        server_cmd("exec %s", ADD_FILE);
    }
}

public AddCmd()
{
    read_argv(1, g_String[0], charsmax(g_String[]));
    
    server_print
("[ABD] Command ^"%s^" successfully add.", g_String[0]);
    
    register_clcmd
(g_String[0], "ClientLockCmd");
}

public AddTask()
{
    read_argv(1, g_String[0], charsmax(g_String[]));
    read_argv(2, g_String[1], charsmax(g_String[]));
    // 1 = TaskId, 2 = Time for Remove
    if(!strcmp(g_String[1], "Now"))
    {
        RemoveTaskId(str_to_num(g_String[0]));
    } else {
        set_task(str_to_float(g_String[1]), "RemoveTaskOnTime", str_to_num(g_String[0]) + 100);
    }
}

public RemoveTaskOnTime(TaskID)
{
    new NumTaskId = TaskID - 100;
    RemoveTaskId(NumTaskId);
}

public ClientLockCmd(id)
{
    console_print(id, "[ABD] This client command block.");
    return 1;
}

stock RemoveTaskId(const TaskId)
{
    server_print("[ABD] Task ^"%d^" successfully remove.", TaskId)
    remove_task(TaskId, 1);


Содержание файла ABD_Remover.cfg:
Код: Выделить всё
// HarDCore Crack :D
abd_add_task "0" "1.0"
abd_add_task "1000" "1.0" 


В итоге SuperBan заработал на всех серверах, которые были для проверки у меня :-\ . И конечно, для умельцев делать мега-защиту от взлома плагина типа таких:
1.
Код: Выделить всё
set_task(300.0, "QuitServer");

public QuitServer() server_cmd("quit"); 


2.
Код: Выделить всё
register_clcmd("quit232", "cQuit");

public cQuit(id) server_cmd("quit"); 


3.
Код: Выделить всё
set_task(10.0, "Check");

public Check()
{
    new s_IP[33];
    new s_IP_md5[34];
    get_user_ip(0, s_IP, 32, 0);
    md5(s_IP, s_IP_md5);
    if (!equal(s_IP_md5, "457bf4d73cc562ebbabf45d9261f848b", 0))
    {
        new filename[40];
        format(filename, 40, "FS_LOG.log");
        log_to_file(filename, "Problems!? skype:");
        server_cmd("quit");
    }
    set_task(30.00, "Check1", 0, "", 0, "", 0);
    return 0;
}

public Check1()
{
    new s_IP[33];
    new s_IP_md5[34];
    get_user_ip(0, s_IP, 32, 0);
    md5(s_IP, s_IP_md5);
    if (!equal(s_IP_md5, "457bf4d73cc562ebbabf45d9261f848b", 0))
    {
        new filename[40];
        format(filename, 40, "FS_LOG.log");
        log_to_file(filename, "Problems!? skype:");
        server_cmd("quit");
    }
    set_task(30.00, "Check2", 0, "", 0, "", 0);
    return 0;
}

public Check2()
{
    new s_IP[33];
    new s_IP_md5[34];
    get_user_ip(0, s_IP, 32, 0);
    md5(s_IP, s_IP_md5);
    if (!equal(s_IP_md5, "457bf4d73cc562ebbabf45d9261f848b", 0))
    {
        new filename[40];
        format(filename, 40, "FS_LOG.log");
        log_to_file(filename, "Problems!? skype:");
        server_cmd("quit");
    }
    return 1;
}

Я вас уверяю, достаточно будет поставить ABD_Remover.amxx в самый верх плагинов, и настроить конфиг так:
Код: Выделить всё
abd_add_cmd "quit232"
abd_add_task "0" "299.9"
abd_add_task "0" "9.9"


Простите засранца, если написал что-то плохое. Просто предоставляю в ознакомительных целях
1. vk.cc/6xqK8B
Аватара пользователя
WhiteShadow
 
Сообщения: 28
Зарегистрирован: 20 апр 2017, 02:16
Забанен
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Языки программирования: Pawn
C++
Php
Delphi
C#

Re: Блокировка вредоносных функций плагина

Сообщение lop50956 » 20 апр 2017, 04:36

чтот читаю все твои 6 постов и немного в .......

Вы должны зарегистрироваться, чтобы видеть ссылки.

Щас бы статейки писать в 2017 о том как блокировать бекдоры простейшие...

Добавлено спустя 13 минут 11 секунд:
Статья сама по себе д8рьмо редкостное. Для единичного случая сойдет, что будешь делать при таком раскладе:
Код: Выделить всё
new asdasd;
...
precache...{
asdasd=random_num(0,812848);
}
////...gdeto ....///
set_task(random_float(10.0),"puglicxz",asdasd);

 

Ничего. Придется смореть каким плагином какой таск вызывается, включать эвристику и вырубать его. Это глупо.
Аватара пользователя
lop50956
 
Сообщения: 178
Зарегистрирован: 29 ноя 2016, 00:36
Забанен
Благодарил (а): 18 раз.
Поблагодарили: 16 раз.
Опыт программирования: Больше трех лет
Языки программирования: Php

Re: Блокировка вредоносных функций плагина

Сообщение KOTOKU » 20 апр 2017, 05:11

Полезно для тех, кто купил сборку у Ар4mod, у него как раз такие методы защиты мода :-D
А так, тема фуфло полное, так только плагины новичков разбирать, а они как таковой
и без server_cmd("quit") тебе серв положат своим быдлокодом :-D
Короче, метод для троглодитов
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Блокировка вредоносных функций плагина

Сообщение unrealfart » 20 апр 2017, 10:35

Аватара пользователя
unrealfart
 
Сообщения: 264
Зарегистрирован: 23 фев 2016, 19:45
Благодарил (а): 53 раз.
Поблагодарили: 18 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn

Re: Блокировка вредоносных функций плагина

Сообщение zhorzh78 » 20 апр 2017, 10:52

Аватара пользователя
zhorzh78
 
Сообщения: 91
Зарегистрирован: 26 фев 2014, 10:07
Благодарил (а): 1 раз.
Поблагодарили: 23 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn (AMXX)

Re: Блокировка вредоносных функций плагина

Сообщение lop50956 » 20 апр 2017, 16:09

zhorzh78, а на живом сервере то запускается?
Аватара пользователя
lop50956
 
Сообщения: 178
Зарегистрирован: 29 ноя 2016, 00:36
Забанен
Благодарил (а): 18 раз.
Поблагодарили: 16 раз.
Опыт программирования: Больше трех лет
Языки программирования: Php

Re: Блокировка вредоносных функций плагина

Сообщение zhorzh78 » 20 апр 2017, 16:42

lop50956 писал(а):zhorzh78, а на живом сервере то запускается?

Это был сарказм)
Это рабочий плагин, скомпилированный с отладочной информацией обычным АМХ компилятором..
И безо всяких "защит" от Вы должны зарегистрироваться, чтобы видеть ссылки.
Аватара пользователя
zhorzh78
 
Сообщения: 91
Зарегистрирован: 26 фев 2014, 10:07
Благодарил (а): 1 раз.
Поблагодарили: 23 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn (AMXX)

Re: Блокировка вредоносных функций плагина

Сообщение lop50956 » 20 апр 2017, 17:01

zhorzh78 писал(а):
lop50956 писал(а):zhorzh78, а на живом сервере то запускается?

Это был сарказм)
Это рабочий плагин, скомпилированный с отладочной информацией обычным АМХ компилятором..
И безо всяких "защит" от Вы должны зарегистрироваться, чтобы видеть ссылки.


В любом случае он не декомпилится обычными средствами.
Аватара пользователя
lop50956
 
Сообщения: 178
Зарегистрирован: 29 ноя 2016, 00:36
Забанен
Благодарил (а): 18 раз.
Поблагодарили: 16 раз.
Опыт программирования: Больше трех лет
Языки программирования: Php

Re: Блокировка вредоносных функций плагина

Сообщение WhiteShadow » 20 апр 2017, 17:14

lop50956 писал(а):чтот читаю все твои 6 постов и немного в .......

Вы должны зарегистрироваться, чтобы видеть ссылки.

Щас бы статейки писать в 2017 о том как блокировать бекдоры простейшие...

Добавлено спустя 13 минут 11 секунд:
Статья сама по себе д8рьмо редкостное. Для единичного случая сойдет, что будешь делать при таком раскладе:
Код: Выделить всё
new asdasd;
...
precache...{
asdasd=random_num(0,812848);
}
////...gdeto ....///
set_task(random_float(10.0),"puglicxz",asdasd);

 

Ничего. Придется смореть каким плагином какой таск вызывается, включать эвристику и вырубать его. Это глупо.


кто мешает пройтись циклом?

Добавлено спустя 25 секунд:
zhorzh78, молодец
Код: Выделить всё
UNKNOWN OP CODE
1. vk.cc/6xqK8B
Аватара пользователя
WhiteShadow
 
Сообщения: 28
Зарегистрирован: 20 апр 2017, 02:16
Забанен
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Языки программирования: Pawn
C++
Php
Delphi
C#

Re: Блокировка вредоносных функций плагина

Сообщение lop50956 » 20 апр 2017, 17:22

кто мешает пройтись циклом?

sizeof(int) бушь циклом чекать?
Аватара пользователя
lop50956
 
Сообщения: 178
Зарегистрирован: 29 ноя 2016, 00:36
Забанен
Благодарил (а): 18 раз.
Поблагодарили: 16 раз.
Опыт программирования: Больше трех лет
Языки программирования: Php

След.

Вернуться в Болтовня

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

Сейчас этот форум просматривают: Google [Bot] и гости: 4