Привет, друзья-хакеры, пришло время написать потенциально вредоносный код 💀! Сегодняшняя цель — написать программу, которая удаляет свой исполняемый файл после завершения выполнения. Этот процесс может пригодиться, если мы хотим затруднить обратный инжиниринг нашей программы. Например, мы могли бы определить, запущен ли исполняемый файл внутри виртуальной машины, и если да, то удалить его.

Процесс довольно прост. После выполнения основной программы запускаем команду на удаление исполняемого файла. Эта команда, очевидно, зависит от операционной системы, в которой мы работаем. В Linux это будет выглядеть как строка ниже в rust.

Command::new("rm").arg(&executable_path).output().expect("Failed to remove executable.");

Полный исходный код, протестированный на Windows, Mac OS и Linux, доступен на моем GitHub по ссылке ниже. Не стесняйтесь пометить репо звездочкой и поделиться!



Отправка исполняемого файла на VirusTotal для проверки хэша, очевидно, не приводит к совпадениям. Я был очень удивлен, увидев, что эта программа также проходит тест на поведение, поскольку я думал, что антивирусный анализатор определит такое поведение как вредоносное.

Надеюсь, вам понравилась эта небольшая статья. Не стесняйтесь лайкать, делиться, комментировать, пробовать сами, читать другие мои статьи. Также не забудьте подписаться на меня в GitHub, Twitter, Twitch, YouTube, LinkedIn. И не забывайте никогда не прекращать взламывать!

Кое-что для прочтения, если вы хотите узнать больше…