R0 CREW

Neffarion :: 0xs7 :: Цель - Windows XP Logon (Перевод: Prosper-H)

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:

<element id=atom(contentcontainer) layout=flowlayout(1,3,2,3) layoutpos=client content=rcbmp(100,0,0,[B]Wx[/B]rp,[B]Hx[/B]rp,1,0)>

Заменив “Wx” на ширину вашего изображения, а “Hx” соответственно на его высоту. Важно помнить, что бы перед “rp” не было пробелов.

  • Logo: Логотип хранится в ресурсах “Bitmap => 123, 127”. Я советую вам очистить этот ресурс. Сделать это вы сможете, создав изображение размером 1x1, с фоновым цветом “FF00FF”, благодаря чему на месте логотипа останется пустое место, потому что этот цвет является популярным “прозрачным цветом” в Microsoft.
    После изменения ресурса вам нужно будет изменить следующий элемент в UIFILE:
<element id=atom(product) contentalign=topright padding=rect(0rp,0rp,20rp,20rp) content=rcbmp(123,3,-1,[B]Wx[/B],[B]Hx[/B],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, вы можете изменить каждый элемент, по своему вкусу, именно поэтому, в начале урока, я акцентировал внимание на том, что знание синтаксиса важно :slight_smile: В своей операционной системе, я всегда удаляю верхнюю и нижнюю панель, потому что, как мне кажется, они устарели.

Удаление верхней панели

В UIFILE найдем следующую строку:

<element id=atom(toppanel) sheet=styleref(toppanelss) layout=borderlayout() layoutpos=top height=80rp>

Заменим ее на:

<element id=atom(toppanel) sheet=styleref(toppanelss) layout=borderlayout() [B]layoutpos=none[/B] height=80rp>

Удаление нижней панели

В UIFILE найдем следующую строку:

<element id=atom(bottompanel) sheet=styleref(bottompanelss) layout=borderlayout() layoutpos=bottom>

Заменим на:

<element id=atom(bottompanel) sheet=styleref(bottompanelss) layout=borderlayout() [B]layoutpos=none[/B]>

Для среднестатического крэкера это простая задача, но при креативном подходе можно проявить свое творчество. (От переводчика - винлокерам: самый лучший способ, заблокировать компьютер неопытного пользователя и при этом не спалить свое зверька, заключается в изменении экрана входа в Windows). Весь UIFILE состоит из обычного XML, поэтому, что бы полностью его понять, вы должны знать как можно больше об языке разметки XML.

Так же, в отличие от моего предыдущего урока, исполняемый файл (От переводчика: logonui.exe), экрана входа в систему, может быть безопасно изменен, а результат изменения, можно легко наблюдать, используя функцию “переключения пользователей” (конечно, если она у вас включена).

+Neffarion
http://www.0xNeff.eu

© Translated by Prosper-H from r0 Crew