Вопросы по теме 'execve'

Почему поведение программы может зависеть от того, в каком порядке заканчиваются ее потомки?
Я запускаю несколько программ, используя fork() , а затем execve() из третьей программы. Все, для чего предназначались эти программы, сделано, но в конце третья программа не возвращается... т.е. командная строка не появляется. Если я использую...
93 просмотров
schedule 31.01.2024

Что делает execve()?
Что именно делает execve()? Я пытался просмотреть документацию (http://linux.die.net/man/2/execve), но, учитывая, что я новичок в Linux и такого рода программировании, это не имеет особого смысла. Что я хочу сделать, так это выполнить эту команду:...
20713 просмотров
schedule 15.06.2023

Ошибка сегментации записи шелл-кода в execve
Я пытаюсь изучить шелл-код execve, ОС: Linux bt 2.6.39.4 root @ bt: ~ / exploit # cat gshell.s .globl _start _start: nop jmp MyString shell: popl %esi xorl %eax,%eax movl %al,9(%esi)...
2339 просмотров

Выполнение двоичных файлов без execve?
Где-то я видел упоминание о том, что можно «эмулировать» execve (в основном с помощью open и mmap), чтобы загрузить какой-то другой двоичный файл (без фактического системного вызова «execve»). Есть ли уже реализованные примеры для него? Можем...
596 просмотров
schedule 06.06.2023

Переменные среды, использующие execve() для запуска дочернего процесса
Я использую родительский процесс, который использует execve() для запуска дочернего процесса с определенными переменными среды, которые я определил в родительском процессе. В родительском процессе, если я смотрю на ячейку памяти $esp + 0x240, я...
1347 просмотров
schedule 30.07.2022

SIGCHLD не пойман
Я намерен использовать следующий код для разветвления и выполнения «sleep 3» в качестве дочернего, в то время как родительский процесс спит в течение 10 секунд. Я ожидаю, что родительский процесс получит SIGCHLD через 3 секунды, когда завершится «сон...
2721 просмотров
schedule 19.09.2022

Где мне найти сборку, которая создает статическую переменную в разделе .data моей программы на C?
Первый плакат. Студент 2 курса КН. Я изучаю создание статических переменных в разделе .data виртуального адресного пространства в контексте исходной C-> компиляции GCC-> среды выполнения Linux. Программа на C - test.c int main() {...
3715 просмотров
schedule 18.03.2022

Не удается выполнить системный вызов execve
Я новичок, поэтому могу быть неаккуратным с выражениями. Мне нужно сделать системный вызов "execve" на C с ассемблером. Я не использую никакие библиотеки. Часть, которая не работает, char *nul=(char *)0; char *argv[] = { "/bin/date", nul };...
1776 просмотров
schedule 25.01.2023

Гарантировано ли, что аргументы программы C завершаются '\0'?
Об аргументах main() стандарт C 2011 года говорит (5.1.2.2.1:2): Если значение argc больше нуля, элементы массива с argv[0] по argv[argc-1] включительно должны содержать указатели на строки, которым среда хоста присваивает определенные...
278 просмотров
schedule 16.07.2022

Параметры C execve() [порождают пример оболочки]
Я должен заполнить параметры для: int execve(const char *filename, char *const argv[], char *const envp[]); Если я выполню эту программу: #include <unistd.h> int main() { char *args[2]; args[0] = "/bin/sh";...
18417 просмотров
schedule 03.02.2024

после execve освобождается ли память в предыдущем адресе процесса?
В функции execve аргументы передаются массивом указателей. Если эти указатели указывают на память в предыдущем стеке, можно ли получить доступ к этой памяти в новом образе процесса. #include <stdio.h> #include <unistd.h> int...
1473 просмотров
schedule 03.07.2023

Вызов внешних команд Unix с аргументами
Я нашел способ вызывать внешние команды unix без аргументов (например, «ls», «pwd»). Это выглядит так: //Child process char cwd[1024]; getcwd(cwd, sizeof(cwd)); char *argv[] = {*args, NULL}//(ex.) {"ls", NULL} char *env[] = {cwd, NULL};...
150 просмотров
schedule 17.07.2023

execve в linux, выполнить из аргументов
Мне нужно создать программу, которая позволяет пользователю выполнять команду, переданную в качестве аргумента, с помощью execve в Linux. Я не уверен в синтаксисе команды execve. Я написал программу, но она не работает с несколькими аргументами, и я...
2115 просмотров
schedule 16.09.2022

Значения переменных не меняются при создании новых процессов в C
Я пишу задание для школы на языке C, и мы используем для этого процессы. Моя цель состоит в том, чтобы присвоить несколько случайных значений структуре, и когда я пытаюсь присвоить какое-то случайное число одному конкретному процессу через execve,...
156 просмотров
schedule 25.08.2022

запуск нескольких функций execve в одном файле С++
Мне нужно написать программу c++ , которая «подсчитывает количество строк, слов и количество байтов в текстовом файле», и все это должно быть в новой строке. Мне нужно использовать команду wc в моей программе на С++. Мне удалось получить...
675 просмотров
schedule 05.02.2023

Различать интерпретаторы для execve() в последовательности системных вызовов в Linux
Как узнать, какой интерпретатор он использует, когда execve() выполняет файл в Debian Linux, из журналов системных вызовов strace? Например, как узнать, что файл выполняется как скрипт bash (#!/bin/bash), скрипт python (#!/usr/bin/env python) или...
62 просмотров
schedule 23.02.2023