запись сценария и попытка уничтожить процесс

Так как вы, по-видимому, могли запустить Bash, у вас есть основы справа: вам нужно скопировать все библиотеки, перечисленные в , в каталог в каталог на пути нагрузки библиотеки , а также сам погрузчик ( /Lib64/ld-inux-x86-64.SO.2 ), который должен быть в месте, жестко закодированном в исполняемых файлах.

Если вы получите ошибку

error while loading shared libraries: libc.so.6: cannot open shared object file

, то вам не хватает, что библиотека указана здесь. Убедитесь, что вы поместите его в правильный каталог под его правильным именем. Убедитесь, что вы скопировали файл библиотеки, а не только символическую ссылку.

Если вы получите ошибку

ls: error while loading shared libraries: libpthread.so.0: wrong ELF class: ELFCLASS32

, то вы скопировали библиотеку на неправильную архитектуру - вы должны скопировать 32-битную libpthread.so.0 , но вы используете 64-битный библиотека.

Если у вас есть дополнительные проблемы, это может помочь узнать именно там, где погрузчик пытается найти библиотеки. Поместите в stroce двоичной в Chroot (либо статически составляемый один, либо динамически скомпилирован один плюс все библиотеки им нуждаются), и запустить chroot ls и посмотреть, что именно Неспособность. Или запустить stroace chroot ls для использования stroace двоичных данных, которые снаружи Chroot.

0
20.03.2019, 15:10
1 ответ

Вот пример использования петли:

checkit ()
{
    p="$1"
    echo "Do you wish to kill $p"
    select yesno in "Yes" "No"
    do
        case $yesno in
            Yes) $ kill -9 "$p";;
            No) exit;;
        esac
    done
}

for p in $(ps -o pid=)
do
    checkit $p
done

Взгляните на man ps для получения подробной информации о настройке вывода ps. Или: http://linux.die.net/man/1/ps Или: http://unixhelp.ed.ac.uk/CGI/man-cgi?ps

1
28.01.2020, 02:51

Теги

Похожие вопросы