Как возобновить основной поток/процесс при отслеживании системных вызовов и клонированного процесса с помощью ptrace() ⇐ Android
Как возобновить основной поток/процесс при отслеживании системных вызовов и клонированного процесса с помощью ptrace()
Я разработал небольшую утилиту/инструмент с ptrace() для отслеживания и перехвата системных вызовов.
Вот следующий фрагмент кода (некоторые части намеренно удалены для краткости):
if(0 != ptrace(PTRACE_ATTACH, target_pid, nullptr, nullptr)){ printf("Не удалось подключиться к %d.\n", target_pid); fflush(стандартный вывод); вернуть -1; } еще { std::string TraceeProcMemPath = "/proc/" + std::to_string(target_pid) + "/mem"; int real_traceeProcMemFd = openat(AT_FDCWD,traceeProcMemPath.c_str(), O_RDONLY | O_CLOEXEC, 0); если (real_traceeProcMemFd 0) { если (WIFEXITED(статус) || WIFSIGNALED(статус)) { если (pid ==traceePid) { // мы в родителе, ничего не делаем. перерыв; } // мы находимся в дочернем состоянии - либо потоке, либо процессе. printf("Дочерний процесс/поток %d завершился\n", pid); продолжать; } if(WIFSTOPPED(статус) && WSTOPSIG(статус) == SIGTRAP) { printf("получен SIGTRAP\n"); printf("получено событие ptrace: %d\n", ((статус >> 16) & 0xffff)); pid_t новый_ребенок; if(((статус >> 16) & 0xffff) == PTRACE_EVENT_CLONE) { if(ptrace(PTRACE_GETEVENTMSG,traceePid, 0, &new_child) != -1) { printf("Создан дочерний элемент %d\n", new_child); if (0 != ptrace(PTRACE_ATTACH, new_child, nullptr, nullptr)) {} printf("прикреплен к дочернему элементу %d\n", new_child); ptrace(PTRACE_CONT, new_child, NULL, NULL); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); продолжать; } // --- ЗДЕСЬ ПРОИСХОДИТ ЗАВИСАНИЕ --- // Главный поток находится в системном вызове фьютекса (98), использование PTRACE_SYSCALL / PTRACE_CONT не сработало. // Использование kill -18 тоже не сработало. printf("Новый дочерний процесс/поток не создан\n"); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); продолжать; } ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); продолжать; } EnterSysCall (traceePid); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); оставьтеSysCall (traceePid); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); } } Приведенный выше код, кажется, работает для отслеживания системных вызовов и отслеживания созданных дочерних элементов, однако через несколько секунд он застревает на следующем коде:
// --- ЗДЕСЬ ПРОИСХОДИТ ЗАВИСАНИЕ --- // Главный поток находится в системном вызове фьютекса (98), использование PTRACE_SYSCALL / PTRACE_CONT не сработало. // Использование kill -18 тоже не сработало. printf("Новый дочерний процесс/поток не создан\n"); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); продолжать; Вот логи из консоли:
[PID: 24300] Ввод системного вызова: 63 [PID: 24300] Выход из системного вызова: 63 [PID: 24300] Ввод системного вызова: 63 [PID: 24300] Выход из системного вызова: 63 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 63 [PID: 24300] Выход из системного вызова: 63 [PID: 24300] Ввод системного вызова: 63 [PID: 24300] Выход из системного вызова: 63 [PID: 24300] Ввод системного вызова: 209 [PID: 24300] Выход из системного вызова: 209 [PID: 24300] Ввод системного вызова: 209 [PID: 24300] Выход из системного вызова: 209 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 174 [PID: 24300] Выход из системного вызова: 174 [PID: 24300] Ввод системного вызова: 174 [PID: 24300] Выход из системного вызова: 174 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 233 [PID: 24300] Выход из системного вызова: 233 [PID: 24300] Ввод системного вызова: 233 [PID: 24300] Выход из системного вызова: 233 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 56 [PID: 24300] Выход из системного вызова: 56 [PID: 24300] Ввод системного вызова: 56 [PID: 24300] Выход из системного вызова: 56 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 56 [PID: 24300] Выход из системного вызова: 56 [PID: 24300] Ввод системного вызова: 56 [PID: 24300] Выход из системного вызова: 56 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [ПИД: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26666 создан привязан к ребенку 26666 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26667 создан привязан к ребенку 26667 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26668 создан привязан к ребенку 26668 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26669 создан привязан к ребенку 26669 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26670 создан привязан к ребенку 26670 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [ПИД: 24300] Ввод системного вызова: 226. [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26671 создан привязан к ребенку 26671 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26672 создан привязан к ребенку 26672 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26673 создан привязан к ребенку 26673 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 278 [PID: 24300] Выход из системного вызова: 278 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 получил SIGTRAP получено событие ptrace: 3 новый дочерний процесс/поток не создается Может ли кто-нибудь помочь определить проблему или дать рекомендации по улучшению приведенного выше кода? Спасибо большое!
Я ожидал, что основной процесс/поток продолжит работу после вызова ptrace(PTRACE_SYSCALL,traceePid, NULL, NULL);, однако это не сработало.
Я разработал небольшую утилиту/инструмент с ptrace() для отслеживания и перехвата системных вызовов.
Вот следующий фрагмент кода (некоторые части намеренно удалены для краткости):
if(0 != ptrace(PTRACE_ATTACH, target_pid, nullptr, nullptr)){ printf("Не удалось подключиться к %d.\n", target_pid); fflush(стандартный вывод); вернуть -1; } еще { std::string TraceeProcMemPath = "/proc/" + std::to_string(target_pid) + "/mem"; int real_traceeProcMemFd = openat(AT_FDCWD,traceeProcMemPath.c_str(), O_RDONLY | O_CLOEXEC, 0); если (real_traceeProcMemFd 0) { если (WIFEXITED(статус) || WIFSIGNALED(статус)) { если (pid ==traceePid) { // мы в родителе, ничего не делаем. перерыв; } // мы находимся в дочернем состоянии - либо потоке, либо процессе. printf("Дочерний процесс/поток %d завершился\n", pid); продолжать; } if(WIFSTOPPED(статус) && WSTOPSIG(статус) == SIGTRAP) { printf("получен SIGTRAP\n"); printf("получено событие ptrace: %d\n", ((статус >> 16) & 0xffff)); pid_t новый_ребенок; if(((статус >> 16) & 0xffff) == PTRACE_EVENT_CLONE) { if(ptrace(PTRACE_GETEVENTMSG,traceePid, 0, &new_child) != -1) { printf("Создан дочерний элемент %d\n", new_child); if (0 != ptrace(PTRACE_ATTACH, new_child, nullptr, nullptr)) {} printf("прикреплен к дочернему элементу %d\n", new_child); ptrace(PTRACE_CONT, new_child, NULL, NULL); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); продолжать; } // --- ЗДЕСЬ ПРОИСХОДИТ ЗАВИСАНИЕ --- // Главный поток находится в системном вызове фьютекса (98), использование PTRACE_SYSCALL / PTRACE_CONT не сработало. // Использование kill -18 тоже не сработало. printf("Новый дочерний процесс/поток не создан\n"); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); продолжать; } ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); продолжать; } EnterSysCall (traceePid); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); оставьтеSysCall (traceePid); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); } } Приведенный выше код, кажется, работает для отслеживания системных вызовов и отслеживания созданных дочерних элементов, однако через несколько секунд он застревает на следующем коде:
// --- ЗДЕСЬ ПРОИСХОДИТ ЗАВИСАНИЕ --- // Главный поток находится в системном вызове фьютекса (98), использование PTRACE_SYSCALL / PTRACE_CONT не сработало. // Использование kill -18 тоже не сработало. printf("Новый дочерний процесс/поток не создан\n"); ptrace(PTRACE_SYSCALL, TraceePid, NULL, NULL); продолжать; Вот логи из консоли:
[PID: 24300] Ввод системного вызова: 63 [PID: 24300] Выход из системного вызова: 63 [PID: 24300] Ввод системного вызова: 63 [PID: 24300] Выход из системного вызова: 63 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 63 [PID: 24300] Выход из системного вызова: 63 [PID: 24300] Ввод системного вызова: 63 [PID: 24300] Выход из системного вызова: 63 [PID: 24300] Ввод системного вызова: 209 [PID: 24300] Выход из системного вызова: 209 [PID: 24300] Ввод системного вызова: 209 [PID: 24300] Выход из системного вызова: 209 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 174 [PID: 24300] Выход из системного вызова: 174 [PID: 24300] Ввод системного вызова: 174 [PID: 24300] Выход из системного вызова: 174 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 29 [PID: 24300] Выход из системного вызова: 29 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 233 [PID: 24300] Выход из системного вызова: 233 [PID: 24300] Ввод системного вызова: 233 [PID: 24300] Выход из системного вызова: 233 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 56 [PID: 24300] Выход из системного вызова: 56 [PID: 24300] Ввод системного вызова: 56 [PID: 24300] Выход из системного вызова: 56 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 56 [PID: 24300] Выход из системного вызова: 56 [PID: 24300] Ввод системного вызова: 56 [PID: 24300] Выход из системного вызова: 56 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 61 [PID: 24300] Выход из системного вызова: 61 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 57 [PID: 24300] Выход из системного вызова: 57 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [ПИД: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26666 создан привязан к ребенку 26666 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26667 создан привязан к ребенку 26667 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26668 создан привязан к ребенку 26668 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26669 создан привязан к ребенку 26669 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26670 создан привязан к ребенку 26670 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [ПИД: 24300] Ввод системного вызова: 226. [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26671 создан привязан к ребенку 26671 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26672 создан привязан к ребенку 26672 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 222 [PID: 24300] Выход из системного вызова: 222 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 226 [PID: 24300] Выход из системного вызова: 226 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 получил SIGTRAP получено событие ptrace: 3 ребенок 26673 создан привязан к ребенку 26673 [PID: 24300] Ввод системного вызова: 220 [PID: 24300] Выход из системного вызова: 220 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 135 [PID: 24300] Выход из системного вызова: 135 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 113 [PID: 24300] Выход из системного вызова: 113 [PID: 24300] Ввод системного вызова: 278 [PID: 24300] Выход из системного вызова: 278 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 [PID: 24300] Ввод системного вызова: 98 [PID: 24300] Выход из системного вызова: 98 получил SIGTRAP получено событие ptrace: 3 новый дочерний процесс/поток не создается Может ли кто-нибудь помочь определить проблему или дать рекомендации по улучшению приведенного выше кода? Спасибо большое!
Я ожидал, что основной процесс/поток продолжит работу после вызова ptrace(PTRACE_SYSCALL,traceePid, NULL, NULL);, однако это не сработало.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Отслеживайте вызовы функций дочернего процесса, используя /proc/pid/maps и ptrace.
Anonymous » » в форуме Linux - 0 Ответы
- 114 Просмотры
-
Последнее сообщение Anonymous
-