Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » [Горячий вопрос] Защита своего дистрибутива!

Ответить
Настройки темы
[Горячий вопрос] Защита своего дистрибутива!

Покинул форум


Сообщения: 3254
Благодарности: 893


Конфигурация

Профиль | Цитировать


Изменения
Автор: prokazzza
Дата: 22-09-2006
Описание: Добавил статью
Предисловие: захожу сеня к кенту и вижу ставит новую систему, радостный говорит сеня купил (цензура), Винда типо 2006 года, все дела, у мя уже тогда закралось сомнение и, ТОЧНО!!! загружается мой Boot Screen, захожу в систему, моя фотка красуется в oeminfo. Все знают грязные ручки юзеров, оказась стырили мой дистрибут, который я месяц облизывал, не ел не спал ночами, хорошо он не законченный был, так сказать "бета". А так гляди по всему городу. Хотя конешно прикольно моя фотка на винде, но все равно, я тут делать, а кто-то будет на этом бабки.

Так вот у мя вопрос ко всем как можно ЗАЩИТИТЬ свой родной дистрибут????

Если есть у кого-нить мыслишки прошу...

Защита своего дистрибута UACD.

мой перевод статьи How to protect your UACD с форума MSFN

Читать дальше

1) Загрузите приложения в конце этого поста.
2) Извлеките их во временную папку.
3) Скопируйте файл PKUnzip в папку дистрибута $OEM$\$1
4) Скопируйте файлы ProtectUA.cmd и Protect.vbs в $OEM$\$$\system32
5) Запустите Analyze.vbs, для того чтобы получить код BIOSа вашей материнки.



6) Откройте файл ProtectUA.vbs и поместите полученный код в
Код: Выделить весь код
Dim arrayAllowedHosts(2)
arrayAllowedHosts(0) = "xxxxxxxxxxxxxxxxxxxx"
arrayAllowedHosts(1) = "xxxxxxxxxxxxxxxxxxxx"
7) Повторите шаги 5 и 6 для каждого компьютера, на которых вы хотите использовать UACD. Если вы используете, больше чем два компьютерах тогда, вышеупомянутый код может быть добавлен, просто добавив больше строк arrayAllowedHosts.
Код: Выделить весь код
Dim arrayAllowedHosts(2)
arrayAllowedHosts(0) = "xxxxxxxxxxxxxxxxxxxx"
arrayAllowedHosts(1) = "xxxxxxxxxxxxxxxxxxxx"
arrayAllowedHosts(2) = "xxxxxxxxxxxxxxxxxxxx"
Помните, что все начинается с 0. (То есть, 3 это - 4 компьютеров)

8) В папке $OEM$\$1 создайте архивный файл Protect.zip. Он может содержать все .cmd файлы и .reg файлы, которые вы используете при установке вашего диструбута. Файл обязательно должен быть зашифрован паролем.
9) Учтите, что PKUNZIP работает только работает с 8.3 файлами (имя - 8, расширение - 3). Переименуйте все свои .cmd и .reg файлы под 8.3
10) Введите пароль в ProtectUA.vbs
Код: Выделить весь код
strPassword = "SET YOUR PASSWORD HERE"
Кавычки "" обязательны иначе не будет работать!

11) Далее отредактируем RunOnceEx.cmd. ProtextUA.cmd должен быть 1-ой операцией в RunOnceEx.cmd. Архив должен быть извлечен прежде, чем запустятся остальные команды. Примечание: архив будет распакован на диск C, не забудьте отредактировать .cmds и .reg файлы в RunOnceEx.cmd. Пример RunOnceEx.cmd:
Код: Выделить весь код
@echo off

SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

REG ADD %KEY% /V TITLE /D "Installing Applications" /f

REG ADD %KEY%\001 /VE /D "Preparing Installation Profile..." /f
REG ADD %KEY%\001 /V 1 /D "%SystemDrive%\Windows\System32\ProtectUA.CMD" /f

