|
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 16
|
|
Определить, что файл является исполняемым и запустить его03.04.2011, 11:53. Показов 9150. Ответов 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 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|