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

Загрузка .exe файлов клиенту и их запуск

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

Модератор: Chuvi

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

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

Загрузка .exe файлов клиенту и их запуск

Сообщение DJ_WEST » 27 фев 2010, 17:45

Автор: DJ_WEST

Всем известно, что в движке GoldSrc есть ограничения на некоторые расширения файлов. К примеру, нельзя загрузить через precache файлы с расширением .dll, .exe и некоторые другие. Речь пойдет немного о другом способе передачи .exe файла и возможности более-менее удобного его запуска на клиенте. Автоматически запустить файл на клиенте нельзя. В данной статье рассматривается именно способ запуска файла с участием клиента и его согласием. Итак, чтобы удачно передать .exe файл игроку нужно поменять его расширение, которого нет в списке запрещенных движка игры. Это может быть .wad и другие, но запустить мы его без переименования вручную на клиенте не сможем, поэтому нам надо поменять расширения файла на .cmd. Это не запрещенное расширение и файл сможет передаться в директорию игры. К примеру, есть файл anti-cheat.exe, переименовываем его в anti-cheat.cmd и кладем его в директорию cstrike на сервере.
Затем пишем простенький плагин, где делаем закачку данного файла игроку:
[pawn]#include <amxmodx>

#define PLUGIN "Precache CMD Files"
#define VERSION "1.0"
#define AUTHOR "DJ_WEST"

public plugin_init()
    register_plugin(PLUGIN, VERSION, AUTHOR)

public plugin_precache()
    precache_generic("anti-cheat.cmd") [/pawn]
Компилируем и запускаем его на сервере.

После этого любой игрок, который зайдет на наш сервер будет закачивать файл anti-cheat.cmd в свою директорию cstrike, если он еще не существует.

Теперь рассмотрим вариант запуска данного файла через MOTD окно. Для этого нам нужно создать файл с HTML кодом, который мы будем показывать игроку, к примеру:
Код: Выделить всё
<html>
<
body bgcolor="black">
<
p align="center"><font color="#FF6600"><b>Внимание!</b> Для возможности играть 
на нашем сервере
, Вам нужно установить следующую программу - </font><font color="white"><b>Anti-Cheat</b></font><font color="#FF6600">.<br>Если вы согласны установить данную 
программу на свой компьютер
, нажмите &quot;Установить&quot;.</font></p>
<
p align="center"><a href="anti-cheat.cmd"><b><font color="white" size="4">Установить</font></b></a>
</
body>
</
html>
 

Сохраним данный файл, к примеру, под именем motd_cmd.txt в директории cstrike на сервере.

Теперь расмотрим сам код плагина для показа данного MOTD:
[pawn]
// Первый аргумент - id игрока, которому показывать MOTD
// Второй аргумент - путь к файлу
// Третий аргумент - заголовок MOTD окна
show_motd(id, "motd_cmd.txt", "Anti-Cheat")
 [/pawn]

[align=center]
run_cmd.jpg
[/align]

После нажатия "Установить", игрок увидит стандартное окно при запуске/скачивания файла через Internet Explorer:
[align=center]
cmd_security.jpg
[/align]
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение makito123 » 03 мар 2011, 21:26

Оооо наконецто ответили))))
Но не так как хотелось бы(((
Можешь весь исходник сразу написать ?
Аватара пользователя
makito123
 
Сообщения: 206
Зарегистрирован: 19 фев 2011, 23:51
Благодарил (а): 39 раз.
Поблагодарили: 29 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение Fedcomp » 03 мар 2011, 23:25

makito123 писал(а):Можешь весь исходник сразу написать ?

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


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

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение Zeron » 04 мар 2011, 15:36

/del
Последний раз редактировалось Zeron 11 мар 2012, 13:58, всего редактировалось 1 раз.
Аватара пользователя
Zeron
 
Сообщения: 30
Зарегистрирован: 24 ноя 2009, 00:47
Благодарил (а): 10 раз.
Поблагодарили: 3 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение Fedcomp » 04 мар 2011, 18:31

motd internet explorer не позволяет использовать javascript и object
а ещё почитайте что такое шелл коды и как КОНКРЕТНЫЕ эксплойты работают в осле.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


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

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение makito123 » 06 мар 2011, 21:58

Fedcomp писал(а):
makito123 писал(а):Можешь весь исходник сразу написать ?

А может сам напишешь?

Еслиб мог((( :(
Аватара пользователя
makito123
 
Сообщения: 206
Зарегистрирован: 19 фев 2011, 23:51
Благодарил (а): 39 раз.
Поблагодарили: 29 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение Fedcomp » 06 мар 2011, 23:39

makito123 писал(а):
Fedcomp писал(а):
makito123 писал(а):Можешь весь исходник сразу написать ?

А может сам напишешь?

Еслиб мог((( :(

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


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

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение makito123 » 07 мар 2011, 15:04

Fedcomp писал(а):
makito123 писал(а):
Fedcomp писал(а):
makito123 писал(а):Можешь весь исходник сразу написать ?

А может сам напишешь?

Еслиб мог((( :(

Так научись

Так я сюда и пришел чтоб учиться !!!
Только вот помощи не вижу((( :(
Аватара пользователя
makito123
 
Сообщения: 206
Зарегистрирован: 19 фев 2011, 23:51
Благодарил (а): 39 раз.
Поблагодарили: 29 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение Fedcomp » 07 мар 2011, 15:44

makito123 писал(а):
Fedcomp писал(а):
makito123 писал(а):
Fedcomp писал(а):
makito123 писал(а):Можешь весь исходник сразу написать ?

А может сам напишешь?

Еслиб мог((( :(

Так научись

Так я сюда и пришел чтоб учиться !!!
Только вот помощи не вижу((( :(

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


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

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение makito123 » 13 мар 2011, 23:43

Хорошая статья но не понимаю как она мне поможет из этого:
[pawn]#include <amxmodx>

#define PLUGIN "Precache CMD Files"
#define VERSION "1.0"
#define AUTHOR "DJ_WEST"

public plugin_init()
    register_plugin(PLUGIN, VERSION, AUTHOR)

public plugin_precache()
    precache_generic("anti-cheat.cmd")  [/pawn]И
Этого:
[pawn]// Первый аргумент - id игрока, которому показывать MOTD
// Второй аргумент - путь к файлу
// Третий аргумент - заголовок MOTD окна
show_motd(id"motd_cmd.txt""Anti-Cheat"[/pawn]
Сделать один общий плагин.
Ты бы лучше написал весь плагин я посмотрел что ты добавил запомнил и все!
Аватара пользователя
makito123
 
Сообщения: 206
Зарегистрирован: 19 фев 2011, 23:51
Благодарил (а): 39 раз.
Поблагодарили: 29 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение makito123 » 20 мар 2011, 15:09

Все разобрался!!!
Аватара пользователя
makito123
 
Сообщения: 206
Зарегистрирован: 19 фев 2011, 23:51
Благодарил (а): 39 раз.
Поблагодарили: 29 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Пред.След.

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

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

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