![]() |
Всем Здрасте. Сижу я значит (а я это тот, кто боготворит Мелкомягких и в частности C#, powershell) и захотелось вот мне написать downloader shell(далее лоадер). Речь не пойдет о старом добром и уже затертым до дыр ShellExecute, или wget, или прочей мега известной функции, потому что........
ДА ПОТОМУ ЧТО ЭТО НИ ХРЕНА УЖЕ НЕ РАБОТАЕТ. Но, обо всем по порядку..... Начнем с требований к нашему лоадеру: * В фоновом режиме скачивать и запускать C++/C# программы; * Не палиться сетевыми экранами в windows при скачивании exe; * Обойти хостинговые проверки и прочую чушь при попытке скачать с ftp Windows; Сразу оговорюсь, сие способ имеет кучу недостатков и так же ограничений и спасает далеко не ото всего, но мою задачу он решил. А задача моя была, не много ни мало посадить клиент бота. (Надо ли говорить, что для работы сие прилажухи необходимо установленный .Net) Попытка 1. Я как человек особо ̶х̶и̶т̶р̶о̶ж̶о̶п̶ы̶й̶ умный пошел простым путем. Залил файл на хостинг как есть, надеялся его скачать программно и запустить через мною любимую ShellExecute; http://s001.radikal.ru/i193/1605/3f/b8eaf1130dae.jpg Код:
Code:Суть метода в том, что мы скачиванием не готовый файл, а исходный код, а компилируем его на лету. Благодаря радостям рефлексии, то один лоадер может работать и для C++ и F#, но не об этом. Итак попытка #2. Заливаем shell.txt со следующим содержанием Код:
Code:http://s013.radikal.ru/i325/1605/74/5d27ad973fdf.jpg Ну и собственно код самого лодера. Класс конструктор компилятора FabrikaShell Код:
Code:ПРОФИТ http://s019.radikal.ru/i604/1605/9b/d00694972c9f.jpg |
цвет сделайте нормальный
|
Цитата:
|
Странная тема. Если такая проблема с заливкой exe, то как автор собирается забросить и запустить лоадер?! С другой стороны, если уже лоадер запущен и фаервол проверяет расширения то можно просто заливать exe с другими расширениями и переименовывать в ехе перед запуском. Если идет проверка тела файла на предмет его исполняемости, то заливать заархивированный ехе (можно под паролем) с последующей распаковкой и запуском или скачивать dll и подгружать её. Вариантов хватает.
|
Цитата:
|
Если брандмауэр/антивирь блочит программную загрузку бинарей, то что мешает проксорить этот бинарь на сервере, в лоадере прогрузить его и проксорить опять, тем самым восстановив оригинальный файл?
|
Цитата:
|
Например так (полу-псевдокод):
[CODE] Code: binary = load_file('target.exe'); for(int i = 0; i |
[QUOTE="mailbrush"]
mailbrush said: ↑ Например так (полу-псевдокод): [CODE] Code: binary = load_file('target.exe'); for(int i = 0; i |
| Время: 12:31 |