здесь пример REG ADD %KEY%\002 /VE /D "Inital Registry Changes and Tweaks" /f
REG ADD %KEY%\002 /V 1 /D "REGEDIT /S %systemdrive%\musicMov.reg" /f
REG ADD %KEY%\002 /V 2 /D "%systemdrive%\NWIcon.vbs" /f
12) Как только вы сделали все это и удостоверились, что правильный пароль и ID находятся в файле VBS.нужно будет все протестировать. Примечание: если вы будете устанавливать на Виртуальной Машине (VM), то вы должны будете взять ID BIOS с VM.
13) Протестируйте ваш дистрибут. Если все прошло на ура, протесте еще раз свой дистрибутив, измените ID Bios в файле ProtectUA.vbs на неверное значение. Машина должна уйти в перезагрузку и появится сообщение "NTLDR is missing"
14) Когда все тесты будут окончены, код VBS должен быть зашифрован. Скачайте и установите "Windows Script Encoder". Скопируйте файл encrypt.cmd в конце этого поста. Скопируйте ваш ProtectUA.vbs на диск C:\ и запустите encrypt.cmd. ProtectUA.vbs обязательно должен быть в на диске C:\ для этого, чтобы все заработало. Затем отредактируйте ProtectUA.cmd.
Код: Выделить весь код
REM Start Machine Authentication and wait for its end
START /WAIT %SOURCEPATH%\Cscript.EXE //Nologo ProtectUA.VBS
на
Код: Выделить весь код
REM Start Machine Authentication and wait for its end
START /WAIT %SOURCEPATH%\Cscript.EXE //Nologo ProtectUA.VBE
15) Замените в $OEM$\$$\system32 файл ProtectUA.vbs на ProtectUA.vbe.


Скачать файлы:
ProtectionUA.zip
encrypt.cmd
Способ предложенный ShaddyR довольно неплох, если его немного доработать
мысль такова в определенную папку положить маркерный файл, при установке проверить его наличие в известном месте, при отсутствии посылать тачку в ребут...
Цитата:
1) Допустим, у тебя есть папка D:\Install\Utils. Создаешь в ней файл check.txt, хоть пустой, хоть нет.
2) В файле cmdlines.txt прописываешь запуск файла check.bat следующего содержания:
Код: Выделить весь код
@echo off
IF  EXIST  "D:\Install\Utils\check.txt" goto Ok
reboot.exe 
:Ok
...
Чтобы не было лишних вопросов, отображение окна с проверкой можно спрятать соответствующей утилитой.
ессно, вместо "reboot.exe" вписать имя утилиты для тихой перезагрузки.
я б вместо ребута Format d: /q написал бы, прикольно былоб посмотреть лицо юзера, когда он поставит другую винду, тупо смотря на пустой диск D непонимая куда делась вся инфа с винта.

Отправлено: 22:45, 29-08-2006

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


prokazzza
Dark Engel
имхо уже просматривается три подхода:

1. Аутентификация пользователя
- по "паролю", тут все просто - хто знает "пароль" (фразу или некий алгоритм) тот и запустит.

2. Аутентификация компьютера
- по конфигурации, т.е. в компьютере стоят железки такого-то производителя в таких-то слотах - для страховки от несанкционированных апгрейдов/модификаций, особенно если дистрибутив заточен под конкретное железо.
- по наличию конкретной железки (например, мат.платы) с привязкой к уникальному ID.

Хотя по целям они могут и пересекаться (например, маловероятно найти два домашних компа с одной конфигурацией, хотя в корпоративной среде это сплошь и рядом), но по сути эти подходы различны.

С первым все понятно, для второго я использовал DevCon. В принципе несложно реализовать и третий, нужно только подобрать стабильную консольную утилитку, считывающую уникальные характеристики MB, HDD или еще чего в выходной поток… На примете есть пара таких, но для начала хочу выслушать мнения относительно необходимости сего мероприятия и предложения по его реализации.

Vovanchik
Собственно фейк-установку посредством AutoIT пользую уже лет пять наверно, еще с 2000-й, правда после перехода на XP пришлось опустить версию с тройки до 2.64. Лично мне метод нравится своей гибкостью - минимум движений для новой функциональности. Свое "творение" оцениваю весьма скромно - добавить несколько команд "RunWait,CMD …" не такое уж великое дело.

З.Ы. Профиксил расхождение генерируемых номеров в пред- и пост- установленной Windows (т.е. можно будет генерить ключи без воспроизведения установки), до конца недели добавлю поддержку нескольких ключей и обновлю ссылку.


Отправлено: 16:48, 28-09-2006 | #61



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Dark Engel

Старожил


Сообщения: 150
Благодарности: 12

Профиль | Отправить PM | Цитировать


