Старт -> Панель управления -> Администрирование -> Просмотр событий -> Приложения А также посторонние утилиты контроля от SysInternals, если нужно хранить события и активность приложений.
Кстати, забыл предупредить: Лог хранится до завершения работы, после - очищается, некоторые Event-ы могут хранится в отчетах при критических ошибках. Обычный запуск хранится от и до завершения работы.
мм похоже не совсем то, где там exe'шники? мне нужен список типа Время запуска => Названия экзешника но всё равно, можно как-нибудь получить базу этого просмоторщика событий?
Mr.M.I.T. если нужно работать с системным Евентом могу попробывать написать расширение для пхп5, ибо ваще не представляю, как в пхп можно вызвать функции winapi %) лога старта программ так такового никто не пишет, но так уж и быть, могу написать, в виде службы
antonn не, мне надо написать троянчика который бы тащил этот лог и слал мне на емэил, но раз такого лога нет ничё не выйдет =( Зы. Троянчика исключительно в благих целях
antonn ниначём ещё, это было теоретическое предположение. короче так и быть расскажу: была идея склеить этого троянчика с каким-нибудь клиентский CS:S античитом, троянчик бы слал этот лог админам, а мы бы смотрели запускал ли чел читы во время когда играл в кс
А вот за это по ушам бы давали Т.к. доступ к файловой системе и приватной информации на нем - не дело игры. Более того, можно оформить чит службой и запускать из под SYSTEM через svchost, ты ничего не увидишь в списке (будет еще один этот процесс). Игры защищают путем контроля инжекта (таблицы импорта палят), шифрованием исполняемого кода, перепроверкой частей памяти (снятие crc с области если вдруг будет writememory трейнера). Т.е. смотрят когда кто то мешает игре, а не контролят комп юзера.
Получаем адрес нужной области памяти и отслеживаем изменение. При попытке записи в эту область перехватываем сообщение и сохраняем, после заменяем и передаем управление назад. Но смысла отслеживать перезапись и контролировать конкретную область .. мы можем хранить инверсированное значение и посылать в память лишь одну из частей, разбивая структуры (0 + 0 + 1 | 1 + 3 + 2 | модуль ( 1 - 3 - 0 ) ). Тогда просто в получении значения из памяти не будет смысла, тем более нужно отловить именно посылаемое значение, которое остается внешне неизвестным. Кубиков нет, читеров - тоже.