ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   Win7 Gadget's (https://forum.antichat.xyz/showthread.php?t=410175)

Unknown 06.04.2014 21:32

В один прекрасный день я заинтересовался как устроены виндовые гаджеты изнутри.

Гаджет - это такая хрень которая появилась в 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]
"Sidebar"="C:\\Program Files\\Windows Sidebar\\sidebar.exe /autoRun"
 
Settings.ini Имеет достаточно банальную структуру,
[Section 1]
PrivateSetting_GadgetName="путь до папки с гаджетом"
PrivateSetting_GadgetOpacity="100" - непрозрачность, установите её в ноль и гаджет станет невидим.
[Hashes] - видимо контрольная сумма, мне кажется это превентивная мера от вирусов, но я не замечал что бы win7 ругалась при её отсутствии.

Инсталляция:

Стандартные гаджеты лежат в "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;
    bd.width=36;
    bd.height=36;
    bd.background='url(images/00.png) no-repeat';

Я намерено увеличил размер до 36, хотя в моём случае размер прозрачного изображения 32 на 32:

http://s003.radikal.ru/i202/1404/ea/7aca65533c04.png

Если Изображение полностью прозрачно, то на него нельзя навести курсор и соотвественно менюшка не появится (!).

И наконец, самое вкусное: как всё это эксплуатировать.

Код:

var WshShell = new ActiveXObject("WScript.Shell");
      WshShell.Run ("\\test.exe",1);

Прикладываю исходники, развлекайтесь.

http://s003.radikal.ru/i201/1404/fb/2fffe4495718.png

https://www.dropbox.com/s/7q4geyclgru8mr8/en-US.zip


Время: 22:57