
MBR SLIC Loader 0.63 by DDDC 
 
Контрольные суммы файлов: 
f52b81d490f39cd1643da9be3896b3cc *mbr_slic_v063.exe  
 
 
Это эмулятор SLIC а не полноценный активатор, поэтому после его применения НЕОБХОДИМО установить КЛЮЧ (для вашей редакции Windows) и СЕРТИФИКАТ (соответствующий эмулируемуму SLIC-у) !!! 
 
Кратко о преимуществах эмулятора: 
  
- На работу эмулятора НЕ влияет "антипиратское" "обновление" KB971033 
- Очень компактный код: размер инсталлятора менее 60кб, размер полезного кода - менее 1.5 килобайт, 
- Не нуждается в наличии или отсутствии дополнительного скрытого дискового раздела, 
- Не изменяет ни одного байта в логических дисках (т.е. не прописывается в системный реестр, не меняет код виндового загрузчика, не меняет системных файлов, не добавляет новых файлов  и т.д.), 
- Самая безопасная эмуляция, по принципу действия максимально приближенная к эффекту от перепрошивки BIOS-а, т.к. модификация памяти и прописка SLIC-а происходит сразу после передачи управления от BIOS-а к загрузчику жесткого диска, т.е. ДО старта операционной системы и, естественно, без ее участия, 
- Эмуляция работает на всех вариантах комбинаций ОС (т.е. на компе могут быть установлены одновременно любые ОС от MS, от DOS до W7),   
- Для нескольких ОС на одном компе инсталляция кода производится однократно (т.е. нет необходимости инсталляции для каждой системы!), эмуляция slic-а становится доступной одновременно для всех имеющихся ОС, 
- Активация не слетает при выходе из гибернейта, 
- Эмуляция SLIC-а может временно отключаться (нажатием Backspace в момент перезагрузки, во время следующей загрузки эмуляция снова включается автоматически), 
- Возможность подгрузки SLIC-ов любых вендоров из внешних файлов (в сам инсталлятор встроен slic 2.1 от Asus) 
  
Не забываем, что инсталляция эмулятора должна производиться в режиме командной строки (предварительно запускаем CMD, FAR и т.п.) строго с админовскими правами с вЫключенным UAC (в тех системах, где он есть), после успешной инсталляции можно снова включить UAC, если это надо. 
Перед инсталляцией рекомендуется сделать резервную копию секторов (опция /backup) для соответствующего диска и сохранить в надежном месте полученный резервные файлы. 
  
Краткое описание принципа работы эмулятора: 
Инсталлятор записывает копию MBR и код эмулятора в сектора жесткого диска с номерами 38,39,40 (предыдущие версии эмулятора использовали 60,61,62).   
Данные три сектора в настоящее время не используются  _ни_одной_микрософтовской_системой_, что на 100% гарантирует отсутствие глюков с активатором, если юзер на данном компе использует только MS системы.   
Для GRUB-а и прочих ему подобных загрузчиков твердую гарантию дать не могу, но у тех, что я видел, эти три сектора также свободны.  Далее, активатором в  MBR прописывается код, инициализирующий загрузку в память трех вышеуказанных секторов.   
Происходит модификация памяти (прописка SLIC-а) с последующей передачей управления коду из сохраненной MBR. Как легко заметить, модификация памяти происходит сразу после передачи   
управления от BIOS-а к загрузчику жесткого диска, то есть ДО загрузки кода системы (включая интересующие нас W7 и Vista). 
Для тестовых целей предусмотрена возможность пропуска модификации памяти при перезагрузке системы. Для этого необходимо нажать клавишу Backspace после теста оборудования, подтверждением будет 
короткий звуковой сигнал. В этом случае в память НЕ будет прописан Slic, и все тестовые программы сообщат об его отсутствии, а W7 сообщит о том, что она не активирована. При следующей перезагрузке (без нажатия Backspace) все   
восстанавливается как было (т.е. повторная инсталляция активатора не нужна!).   
(Желающие могут поэкспериментировать, вводя в гибернейт систему, а потом вновь загружаясь с включенным/отключенным slic-ом). 
 
Изменения в новой версии: 
*добавлена проверка на наличие на диске GPT (GUID Partition Table).   
Проверка актуальна для 64-хбитных систем, которые могут использовать GPT. 
При наличии GPT инсталляция эмулятора не производится, так как эмулятор не поддерживает GPT.   
  
*добавлена опция -vt   
Внимание! Данную опцию можно использовать только при эмуляции slic-а в виртуальных машинах!   
Применять опцию в физических машинах категорически не рекомендуется! 
Целью внедрения опции является попытка избежать возможного зависания "гостевой" системы при загрузке с включенной аппаратной виртуализацией процессора (Vanderpool Technology) в настройках виртуальной машины.   
Данная опция - тестовая! Работоспособность не гарантируется! Принимаются отзывы по ее работе с целью 
либо использования в следующих версиях эмулятора, либо полном отказе от нее.  
  
Опции командной строки: 
  
