Я написал программу на Си++, которая делает именно это. Это простая программа. Программа psedo-code:
start аргумент форача ... вызвать оригинальную программу. конец переместить оригинальную программу во что-то другое (executable.original.exe). Измените название вашей программы на оригинальное (executable.exe)
badda-bing.
Возможно, у меня все еще есть код - но, вероятно, так же просто сделать это самому.
PS - csharp на это не работает.
Это можно сделать с помощью политики создания процесса аудита, которая включена либо в групповой политике, если вы находитесь в доменной среде, либо в локальной политике на отдельной рабочей станции. Эта настройка находится в Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Configuration > Detailed Tracking
Каждый раз при запуске процесса событие будет записываться в журнал регистрации событий Windows с ID 4688.
Последние версии Windows и сервера Windows (8.1, 2012 R2 и выше) также будут записывать аргументы командной строки, если вы включите вторую настройку политики под названием "Включить командную строку в события создания процесса"
.Вы должны взглянуть на инструмент Sysinternals под названием Sysmon.
System Monitor (Sysmon) - это системная служба Windows и драйвер устройства. который после установки в системе остается резидентом всей системы. перезагружается для мониторинга и записи системной активности в журнал событий Windows. Он предоставляет подробную информацию о создании процессов, сети. Sysmon включает в себя следующие возможности:
Logs создание процессов с полной командной строкой как для текущих, так и для родительских процессов.