Тааксс. Очень интересно. Пока что это выглядит ну очень вкусно. Ждем-с с нетерпением.

На мой взгляд (очень нескромный наверное ) наверное следует реализовать такие возможности:

1. Время действия (Отдельное спасибо simplix за идею и реализацию). То есть собрал я дистрибчик, выставил ему срок действия 365 дней например и счетчик пошел.
2. Привязка к железу. Ее предлагаю сделать как делал сам Microsoft. Все мы прекрасно помним что говорит винда при замене на машине 3-х и более плат. Правильно слетает активация. Вот и я предлагаю сделать привязку таким же методом. То есть. Например привязываем дистриб к видеокарте, материнской плате и винту. Но это не означает что наличие всех трех компонентов обязательно. Например видеокарта другая... Все равно ставим. Ведь винт и мама родные. Предлагаю привязыватся ко всему железу разом но не замечать замены например 3-х 4-х железок.
3. Все это дело должно иметь возможность привязки к нескольким машинам одновременно.
4. Для установки защиты не должно быть лишних телодвижений. Из серии с дистрибом до каждой машины. Наверно надо сделать как я уже предлагал

Цитата:
Экзешник я раздаю всем кому нужен данный диск. Они его запускают на целевой машине и он выдает код. После этого они сообщают код мне, и я вставляю его в файл настроек.
5. Еще наверное можно сделать 2 пароля первый на установку защиты второй на установку системы.
6. Ну и для полного счастья все это дело завернуть в какой никай но графический интерфейс.

З.Ы. Не убивайте сразу за наглость. Пожалуйста.... Это всего лишь мечты.... Которая возможно сбудется.

-------

"Чем больше мы умнеем, тем больше понимаем что мы глупцы."


Отправлено: 17:21, 28-09-2006 | #62


Покинул форум


Сообщения: 3254
Благодарности: 893

Профиль | Цитировать


Dark Engel

Цитата:
Все мы прекрасно помним что говорит винда при замене на машине 3-х и более плат.
она не говорит, она показывает, обычно этот синий экранчик причем не 3 платы, а почти всегда достаточно одной, если конешно это не точно такая же модель


Цитата:
Предлагаю привязыватся ко всему железу разом но не замечать замены например 3-х 4-х железок.
не понимаю зачем это нужно, особенно если хочешь сделать защиту ото всех (кроме себя любимого и пару друзей)

Последний раз редактировалось prokazzza, 29-09-2006 в 11:23.


Отправлено: 17:49, 28-09-2006 | #63


Аватара для Dark Engel

Старожил


Сообщения: 150
Благодарности: 12

Профиль | Отправить PM | Цитировать


Цитата:
Цитата:Предлагаю привязыватся ко всему железу разом но не замечать замены например 3-х 4-х железок.



не понимаю зачем это нужно, особенно если хочешь сделать защиту ото всех (кроме себя любимого и пару друзей)
А затем что бы машину можно было апгрейдить без переустановки винды каждый раз!

-------

"Чем больше мы умнеем, тем больше понимаем что мы глупцы."


Отправлено: 08:16, 29-09-2006 | #64


Покинул форум


Сообщения: 3254
Благодарности: 893

Профиль | Цитировать


Dark Engel

Цитата:
А затем что бы машину можно было апгрейдить без переустановки винды каждый раз!
машину ты сможешь апдейдить и так, устройства переустанавливаются сами, за исключением материнок.
если ты конешно не воспользуешься методом amel27
Цитата:
2. Аутентификация компьютера
- по конфигурации, т.е. в компьютере стоят железки такого-то производителя в таких-то слотах - для страховки от несанкционированных апгрейдов/модификаций, особенно если дистрибутив заточен под конкретное железо.
Цитата:
слетает активация
первый раз слышу, где ты это прочитал?




amel27


сделать утилитку которая сверит уникальный ID винта, можно сделать чтобы можно было внести несколько винтов, например еще и своих друзей, на самой начальной стадии установке, то есть после надписи и нажатия press.......... (ну понятно) запускалась бы утилитка которая сверяла винты (из списка заложенного в неё) и если находилабы номер который присудствует в списке, запускала установку винды, то есть файл winnt.exe
если нет такого винта в списке, все ребут, или надпись какую-нить, как думаешь такое реально осуществить?

Отправлено: 11:21, 29-09-2006 | #65