-hdd0 .. -hdd7 - номер жесткого диска, с которого производится загрузка (так как не у всех загрузка компа происходит с 0-го устройства), уточняется в "Disk Management" 
-slic="Имя файла содержащего slic" - выбор slic-а из внешнего файла, файл размером 374 байта, содержащий slic от производителя оборудования,  инсталлятор уже содержит внутри себя slic v2.1 для Asus   
-sector="номер сектора от 2 до 61" - номер сектора, где будет размещаться резервная копия MBR, в след. двух секторах - код эмуляции 
-vmware - оптимизация для запуска в виртуальной машине VMware (для VirtualPC и VirtualBox дополнительные опции указывать не надо!) 
-intel - размещение эмулируемой таблицы slic в нижних адресах памяти (работает только на платформах Intel) 
-rsdtoemx и -xsdtoemx - опции для перфекционистов. Оптимизируют размещение slic-а для тех компов, где в таблице ACPI есть ссылки на OEMX. Если все нормально работает, то эти опции можно не рассматривать, если в ACPI нет ссылок на OEMX, то это вообще не нужно рассматривать. 
-norsdt и -noxsdt - отмена прописки SLIC-а в таблицу RSDT или XSDT, используется для оптимизации нестандартных случаев. 
-segment=Адрес сегмента памяти, предназначен для расширения опции -intel   
-register=Номер регистра чипсета, предназначен для расширения опции -intel 
-oemslp1="сигнатура вендора", например "ASUS_FLASH", "Compaq", "AcerSystem", "Gateway" и т.д., по-умолчанию встроена сигнатура "Hewlett". 
Данная опция предназначена только для OEM SLP активации операционных систем Windows 2000/XP и Server2003 (для других систем она не нужна !), работает только совместно с опциями -intel и -segment= (см.ниже). 
  
Вышеперечисленные вводятся в командной строке через пробел в любой последовательности 
  
/backup - сохранение первых 63 секторов выбранного жесткого диска в файл (рекомендуется выполнить перед (!) инсталляцией) 
/fixmbr - перезапись загрузочного кода MBR, код полностью соответствует загрузочному коду W7 (т.е. аналог bootrec /fixmbr) 
/install - запись кода в MBR, сохранение оригинального MBR в резервном секторе и запись кода эмуляции в двух следующих секторах 
/uninstall - восстановление MBR из резервного сектора, заполнение трех секторов нулями 
  
Для данных опций используется только одна из четырех 
  
В случае явной ошибки эмуляции SLIC-а, при перезагрузке будет выдано сообшение error и дальнейшая загрузка остановится. 
В этом случае, при следующей перезагрузке нажмите Backspace, загрузите ОС, деинсталлируйте эмулятор и повторите инсталляцию с другими параметрами. 
  
После инсталляции и перезагрузки проверяем успешную/неуспешную эмуляцию SLIC-а при помощи проги SLIC_ToolKit (ссылка ниже). 
Если SLIC нормально эмулировался, то решайте возможные проблемы активации ОС правильным подбором ключа/сертификата. 
  
Если комп загрузился, но SLIC не эмулировался, то сделайте прогой RW (ссылка ниже) дампы ACPI c инсталлированным и деинсталлированным MBR_Slic (т.е. ДВА дампа) и пришлите мне в личку. Для этого запускаете RW, далее выбираете вкладку Access->ACPI Tables, затем нажимаете Ctrl+F2 и сохраняете. 
  
По поводу опций -segment= и -register=   
Опции введены для тех крайне редких случаев, когда предыдущие версии не сработали с ключом -intel 
Для краткости, покажу использование этих опций на нескольких примерах. 
  
Наилучшего результата можно добиться, если найти (например, при помощи проги RW) в диапазоне памяти 000F0000 - 000FFFFF свободный участок размером ровно 1 килобайт, выравненный на границу параграфа (ноль в конце адреса с учетом небольшого запаса). Свободный - это значит заполненный 00 или FF.   
Допустим, свободный килобайт начинается с адреса 000FD210. Отбрасываем последний 0 в адресе. таким образом получаем сегментный адрес FD21.   
Для диапазона адресов (000F0000 - 000FFFFF) номер регистра практически для всех современных интеловских чипов = 90 (Желающие могут почитать документацию по регистрам чипсетов Intel). 
Далее в командной строке указываем следующее:   
mbr_slic_v0621.exe /install -intel -segment=FD21 -register=90 
  
Перезагружаем комп, проверяем наличие SLIC-а. Возможно, что получится не с первого раза. Свободное пространство зависит только от версии BIOS-а. 
  
В-общем, всё это хоть и сложно, но реально может пригодиться только в 1% случаев (а может и меньше), когда не работает ни инсталляция по умолчанию, ни инсталляция с ключем -intel без дополнительных segment/register. 
Зато, в случае успеха, получите еще одно преимущество данного эмулятора. Дело в том, что ни операционка, ни приложения не используют эти адреса для записи данных (гарантия от "неполного слика" и т.п.).   
  
Также можно поэкспериментировать со следующими вариантами (на многих компах одна или несколько из этих областей памяти свободны): 
  
mbr_slic_v0621.exe /install -intel -segment=EC00 -register=96 
mbr_slic_v0621.exe /install -intel -segment=E800 -register=96 
mbr_slic_v0621.exe /install -intel -segment=E400 -register=95 
mbr_slic_v0621.exe /install -intel -segment=E000 -register=95 
mbr_slic_v0621.exe /install -intel -segment=DC00 -register=94 
mbr_slic_v0621.exe /install -intel -segment=D800 -register=94 
mbr_slic_v0621.exe /install -intel -segment=D400 -register=93 
mbr_slic_v0621.exe /install -intel -segment=D000 -register=93 
  
Если произойдет зависание при перезагрузке или сообщение об ошибке, то перезагрузитесь с нажатым Backspace,деинсталлируйте эмулятор и затем повторите инсталляцию с другим набором параметров. 
  
Пример, демонстрирующий инсталляцию эмулятора с расширенным набором параметров на ноуте Asus A8le: 
mbr_slic_v0621.exe /install -hdd0 -intel -segment=FD21 -register=90 -xsdtoemx -norsdt -sector=2 
  
Опция -oemslp1= работает только совместно с опциями -intel и -segment=, причем адрес, указанный в качестве сегмента должен попадать в диапазон адресов, опустимый для конкретной сигнатуры.