Пытаюсь сделать Доказательство концепции отравления двоичного файла ls, чтобы скрыть файлы и папки

Отсутствует один символ вертикальной черты | .

Попробуйте: sort myfile | uniq -u | tee newfile.txt

Если это не работает, укажите полученное сообщение об ошибке. Кстати, эта команда uniq -u удаляет все строки, у которых есть дубликаты. Если это ваше намерение, ничего страшного. Но если вы хотите увидеть одну из повторяющихся строк, вам нужно отбросить -u для части uniq этой командной строки, то есть sort myfile | uniq | tee newfile.txt

0
10.02.2019, 22:35
2 ответа

Команда attrработает срасширенными атрибутами , особенно в отношении файловой системы XFS. (Он также работает с ext4,но я предполагаю, что getfattrи setfattrпредназначены для общего, независимого использования файловой системы -.)

Другими словами, attr -Lqg hidden "$filename"ничего не проверяет относительно имени файла , но проверяет, установлен ли в файле расширенный атрибут с именем hidden.

Если вы хотите проверить, содержит ли имя файла определенную строку, вам, вероятно, следует использовать функцию strstr().

Поскольку d->d_nameсодержит имя обрабатываемого файла, что-то вроде этого может сработать.

if (strstr(d->d_name, "hidden") == 0) {... 

Это не означает, что вы не можете основывать скрытие файлов на расширенных атрибутах... Но даже если вы это сделаете, может быть лучше поискать фактические системные вызовы, используемые для этого. system()разветвляет оболочку и внешний процесс, и с длинным списком каталогов это может быть заметно медленным.

Также обратите внимание, что изменение lsничего не сделает с другими программами, которые также могут выдавать список файлов. Они могут быть такими простыми, как findили printf "%s\n" *.

0
28.01.2020, 03:59

Итак, я нашел обходной путь, чтобы «скрыть» строку для «ls», добавив следующую строку в «ls.c» после строки 261 (спасибо ilkkachu за его ответ ниже):

                if (strstr(d->d_name, "HIDDEN") == 0)
                    return 0;

Вероятно, не лучшее решение, но оно работает:)

Если кто-то хочет предложить лучший вариант/решение, пожалуйста, сделайте это, я хотел бы иметь больше вариантов и лучший вариант, если это возможно!

Спасибо

0
28.01.2020, 03:59

Теги

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