Вопросы по теме '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 просмотров
schedule
23.12.2021
Выполнение двоичных файлов без 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