0xs7 :: Цель - Windows XP Logon
Введение
В уроке 0xs5, мы познакомились с некоторыми основными элементами, которые позиционируются (размещаются), в ресурсах программ, с помощью XML-структур. В этом уроке мы будем более основательно мучить "UIFILE". UIFILE предоставляет возможность: изменять элементы, добавлять новые элементы или удалять уже имеющиеся элементы.
Информация о цели
Имя................... logonui.exe [ c:\windows\system32 ]
Разработчик....... Microsoft
Инструмент........ PE Explorer [ download ]
Adficio
1 - a. Загрузите logonui.exe в PE Explorer
b. Перейдите в "View => Resources"
c. Выберите "
UIFILE => 1000"
Рис. 1. logonui.exe (UIFILE)
При просмотре UIFILE - он покажется пустым. Не знаю, почему они так сделали это, поэтому лучше процитирую Ice T:
В таком случае я просто говорю "х*й с ним"
2 - a. Прокрутите вниз, пока не увидите какой-нибудь текст
Рис. 2. logonui.exe (после прокрутки)
Каждое выражение UIFILE обозначает местоположение конкретного элемента (кнопки, графического изображения, etc). В основном этот файл содержит XML-разметку, поэтому если вы не знакомы с ней прочитайте это (я серьезно, прочтите). Большая часть синтаксиса в UIFILE очевидна, но мы все же, в любом случае, рассмотрим важные его части.- background, синтаксис: background: $type(right,down,left,up). Устанавливает фон элемента, который может быть либо сплошным цветом, т.е. градиентом, либо растовым изображением, которое находится в ресурсах программы.
- borderthickness, синтаксис: borderthickness: rect(right, down, left, up). Устанавливает толщину границы (рамки) элемента.
- rgb, синтаксис: rgb(red, green, blue). Устанавливает цвет, может использоваться вместе с фоном (background).
- rcbmp, синтаксис: rcbmp(resource, stretch, transparency color, width, height, size(?), mirror). Устанавливает изображение, для конкретного контейнера.
- padding, синтаксис: padding=(right, down, left, up). Помещает определенный элемент в определенную позицию. Некоторые значения в UIFELE могут быть относительными, поэтому стоит знать про это свойство, при размещении своих элементов.
Есть еще несколько свойств, определенных в UIFILE, но если вы действительно настоящий крэкер, то вы легко поймете, что они делают.
Дизайн, экрана входа в Windows, выглядит следующим образом:
Рис. 3. Экран входа Windows (в дерьмовом исполнении художника)
Хотя я и не пикассо, на картинке выше изображены основные позиции элементов. Рассмотрим каждый в отдельности:- Background: "RES 100" это часть фонового изображения размещенного на экране входа в Windows (От переводчика: стоит однако заметить, что автор урока не правильно указал место расположение этого элемента. На самом деле он размещено в верхнем, левом углу, красного прямоугольника "LEFT PANEL"). По умолчанию изображение хранится в ресурсе "Bitmap => 100", но вы можете создать новое изображение и заменить им существующее.
После изменения ресурса вам нужно будет изменить следующий элемент в UIFILE:
Code:
<element id=atom(contentcontainer) layout=flowlayout(1,3,2,3) layoutpos=client content=rcbmp(100,0,0,Wxrp,Hxrp,1,0)>
Заменив "Wx" на ширину вашего изображения, а "Hx" соответственно на его высоту. Важно помнить, что бы перед "rp" не было пробелов.
- Logo: Логотип хранится в ресурсах "Bitmap => 123, 127". Я советую вам очистить этот ресурс. Сделать это вы сможете, создав изображение размером 1x1, с фоновым цветом "FF00FF", благодаря чему на месте логотипа останется пустое место, потому что этот цвет является популярным "прозрачным цветом" в Microsoft.
После изменения ресурса вам нужно будет изменить следующий элемент в UIFILE:
Code:
<element id=atom(product) contentalign=topright padding=rect(0rp,0rp,20rp,20rp) content=rcbmp(123,3,-1,Wx,Hx,0,0) background=rgb(90,126,220)/>
Заменив "Wx" на ширину вашего изображения, а "Hx" соответственно на его высоту. В этом элементе не нужно указывать "rp" после измененных значений.
- Selector bar: Селектор хранится в ресурсе "Bitmap => 112" (От переводчика: другими словами это "фон", который появляется при наведении мышки на учетную запись). Если вы измените этот ресурс, то вам не нужно будет что-то изменять в UIFILE.
- Password field: Поле ввода пароля хранится в ресурсе "Bitmap => 102". Если вы измените этот ресурс, то вам не нужно будет что-то изменять в UIFILE.
- Everything else: Другие ресурсы экрана входа в Windows, такие как кнопки и разделители, могут быть просто заменены без каких-либо изменений в UIFILE.
Помимо простой доработки экрана входа в Windows, вы можете изменить каждый элемент, по своему вкусу, именно поэтому, в начале урока, я акцентировал внимание на том, что знание синтаксиса важно :) В своей операционной системе, я всегда удаляю верхнюю и нижнюю панель, потому что, как мне кажется, они устарели.
Удаление верхней панели
В UIFILE найдем следующую строку:
Code:
<element id=atom(toppanel) sheet=styleref(toppanelss) layout=borderlayout() layoutpos=top height=80rp>
Заменим ее на:
Code:
<element id=atom(toppanel) sheet=styleref(toppanelss) layout=borderlayout() layoutpos=none height=80rp>
Удаление нижней панели
В UIFILE найдем следующую строку:
Code:
<element id=atom(bottompanel) sheet=styleref(bottompanelss) layout=borderlayout() layoutpos=bottom>
Заменим на:
Code:
<element id=atom(bottompanel) sheet=styleref(bottompanelss) layout=borderlayout() layoutpos=none>
Для среднестатического крэкера это простая задача, но при креативном подходе можно проявить свое творчество. (От переводчика - винлокерам: самый лучший способ, заблокировать компьютер неопытного пользователя и при этом не спалить свое зверька, заключается в изменении экрана входа в Windows). Весь UIFILE состоит из обычного XML, поэтому, что бы полностью его понять, вы должны знать как можно больше об языке разметки XML.
Так же, в отличие от моего предыдущего урока, исполняемый файл (От переводчика: logonui.exe), экрана входа в систему, может быть безопасно изменен, а результат изменения, можно легко наблюдать, используя функцию "переключения пользователей" (конечно, если она у вас включена).
+Neffarion
http://www.0xNeff.eu
© Translated by Prosper-H from r0 Crew