0
ответов

Как вызвать системный вызов через sysenter во встроенной сборке?

Как мы можем реализовать системный вызов с помощью sysenter/syscall непосредственно в x86 Linux? Кто-нибудь может помочь? Было бы еще лучше, если бы вы также могли показать код для платформы amd64. Я знаю, что в x86...
вопрос задан: 25 February 2019 11:45
0
ответов

Почему клон возвращает int, а не pid_t?

От клона man 2: SYNOPSIS / * Прототип для функции-оболочки glibc * / #define _GNU_SOURCE #include < sched.h > int clone (int (* fn) (void *), void * child_stack, ...
вопрос задан: 16 January 2019 06:38
0
ответов

Есть ли эквивалент GetPnam для групп?

Я занимаюсь системным программированием здесь. И я получил в руки функцию getspnam, которая извлекает зашифрованный пароль для данного пользователя из файла / etc / shadow. Я продолжал искать ...
вопрос задан: 15 January 2019 16:05
0
ответов

Передача параметров системным вызовам

Я сделал базовый пример системного вызова helloWorld, который не имел параметров и был просто: int main () {системный вызов (__ NR_helloWorld); возврат 0; } Но теперь я пытаюсь понять, как передать фактическое ...
вопрос задан: 5 November 2018 17:16
0
ответов

Если близко (2) сбои с EIO, дескриптор файла будет все еще удален?

, Если близкое (2) системный вызов перестал работать с EIO, дескриптор файла будет все еще удален? Если да, разве не возможно обработать побочную ошибку IO путем повторения позже? Если не, как нужно предотвратить файл...
вопрос задан: 1 September 2018 18:06
0
ответов

Использование ptrace для отслеживания всех вызовов execve () среди дочерних элементов

Я пытаюсь написать инструмент на Linux CentOS для отслеживания всех порожденных процессов и того, что выполняется. По сути, мне интересно пройти все вилки / клоны и испустить все командные строки из execve (). ...
вопрос задан: 15 March 2018 11:21
0
ответов

dup2 / dup -зачем мне дублировать дескриптор файла?

Я пытаюсь понять использование dup2 и dup. На справочной странице :ОПИСАНИЕ dup и dup2 создают копию дескриптора файла oldfd. После успешного возврата dup или dup2 старый и новый...
вопрос задан: 13 March 2018 19:55
0
ответов

Разница между ptrace(PTRACE_PEEKUSER) и ptrace(PTRACE_PEEKDATA)?

После публикации множества вопросов по ptrace (последние 5 вопросов принадлежат мне :( ) я, наконец, получил желаемый результат, заменив reg_val[1] = ptrace(PTRACE_PEEKDATA, child, 4 * EBX, NULL); . ..
вопрос задан: 13 March 2018 14:27
0
ответов

Как системный вызов преобразуется в инструкции ЦП?

Допустим, есть простая программа, например: #include void main () {int x; printf ("Круто"); fd = open ("/ tmp / cool.txt", O_READONLY) } Здесь open - это системный вызов. Я ...
вопрос задан: 4 November 2017 10:44
0
ответов

Параметр для system () func?

Я хочу отправить целое число в качестве параметра функции system () в C, но я не смог. Я хотел бы сделать это, потому что у меня есть несколько файлов JPG, которые регулярно называются 1.jpg, 2.jpg ... 17 ....
вопрос задан: 15 August 2017 05:59
0
ответов

Как определить, является ли файл ссылкой?

У меня есть приведенный ниже код, здесь показана только его часть, и я проверяю, является ли файл типом . struct stat * buf / * просто для того, чтобы показать тип buf * / switch (buf.st_mode & S_IFMT) {case ...
вопрос задан: 15 July 2017 15:49
0
ответов

Как запретить системные вызовы, GNU/Linux

В настоящее время я работаю над обратной -частью ACM -вроде общедоступной системы соревнований по программированию. В такой системе любой пользователь может отправить исходный код, который будет скомпилирован и запущен автоматически (, что означает, что н
вопрос задан: 4 July 2017 18:24
0
ответов

Как мне повторно реализовать (или обернуть) функцию системных вызовов в Linux?

Предположим, я хочу чтобы полностью взять на себя системный вызов open (), возможно, чтобы обернуть фактический системный вызов и выполнить некоторое протоколирование. Один из способов сделать это - использовать LD_PRELOAD для загрузки (созданного пользо
вопрос задан: 2 June 2017 20:36
0
ответов

Какие системные вызовы для блокировки / разрешения / проверки для создания супервизора программы

согласно использованию ptrace для записи супервизора программы в пользовательском пространстве, я пытаюсь создать компонент руководителя программы онлайн-судьи. Какие системные вызовы мне нужно будет блокировать полностью, всегда ...
вопрос задан: 23 May 2017 12:19
0
ответов

Что не так с доступом ()? [дубликат]

Возможный дубликат :access ()Дыра в безопасности Цитата из справочной страницы access (2 ):Предупреждение :Использование доступа ()для проверки того, авторизован ли пользователь, например, для открытия файла до того, как он действительно делая это с помощ
вопрос задан: 23 May 2017 11:48
0
ответов

Почему _exit(0) (выход по системному вызову) не позволяет мне получать содержимое stdout?

У меня есть программа сборки Linux x86-32 GAS, завершающаяся следующим образом: movl $1, %eax movl $0, %ebx # аргумент для _exit int $0x80 Когда я выхожу таким образом, программа работает как обычно, но если я попытаюсь...
вопрос задан: 23 May 2017 10:28
0
ответов

Реализация системных вызовов / ловушек в источнике ядра Linux

Я в настоящее время изучаю о операционных системах Использование ловушек для облегчения системных вызовов в ядре Linux. Я расположен таблица ловушек в TRAPS.C и реализация многих из ...
вопрос задан: 11 April 2017 09:21
0
ответов

Почему clock_nanosleep предпочтительнее nanosleep для создания времени сна в C?

Какая из двух функций лучше #include int clock_nanosleep (clockid_t clock_id, int flags, const struct timespec * rqtp, struct timespec * rmtp); ИЛИ #include ...
вопрос задан: 26 August 2016 19:08
0
ответов

Сделать системный вызов в Python

Я хочу сделать системный вызов в Python, а функция не в libc, есть ли способ сделать это в Python? Более конкретно, я хочу позвонить getdents, чья man-страница гласит Примечание: здесь нет glibc ...
вопрос задан: 4 May 2016 16:00
0
ответов

Механизм буфера обмена xwindow

Кто-нибудь может мне объяснить механизм буфера обмена xwindow? Например, если я сделаю операцию открытия файла из gedit и скопирую содержимое этого файла с помощью ctrl + c. А потом я открываю vim и ...
вопрос задан: 1 July 2015 19:50
0
ответов

Перегрузка fork ()

Я перегрузил системный вызов fork () и создал свою собственную версию fork (), используя RTLD_NEXT. То есть dlsym (RTLD_NEXT, fork). Это коснется моей версии вилки. После этого я хочу воспроизвести ...
вопрос задан: 2 March 2015 00:03
0
ответов

Как работают системные вызовы?

Я понимаю что пользователь может владеть процессом, и каждый процесс имеет адресное пространство (которое содержит допустимые ячейки памяти, на которые этот процесс может ссылаться). Я знаю, что процесс может вызывать системный вызов и ...
вопрос задан: 16 December 2014 05:40
0
ответов

Вызов операционной системы для открытия URL-адреса?

Что я могу использовать, чтобы вызвать ОС, чтобы открыть URL-адрес в любом браузере, который у пользователя установлен по умолчанию? Не беспокоит совместимость между ОС; если он работает в Linux, этого мне достаточно!
вопрос задан: 11 October 2014 19:37
0
ответов

Вызов setns из Go возвращает EINVAL для пространства имен mnt

Код на C работает нормально и корректно входит в пространство имен, но код Go всегда, кажется, возвращает EINVAL из вызова setns для входа в пространство имен mnt. Я пробовал несколько перестановок (в том числе ...
вопрос задан: 7 September 2014 00:08
0
ответов

GDB прерывается, когда программа открывает определенный файл

Предыстория: при запуске программы под strace я заметил, что открывается '/ dev / urandom'. Я хотел бы знать, откуда исходит этот вызов (он не является частью самой программы, это часть ...
вопрос задан: 30 May 2014 18:47
0
ответов

Как такие сайты, как codepad.org и ideone.com, помещают вашу программу в песочницу?

Мне нужно скомпилировать и запустить пользовательские сценарии на моем сайте, аналогично тому, что делают codepad и ideone. Как я могу изолировать эти программы, чтобы злонамеренные пользователи не взломали мой сервер? В частности, я ...
вопрос задан: 19 April 2014 17:54
0
ответов

Где находится метод clone () в sched.h в Mac OS X

Я не могу найти clone () в заголовочном файле sched.h. Где он находится в Mac OS X?
вопрос задан: 24 February 2014 23:06
0
ответов

Разница между write () и printf ()

Недавно я изучаю операционную систему ... Я просто хочу знать: в чем разница между системным вызовом (например, write ()) и стандартной библиотечной функцией (например, printf ())?
вопрос задан: 13 January 2014 05:04
0
ответов

ptrace и потоки

Я работаю над linux-приложением, использующим ptrace для наблюдения за потоками другого процесса. Когда приложение, за которым я наблюдаю, форкает дочерний процесс, это уже работает достаточно хорошо. Вызывая ...
вопрос задан: 22 August 2013 07:56
0
ответов

как добавить системный вызов / утилиту в xv6

Может ли кто-нибудь сказать мне / указать мне какие-либо ссылки на то, как добавить системный вызов / утилиту в XV6, исчерпывающий поиск в Google был бесполезен и взлом трудный путь также был пока непродуктивным. the ...
вопрос задан: 6 March 2013 07:07