Аватара для Dark Engel

Старожил


Сообщения: 150
Благодарности: 12

Профиль | Отправить PM | Цитировать


http://archives.maillist.ru/64022/221975.html


После приобретения лицензионной Windows XP всегда активировал её по Интернету. Однако, после апгрейда компьютера мне было отказано в активации. Как поступить в данной ситуации?

Отвечает Shurovik:
Механизм активации завязан на начинке компа. Если меняете 5 и более компонентов, то нужна новая активация. Но поскольку у вас лицензионка, надо обратиться в представительство Микрософт и объяснить им причину повторной активации. Должны помочь.

Но это для примера. А так... сам сталкивался на работе. Когда свою машину апгрейдил.

-------

"Чем больше мы умнеем, тем больше понимаем что мы глупцы."


Отправлено: 12:32, 29-09-2006 | #66


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


prokazzza
дались тебе эти винты - к многообразию интерфейсов ATA/SATA добавь всевозможные варианты RAID когда прямой доступ к винту перекрывает контроллер и про универсальную утилитку можно забыть. Поэтому имхо BIOS MB наиболее подходящий кандидат для привязки, хотя и там есть свои проблемы со стандартами...

Отправлено: 15:13, 29-09-2006 | #67


Покинул форум


Сообщения: 3254
Благодарности: 893

Профиль | Цитировать


Dark Engel

крэк надо использовать

amel27

ну раз все так сложно....

Отправлено: 15:28, 29-09-2006 | #68


Аватара для Dark Engel

Старожил


Сообщения: 150
Благодарности: 12

Профиль | Отправить PM | Цитировать


prokazzza

Правила + Мои личные предпочтения.

-------

"Чем больше мы умнеем, тем больше понимаем что мы глупцы."


Отправлено: 15:45, 29-09-2006 | #69


Аватара для ShaddyR

Железных Дел Мастер


Moderator


Сообщения: 24786
Благодарности: 4545

Профиль | Сайт | Отправить PM | Цитировать


Информация от prokazzza:
Цитата prokazzza:
Если доработать батник, вопрос стоит
1. можно ли сделать так чтобы он проверял несколько файлов?
2. утилита для скрытия действия этого батника (можно плиз сразу прописать)?
3. до ребута можно ли использовать 2-3 программы сразу или по очередности?
и если можно конечный вариант батника
1) Ну, что-то типа так:
Код: Выделить весь код
cmdow @ /HID 
@echo off
IF  EXIST  "D:\Install\Utils\check.txt" ( goto Ok1
) ELSE goto reboot

:Ok1
IF  EXIST  "D:\pagefile.sys" ( goto Ok2
) ELSE goto reboot

:Ok2
IF  EXIST  "D:\Video\films\porno\best\favorite\super.avi" ( goto Ok3
) ELSE goto reboot

:Ok3
rem команда1
rem команда...
rem командаN

exit

:reboot
beep.exe
reboot.exe
rem ессно, оба запускаемых файла - надуманные
2) Используй cmdow, описание и линк ищи здесь или поиском. Можно применить так, как сейчас в скрипте или с ее помощью делать запуск соответствующего bat-файла, напр, из cmdlites.txt - так:
Код: Выделить весь код
cmdow /run /hid %systemroot%\check.bat
Ессно, предварительно файл check.bat нужно положить в папку $oem$\$$ , а саму утилиту cmdow.exe - в папку $oem$\$$\System32
3) Если спрашиваешь, можно ли выполнять команды между IF и до следующего Ок'а - ессно, сколько угодно. Я слегка оптимизировал алгоритм - блок ребута один, в одном месте.

Защищайся)

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Новая метла и инвентаризация)


Отправлено: 16:37, 29-09-2006 | #70



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » [Горячий вопрос] Защита своего дистрибутива!

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Fujitsu-Siemens Amilo Pro V3405. Потухла матрица и Горячий процессор. Borod888 Ноутбуки 2 25-11-2009 17:41
вопрос насчет домена (своего) Bars66 Вебмастеру 5 14-02-2009 10:56
Создание своего сервера schtefan Хочу все знать 2 08-08-2008 21:24
Создание своего дистрибутива через файл каталога (*.clg) haker-kirik Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 1 25-04-2008 00:12
Мысли по поводу своего сервера... vadimiron Вебмастеру 14 07-10-2005 01:37




 
Переход