Форум программистов, компьютерный форум CyberForum.ru

Поиск исполняемого файла - C++ Linux

Восстановить пароль Регистрация
 
crisp
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 10
17.12.2016, 16:35     Поиск исполняемого файла #1
Добрый день уважаемые знатоки. Как узнать что файл является исполняемым? Грубо говоря есть путь. Узнали что это не директория, а как дальше отделить файл от обычных? (С/С++) не через баш. Может через dirent/stat?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2016, 16:35     Поиск исполняемого файла
Посмотрите здесь:

Выполнить для каждого найденного файла поиск в нем подстроки, заданной пользователем C++ Linux
Запуск исполняемого файла C++ Linux
C++ Linux Перенос исполняемого файла с одного дистрибутива на другой
C++ Linux Удаление/укорочение имен методов, уменьшение размера исполняемого файла

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Вованя
121 / 121 / 47
Регистрация: 20.02.2014
Сообщений: 429
17.12.2016, 20:06     Поиск исполняемого файла #2
crisp, да, с помощью fstat(), и в поле st_mode лежит необходимые тебе параметры. А вообще man fstat(2).
crisp
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 10
17.12.2016, 22:06  [ТС]     Поиск исполняемого файла #3
Цитата Сообщение от Вованя Посмотреть сообщение
в поле st_mode лежит необходимые тебе параметры
А как им пользоваться, чтобы узнать, является файл исполняемым?
Кликните здесь для просмотра всего текста
S_ISBLK(mode) – специальный блочный файл? (обычно это блочное устройство).
S_ISCHR(st_mode) – специальный символьный файл? (обычно это символьное устройство).
S_ISDIR(st_mode) – каталог?
S_ISFIFO(st_mode) – UNIX-канал (pipe) или файл типа FIFO?
S_ISLNK(st_mode) – символическая ссылка?
S_ISREG(st_mode) – обычный файл?
Вованя
121 / 121 / 47
Регистрация: 20.02.2014
Сообщений: 429
18.12.2016, 01:43     Поиск исполняемого файла #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
crisp, дальше же написано:
S_ISUID 04000 set-user-ID bit
S_ISGID 02000 set-group-ID bit (see below)
S_ISVTX 01000 sticky bit (see below)

S_IRWXU 00700 owner has read, write, and execute permission
S_IRUSR 00400 owner has read permission
S_IWUSR 00200 owner has write permission
S_IXUSR 00100 owner has execute permission

S_IRWXG 00070 group has read, write, and execute permission
S_IRGRP 00040 group has read permission
S_IWGRP 00020 group has write permission
S_IXGRP 00010 group has execute permission

S_IRWXO 00007 others (not in group) have read, write, and
execute permission
S_IROTH 00004 others have read permission
S_IWOTH 00002 others have write permission
S_IXOTH 00001 others have execute permission
crisp
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 10
18.12.2016, 11:42  [ТС]     Поиск исполняемого файла #5
Спасибо. Понял что st_mode возвращает число. Его нужно перевести в восьмеричную систему, и смотреть на 7 или 1 в последних 3х цифрах
Yandex
Объявления
18.12.2016, 11:42     Поиск исполняемого файла
Ответ Создать тему
Опции темы

Текущее время: 15:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru