Описание тега execve

1 ответ

Поведение execveat(2) / fexecve(3) с подпроцессом Python

Как я могу получить модуль подпроцесса Python для принятия fd вместо пути (== execveat () с AT_EMPTY_PATH)? Пример: subprocess.Popen (["argv0", "argv1"], shell=False, executable=os.open ("/proc/self/exe", os.O_RDONLY | os.O_CLOEXEC)) В Python 3.6.5 …
13 апр '18 в 10:22
0 ответов

В чем разница между mov ebx, esi и lea ebx, [esi]

Я работаю над упражнением в руководстве по шеллкодерам. Section .text global _start _start: jmp short GotoCall shellcode: pop esi xor eax, eax mov byte [esi + 7], al lea ebx, [esi] mov long [esi + 8], ebx mov long [esi + 12], eax mov byte al, 0x0b m…
13 фев '15 в 17:03
1 ответ

Почему execve() не возвращается в случае успеха?

Я прочитал справочные страницы. Все, что я понял по этой ссылке http://support.sas.com/documentation/onlinedoc/sasc/doc750/html/lr2/zid-7281.htm заключается в том, что A successful call to execve does not have a return value because the new process …
03 июн '14 в 09:46
1 ответ

Переменные среды, использующие execve() для запуска дочернего процесса

Я использую родительский процесс, который использует execve() для запуска дочернего процесса с конкретными переменными среды, которые я определил в родительском процессе. В родительском процессе, если я посмотрю на область памяти $esp + 0x240, я най…
21 июн '13 в 11:55
1 ответ

Linux убивает процесс при вызове execv()/execve()

Программа выполняется на встроенном Linux (версия ядра: 3.4.0). Перед звонком execve(), setgid() а также setuid() также называются для переключения на другого пользователя (tstuser). Пользователь существует, необходимые записи найдены в /etc/[passwd…
11 апр '18 в 15:00
2 ответа

Shellcode: выполнить 2 вызова execve()

Я пытаюсь написать шеллкод в сборке. Мне нужно выполнить /usr/bin/killall команда И /usr/bin/wget команда. У меня обе команды отлично работают в шеллкоде с execve() Системный вызов. Но теперь я хочу объединить эти 2, но это невозможно, потому что пр…
05 апр '13 в 09:00
1 ответ

Как получить данные из прочитанной программы в основную программу, используя execve и pipe?

Я делаю проект, в котором я должен создать дочерний процесс с помощью fork, а затем родительский процесс сообщает дочернему процессу выполнить другую программу на языке C "read.c"(которая читает все целые числа из файла.txt и вычисляет среднее значе…
21 июн '13 в 17:50
1 ответ

Как вызывать из моей программы на c, как передать данные в исполняемый файл zlib zlib, который использует stdin/stdout?

У меня есть программное приложение c, которое может генерировать файл, содержащий сжатые данные, которые затем преобразуются в формат zlib путем добавления необходимых верхних и нижних колонтитулов zlib. Я хочу убедиться, что данные были сжаты прави…
20 ноя '15 в 10:45
0 ответов

Почему значения user_regs_struct для системного вызова execve равны 0 и как решить эту проблему?

Я пытаюсь определить имя исполняемого файла для системного вызова execve, используя ptrace как - long val = ptrace(PTRACE_PEEKUSER, child, sizeof(long) * RDI); куда RDI это регистр, который содержит первый аргумент execve Я надеялся получить произво…
06 мар '18 в 16:34
1 ответ

Сборка execve /bin/bash (x64)

Я новичок в asm и пытаюсь выполнить системный вызов в /bin/bash. Однако в настоящее время я сталкиваюсь со следующей проблемой: Мой код работает для любого вызова execve, длина 1-го аргумента которого меньше 8 байт, то есть "/ bin / sh" или "/ bin /…
20 дек '17 в 00:08
1 ответ

Как я могу записать вывод вызова execve?

Я написал эту простую программу. Я хочу, чтобы выходные данные были зарегистрированы в test.log, как показано ниже. Могу ли я сделать это? int main(int argc, char **argv) { int fd = open("test.log", O_CREAT|O_WRONLY); char *path[2]; path[0] = "/bin/…
07 дек '14 в 21:13
1 ответ

Используя новый путь с execve для запуска команды ls

Я пытаюсь использовать execve для запуска команды ls. В настоящее время я запускаю его со следующими аргументами: execve(args[0], args, env_args) //args looks like {"ls", "-l", "-a", NULL} //env_args looks like {"PATH=/bin", "USER=me", NULL} Я ожида…
03 окт '11 в 02:19
1 ответ

Совместное использование памяти в Linux

мотивация Я хотел бы написать пару программ, в которых одна программа считывает данные и передает их во внутренний формат, а другая программа передает внутренний формат во что-то другое. В качестве упражнения я хочу закодировать взаимодействие между…
15 сен '12 в 17:02
1 ответ

LD_LIBRARY_PATH в envp arg execve() удаляется, даже если вызывающая родительская программа setuid отбросила свою привилегированную

Предыстория: я понял, что родительская программа с setuid не может хранить LD_LIBRARY_PATH как часть env по соображениям безопасности, поэтому любой дочерний процесс также не "видит" LD_LIBRARY_PATH. Контекст: Моя родительская программа (см. https:/…
17 дек '18 в 15:42
1 ответ

Дескриптор файла пропуска - Execve (typecast)

Мне интересно, как я могу передать дескриптор файла через команду execve, а затем получить доступ к нему на другой стороне. Я знаю, что могу использовать dup2 для перенаправления файлового дескриптора, но я НЕ МОГУ это сделать. Я должен передать дес…
12 сен '11 в 03:52
0 ответов

Как вернуть 0 после execve?

Мне нужно вернуть 0 после execve. Всегда не имеет значения, есть ли успех или ошибка. Просто верните 0. Но после того, как я использую execve, программа вообще ничего не возвращает (execve возвращает только ошибки, а в моем случае ошибки нет, поэтом…
08 фев '19 в 02:59
1 ответ

execve в Linux, выполнить из аргументов

Мне нужно создать программу, которая позволяет пользователю выполнять команду, переданную в качестве аргумента, используя execve в Linux. Я не уверен насчет синтаксиса команды execve. Я написал программу, но она не работает с несколькими аргументами…
07 май '17 в 22:07
1 ответ

ARM, GNU ассемблер: как передать аргументы "массива" в execve()?

Я писал простой шелл-код, который будет вызывать execve() для платформы ARM (Linux на Raspberry PI) и застрял со вторым аргументом execve, Согласно документации: int execve(const char *filename, char *const argv[], char *const envp[]); Который полно…
25 май '15 в 10:47
3 ответа

Execve не работает, как ожидалось

Я пишу базовую оболочку на языке c, которая позволит мне выполнять простые команды (меня не просят проверить дополнительные аргументы), например, "ls" на сервере (localhost). Программа должна быть в состоянии обрабатывать несколько клиентов. Я сдела…
10 авг '18 в 01:53
1 ответ

Различают интерпретаторы для execve() в последовательности syscall в Linux

Как узнать, какой интерпретатор он использует, когда execve() выполняет файл в Debian Linux, из его системных журналов strace? Например, как узнать, что файл выполняется как скрипт bash (#!/ Bin/bash), или как скрипт python (#!/ Usr/bin/env python),…
28 авг '18 в 07:29