|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
Определить, что файл является исполняемым и запустить его03.04.2011, 11:53. Показов 9164. Ответов 27
Метки нет (Все метки)
Вот такой вот вопрос, как мне определить исполнительный файл. Задача такая, нужно написать программу которая запускает исполнительные файлы и скрипты. Проблема в том, что любой юзер может создать простой текстовый файл, и присвоить ему права 777, т.е. иполнимый. Но моя программа должно запускать только бинарники!!! Кто мне может помочь разобраться?
0
|
|
| 03.04.2011, 11:53 | |
|
Ответы с готовыми решениями:
27
Определить, является ли файл исполняемым Как определить является ли файл исполняемым?
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 03.04.2011, 12:23 | |
|
Честно говоря не вижу в этом проблемы...
Если проверить magic #! не сложно, то проверка сигнатуры ELF/a.out в заголовках файла не даст гарантий, а полный парсинг еще тот геморой, ИМХО не стоит оно того. Ну вернет вам система на execXX() ENOEXEC, что в этом страшного??? ЗЫ: для a.out можно еще сделать nlist() - какая никакая, а гарантия что это действительно бинарник а не мусор.
2
|
|
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
| 03.04.2011, 12:51 [ТС] | |
|
реализацию какую нить показать можно?
Добавлено через 36 секунд в смысле листинг
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 03.04.2011, 13:25 | |
|
Листинг чего именно?
Если вы хотите изобразить простейший шелл умеющий запускать программы и ничего больше, то у вас должен быть цикл из функции парсинга ввода + fork(), wait() в родителе и любой exec() в ребенке.
0
|
|
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
| 11.04.2011, 13:38 [ТС] | |
|
а как проверить сигнатуры ELF/a.out в заголовках файла???
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 11.04.2011, 18:01 | |
|
Ну как... вестимо прочитать начало файла и сравнить с заданным образцом. Сигнатуры можно смело выдрать из /etc/magic. Но повторюсь, это бессмысленная трата времени.
1
|
|
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
| 22.04.2011, 10:28 [ТС] | |
|
Вот такой вот вопрос, а как мне определить скрипт, если мне запрещено чтение данного файла, я могу только выполнить его???
мне что проверить первые символы с '#!' надо иметь доступ для чтения...
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 22.04.2011, 10:37 | |
|
Можно делать от рута, а перед собственно запуском сбрасывать привилегии (вариант с ACL рассматривать уж не будем)
Но правильнее объяснить преподавателю что это дурь и ересь.
0
|
|
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
| 22.04.2011, 10:42 [ТС] | |
|
понятно, а ты не можешь мне помочь, у меня проблема сейчас заключается в запуске программы из под программы, а ещё осложняется тем что в первой программе используется ncurses режим...
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 22.04.2011, 10:44 | |
|
Помочь чем?
0
|
|
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
| 22.04.2011, 10:45 [ТС] | |
|
разобраться, с процессами и ncurses...
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 22.04.2011, 10:47 | |
|
Если у вас есть конкретные вопросы - создавайте тему, не я кто-нибудь другой скорее всего ответит.
0
|
|
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
| 22.04.2011, 10:48 [ТС] | |
|
а тут можно исходники разместить, чтобы ориентироваться легче было?
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 22.04.2011, 10:53 | |
|
Думаю, да) Но если много то лучше заливайте на какой-нибудь pastebin.com а тут ссылку...
0
|
|
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
||||||
| 23.04.2011, 12:33 [ТС] | ||||||
|
Вот моя функция для запуска программ
Каждый раз когда я запускаю программу, то она запускаеться вместе с моей оболочкой, мне надо чтобы выполнялась только запускаемая программа... Кто поможет???
0
|
||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||||||
| 23.04.2011, 13:33 | ||||||
|
У меня вот
так
1
|
||||||
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
| 23.04.2011, 13:36 [ТС] | |
|
cbreak(); - что это за функция?
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 23.04.2011, 13:42 | |
|
man cbreak чтоли
можете смело выкинуть - я сделал после запуска ожидание нажатия любой клавиши, без нее будет ждать enter. Вообщем на вашу проблему ни как не влияет.
0
|
|
|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
| 23.04.2011, 13:52 [ТС] | |
|
я понял, а вы смотрели сколько ваша программа создает процесов и не один из них не завершаеться.
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 23.04.2011, 14:02 | |
|
да, простите, exit() после wait() забыл
0
|
|
| 23.04.2011, 14:02 | |
|
Помогаю со студенческими работами здесь
20
Как в Outlook определить что его вызывают и запустить свой код Скачать файл, а не запустить его Исполняемым файл jar, не работает Как сделать файл исполняемым? Запустить файл из ресурсов, не извлекая его Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита табличной части. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|