Отвязка от железа. Как правильно заменить материнскую плату и отвязать Windows от старого аппаратного беспечения

Часто случаются проблемы типа:
-Заменил материнскую плату(или жесткий диск или еще что...) а система не загружается или работает плохо.
-Хочу заменить компьютер/переустановить систему,но мне нужна именно моя система.

Потом люди начинают методом тыка искать варианты решений,зачастую рекомендованные людьми которые где то что то слышали,а не пробовали.

Вот мы и попробуем с Вами быть немного мудрее- сделаем образ системы,позволяющий не задумываясь о последствиях заменить оборудование или же вообще перенести свою систему на другой компьютер.

При этом будут сохранены все программы и настройки привычной Вам уже,родной системы.

У меня процедура создания образа и развертывания его же на моем компе
заняла примерно полчаса,причем система как будто и не менялась- прежнее boot меню, настройки сети и программ...

Этап первый.
_______________

Мне кажется не совсем нормальным искать для этих целей какой либо софт,а тем более тратиться на него.

Ведь есть замечательная утилита Sysprep !

Первым делом приводим нашу систему в тот вид,в котором мы ее хотим видеть после того, как воскресим ее на новом оборудовании.

Запускаем командную строку с правами администратора:

Нажмите кнопку пуск с лева внизу экрана>в поле поиска вводим: cmd> по найденному кликнем правой кнопкой мыши>выбираем пункт "запуск от имени администратора".
В открывшемся окне консоли вводим команду:

Код:

%windir%\system32\sysprep\sysprep

В итоге появляется вот такое окошко:

Это окно программы подготовки системы Sysprep.

  • "Параметры завершения работы" - выбираем пункт "Завершение работы".
  • "Действие по очистке системы" - выбираем пункт "Переход в окно приветствия системы (OOBE)"
  • Так же ставим галочку напротив пункта "Подготовка к использованию".
Дальше нажимаем "ОК" и спустя некоторое время система выключится.

Теперь можно менять материнскую плату,сам компьютер или жесткий диск,да все что угодно.
После того как вы выполните замену агрегатов,то просто включите системник и произойдет развертывание системы уже на новом оборудовании.

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

А так же можно записать образ диска и уже загрузившись с компакт-диска выполнить развертывание системы на другие компьютеры.

Этап второй.
__________________

Для этого подойдет утилита ImageX

Вот тут нам уже понадобится загрузочный диск Windows PE.
Что это и как им пользоваться Вы узнаете в этом разделе:

Загрузитесь с диска Windows PE.

Процедура захвата и сохранения образа производится одной командой.

Код:

Imagex.exe /capture C: D:\custom.wim /flags="Ultimate" "Windows 7 Ultimate SP1 Custom" "Имя образа Windows" /compress maximum

Внимание!!!
Если вы не включили утилиту ImageX в состав образа Windows PE (например, путем размещения в папке system32), а лишь разместили ее на загрузочном диске, требуется указать полный путь к утилите или предварительно выполнить переход в ее папку в командой строке командой

Код:

Cd /d <путь>

В этой команде используются следующие параметры:

парметры​

/capture C: |захват раздела C:
D:\custom.wim | местоположение и имя сохраняемого WIM-файла. Укажите букву диска, соответствующую несистемному разделу или USB-диску.
/flags «Ultimate» | флаг, обозначающий редакцию Windows Vista (в Windows 7 параметр не действует). Задание флага обязательно, если планируется последующая установка образа с помощью программы установки (setup.exe). Другими словами, используйте этот параметр, если вы собираетесь заменить исходный образ Install.wim на собственный и устанавливать ОС с DVD-диска или сетевого ресурса. Для развертывания образа с помощью утилиты ImageX задавать флаг необязательно. Для Windows Vista допустимы следующие флаги: HomeBasic, HomePremium, Starter, Ultimate, Business и Enterprise.
«Windows 7 Ultimate SP1 Custom» | имя образа. Имя должно быть заключено в кавычки.
«Имя образа Windows» |(необязательно) описание образа. Описание должно быть заключено в кавычки.
/compress maximum |(необязательно) тип сжатия файлов в образе.

Для параметра /compress допустимы значения:

Если параметр не указан, используется быстрое сжатие. Максимальное сжатие позволяет уменьшить размер образа, но захват занимает больше времени, чем при быстром сжатии. Скорость распаковки образа практически не зависит от типа сжатия.

Спойлер: Некоторые подробности о синтаксисе ImageX и захвате образов

Захват образа диска и помещение его в существующий WIM-файл

Код:

Imagex /append <путьдлязахвата> < путькWIM-файлу> <имя_образа> {/boot | /check | /config файл_конфигурации.ini | /scroll | /verify | /logfile имя_файла.log}

путьдлязахвата | путь к диску или папкуе, содержимое которого требуется захватить в образ в существующем WIM-файле
путькWIM-файлу |путь к WIM-файлу, в который требуется добавить образ
имя_образа | имя создаваемого образа
boot | Пометка образа тома как загружаемого.
check
config файл_конфигурации.ini | Определяет имя и расположение файла конфигурации с настройками для захвата
scroll | Прокрутка выходных данных для перенаправления.
verify | Включение проверки файлового ресурса путем проверки на наличие ошибок и дублирования файлов.
logfile имя_файла.log | Включает протоколирование с выводом в указанный файл
Данная команда захватывает образ диска, либо папки, которая указана в аргументе командной строки,
и помещает эти данные в новый образ с указанным именем в существующем WIM-файле

Пример:

Код:

Imagex /append C: M:\image.wim “Captured” /check

Выполняет захват образа диска С:, в файл install.wim, расположенный на диске M:, и присваивает созданному образу имя “Captured”.
Также будет выполнена проверка целостности данных.

Захват образа диска и помещение его в новый WIM-файл

Код:

Imagex /capture < путьдлязахвата > < путькWIM-файлу > <имя_образа> [описание] {/boot | /check | /compress type | /config | /norpfix | /scroll | /temp | /verify| /logfile имя_файла.log}

путьдлязахвата |путь к диску или папке, содержимое которого требуется захватить в образ в новом WIM-файле
путькWIM-файлу | путь к создаваемому WIM-файлу
имя_образа | имя создаваемого образа
описание |описание создаваемого образа
boot | Помечает образ тома как загружаемый.
check | Проверяет целостность WIM-файла.
/compress
config файл_конфигурации.ini |Определяет имя и расположение файла конфигурации с настройками для захвата
scroll | Прокрутка выходных данных для перенаправления.
temp | Определяет путь хранения временных файлов.
verify |Включение проверки файлового ресурса путем проверки на наличие ошибок и дублирования файлов.
logfile имя_файла.log | Включает протоколирование с выводом в указанный файл.
Данная команда создает новый WIM-файл с единственным образом, в который захватываются файлы и папки из указанного пути. Обычно ее применяют при захвате образа диска-мастер компьютера для последующего развертывания.

Примеры:

Код:

Imagex /capture C: M:\captured.wim “Captured Windows 7”

Данная команда захватывает содержимое диска С: в образ с именем “Captured Windows 7” в файл captured.wim на диске M:

Код:

Imagex /capture C: captured.wim “Captured Windows 7” /compress maximum /check

Данная команда захватывает содержимое диска С: в образ с именем “Captured Windows 7” в файл captured.wim в текущем каталоге, при этом выполняется максимальное сжатие, а также проверка целостности создаваемого образа.

Экспорт образа в другой WIM-файл

Код:

Imagex /export <исходныйWIM-файл> <индексисходногообраза | имяисходногообраза> <конечныйWIM-файл> [имя_конечного_образа] {/boot | /check | /compress [тип] | /ref /temp| /logfile имя_файла.log}

исходный_WIM-файл |путь к WIM-файлу, из которого требуется экспортировать образ
индексисходногообраза | индекс эжкспортируемого образа
имяисходногообраза | имя экспортируемого образа
конечный_WIM-файл |путь к WIM-файлу, в который выполняется экспортирование. Если указанного WIM-файла не существует, то создается новый WIM-файл
имяконечногообраза |имя образа в новом WIM-файле
boot |Помечает образ тома как загружаемый.
check |Проверяет целостность WIM-файла.
compress |Задает тип сжатия, используемый в операции создания первичного образа. Параметр maximum предусматривает высшую степень сжатия при создании образа, что сопровождается увеличением времени выполнения этой процедуры. Параметр fast означает, что сжатие образа будет выполняться быстрее, однако итоговые файлы будут иметь больший размер, чем при сжатии с параметром maximum. Этот тип сжатия используется по умолчанию в том случае, если значение данного параметра не указано. При выборе значения none сжатие в процессе создания образа не выполняется.
ref |Включает ссылки на разделенные WIM-файлы (SWM). Параметр splitwim.swm указывает имя и расположение для дополнительных разделенных файлов. Допускаются подстановочные знаки.
temp | Путь хранения временных файлов.
logfile имя_файла.log |Включает протоколирование с выводом в указанный файл
Данная команда экспортирует один из образов в WIM-файле в новый или существующий WIM-файл. При этом происходит оптимизация образа, таким образом, если вы вносили изменения в образ, то после этого рекомендуется экспортировать его, с целью оптимизации занимаемого дискового пространства.

Вопрос: [решено] отвязать от железа win7


Доброго времени суток..............выполнив команду %windir%\system32\sysprep\sysprep /generalize /oobe /shutdown.......и проделав все это вручную, система выдает сообщение о там как произошел непредвиденный сбой....и работает дольше.Перезагрузив же комп спрашивает логин с паролем, вводя логин (а пароля то и не было) пишет что учетка заблочена.Вход в систему исправляется сбросом пароля через LIVE cd.

Так как же мне систему отвязать от железа?

Ответ:

Цитата fyt :

Есть.
Грузимся с LiveCD, открываем реестр целевой системы,
Удаляем ветку реестра HKLM\SYSTEM\MountedDevices 3
Включаем запуск сервисов, загружающих стандартные драйвера контроллеров IDE иSATA. Для этого раскрываем ветку HKLM\SYSTEM\CurrentControlSet\services заходим в раздел amdide. Находим параметр Start и выставляем его значение 0х00000000 (0), если оно иное (Start=0 - запуск сервиса при загрузке Windows) Для этого дважды кликаем на имени параметра Start и заменяем значение на 0 (ноль) и жмем ОК. 4 5 Так же поступаем в разделах: amdsata, amdxata, atapi, intelide, msahci, pciide

Источник:

Мне помогло. Разве что я правил следующие ветки:
HKLM\SYSTEM\ControlSet001\services
HKLM\SYSTEM\ControlSet002\services

Вопрос: Не запускается win7


Здравствуйте. На сегодня проблема такая: на ноутбуке Lenovo B50 стояла Win 8, решил поменять на win7 x64. Перед установкой поменял в InsydeH20 во вкладке (Security) в пункте Secure Boot на Disable. Потом во вкладке (Boot) в пункте Boot Mode сменил UEFI на Legacy Support. Все было хорошо, USB с Виндой запустилась, начал устанавливать, возникла проблема с GPT, с помощью консоли преобразовал диск в MBR. Все хорошо, Винда установилась. После установки ноут перезагрузился и вышло вот такое вот окошко

Что делать? Помогите пожалуйста решить данную проблему? Спасибо.

Ответ: ScrollLock , А можно теперь по подробнее пожалуйста порядок действий.

Добавлено через 24 минуты
Самое тупое это то, что в пункте "OS Optimized Defaults" нету Win7. Только win8 64 и Other OC. Даже после сброса настроек. И да, в конфигурации я не могу выбрать USB 2.0, т.к. тоже нету такого пункта.

Добавлено через 25 минут
В общем, проблема решилась. Еще раз спасибо большое форуму и особенно ScrollLock. Очень выручил.
1. В последнем меню BIOS"а в последней строчке OS optimized Default, меняем в ней значение с Win8 64 bit на Other OS
2. Обязательно делаем Load Default Setting.
3. Сохраняем изменения именно в этом порядке
4. Устанавливаем Win 7 x64/x86 без BSOD

Это и есть решение проблемы. Для тех, кому будет это реально нужно. Спасибо

Вопрос: [решено] проблема на WIN7 при установке Lingvo x3


здраствуйте. у меня возникла проблема на WIN7 при установке Lingvo x3.
выскакивает "Ошибка при открытии файла журнала установки. Проверьте, что указанный файл журнала существует и доступен для записи"
Читал об этой проблеме здесь на форуме но то что писали не помогло.
Перекачивал много установок Лингво, всё одно и тоже и да, ВИнда новая лицензионная от силы недельки две-три ей!
как можно избавиться от этого?

Ответ: Может кому пригодится похожий случай только с установкой NET Framework обновлений

Писало следующее: Не удалось получить доступ к службе установщика.
или Ошибка открытия файла журнала установки. Проверьте наличие данного файла журнала и прав на запись в журнал

Мне помогло следующее:
Надо повысить уровень контроля учетной записи (панель управления / учетные записи пользователя/ изменение параметров контрол¤ учетной записи/
поставить по умолчанию, сохранить (ок) и перезагрузиться.
И разрешать установку(при выскакивании предупреждений)в ручном режиме (да)

Вопрос: Вставить хард с win7, с одного устройства в другое


Продаю свой компьютер, хард решил не продавать. сам покупаю ноут бук.
решил вставить свой хард(без переустановки системы) в этот ноут, как сделать это оптимально? что бы не было проблем с драйверами и т.д.
или проще сделать скопировать систему в облако, почистить диск и поставить новую винду на свой хард(он ссд, ноут покупают без) и потом сделать бэк ап системы.

Ответ:

Сообщение от Insider22

как сделать это оптимально?

Проблем не будет в случае полной идентичности железа. в противном случае с вероятностью 90% получите BSOD.
тут еще почитайте

Вопрос: После смены мат.платы Win7 не грузится


Старая мать сгорела.
Вынужденно поставил временную (с другими процем и памятью).
А жесткий диск остался от старой матери.
На нем две системы.
ХР, пошуршав, загрузилась.
Только кое-чего из драйверов к новой матери пришлось поставить.

А Win7 (на другом разделе) при старте вылетает с синим экраном и ошибкой 7B.
После этого предлагает запустить средство восстановления.
Я его запускаю. Оно заканчивается успешно, не найдя ошибок.

И всё по новой...

Понятно, что такая операция не обязательно прокатила бы, но, по рассказам, обычно всё получается.

Ответ: Попереключайте в BIOSе режим работы жесткого диска между AHCI и Legacy IDE.

А вообще нужно систему переустанавливать. Старые системы могли более адекватно работать
при переносе на разное железо, новые пишут много мусора с привязкой к конкретному железу.

ХР-шку раньше вообще просто распаковывал из архива и всё работало без установки,
с 7-ркой маловероятно, она пишет метки в SLIC материнской платы
то есть её лиценционность уже привязана к конкретной материнской плате.
В ХР такого не было.

Вопрос: Не могу установить Win7 вместо Win8.1 (подпись драйвера)


Собственно проблема. Купил Acer Aspire E 15 Start. На нём по умолчанию стоит Win8.1
Но ноут слабенький и на такой ОСи работает не очень шустро. Поэтому решил переустановить винду. Пробовал 2-3 разных паков Win7, везде на последней стадии пишет что нету подписи драйверов.

Проверку подписей драйверов отключал разными способами - не помогает.

Вопрос: если я отформатирую диск под 0, а затем на чистый ЖД поставлю Win7, это поможет мне решить проблему?

Ответ: У меня такая же ерунда была с ноутом, у которого гибридный HDD был. Так и не смог установить Win7


Win7 Pro 64-bit, Eng.

Когда открываешь в трее значок "Safely Remove Hardware and Eject Media" (безопасное отключение вставляемых накопителей) то видишь все SATA накопители, включая системный SSD.

Вроде такого быть не должно за исключением, быть может, внешнего винта.

Не так безобидно: когда подключаешь по SATA внешний HDD, то при перезагрузке он вылезает на первое место (из-за того, что на первом месте в приоритете загрузке в БИОСе выставлены Removable device) и система не может загрузиться.

Хотелось бы найти способ указать ОС"ме что вот этот накопитель постоянный, а вот это отключаемый.

Ответ: Sevilho ,
Я писал ранее Вам про удаление интелловских драйверов, и чтобы по дефолту ставились Майкрософтовские, но после удалил это сообщение и решил посмотреть на результат с переустановкой интелловских.Такое происходит не только с SSD-накопителями.И за реестр в курсе, но решил подождать, опять что скажет удаление\установка\обновление интелловских драйверов.

Вопрос: Win7, принтер HP P2015d и двусторонняя автоматическая печать


Есть принтер p2015d, OS Win7 x64, драйвер установлен автоматически. Если в ворде поставить галочку "двусторонняя печать" - печатается первая страница, выскакивает окно "вручную переверните лист и нажмите ок" и печатается вторая страница после нажатия на "ок". Естественно это не устраивает.

Загуглил, нашел много упоминаний (например тут) о том что Win7 x64 определяет этот принтер как просто p2015, в котором автоматической двусторонней печати нет, и чтоб её включить нужно в нескольких местах поменять настройки.

включил печать на обратной стороне


включил модуль дуплекса


еще в параметрах печати нашел упоминание о двусторонней печати, но эта опция не сохраняется почему-то

В ворде жму CTRL+P, ставлю галку "двусторонняя печать", печатаю - снова выскакивает окно с просьбой вручную перевернуть лист.

Захожу на сайт HP, ищу там драйвера под hp p2015d, их нет, только универсальный. Пробую, ставлю все те же галки - снова просьба перевернуть вручную. При этом если поставить галку как на третьем скриншоте - она уже сохраняется, при этом в окне по ctrl+p в ворде (не знаю как это оно называется правильно) галка "двусторонняя печать" пропадает и все документы всегда печатаются с двух сторон, что тоже как бы не вариант, хотя подтверждает то что сам принтер и модуль дуплекса исправны и печатать с двух сторон автоматически умеют.

Что нужно сделать чтобы печаталось нормально - т.е. всегда односторонняя печать а когда надо - поставить галку и двусторонняя?

На WinXP работало, что называется, из коробки, без каких-либо настроек.

Ответ:

Цитата gannet :

Забыл уточнить, я пробовал принудительно выключать эту опцию - всё равно выдает запрос вручную перевернуть.

Привет админ, прикупил недавно новый компьютер с четырёхъядерным процессором и двух гиговой видеокартой и теперь хочу перенести Windows 7 вместе с жёстким диском со старого компьютера на новый. Единственное что смущает, на старом и на новом компьютере разные материнские платы и разные процессоры, ещё в моей Windows 7 существуют два пользователя, то есть две учётных записи - моя и младшего брата. И у меня и у брата много установленных программ, хотелось бы перенести Windows 7 на другой компьютер вместе с существующими учётными записями, установленными программами и личными файлами.
Статью вашу читал и вот думаю применить этот способ для Windows 7, так как утилита sysprep присутствует как в Windows 7, так и в Windows 8. Думаю всё получится, только вот переживаю - перенесётся ли винда и установленный софт, всё-таки материнки разные!
И ещё вопрос - а если мне нужно будет перенести Windows 7 полностью на другой компьютер имеющим другой жёсткий диск. Как действовать в этом случае?

Как перенести Windows 7 на другой компьютер

Здравствуйте друзья! Сделать это очень легко и не зависит от того, сколько у вас учётных записей в системе. Для переноса мы применим встроенную в Windows 7 утилиту sysprep , разработанную специально для того, чтобы подготовить настроенный образ Windows вместе с установленными программами к переносу на другой компьютер (желательно с похожей архитектурой). Для тех кто хочет полностью перенести настроенную операционную систему на другой компьютер, тоже есть информация в этой статье.

  • Примечание : Если Вас заинтересовала статья, посетите специальный раздел, где собраны с одного жёсткого диска на другой.
  • Если у вас ноутбук, то возможно Вам пригодятся статьи .

Для примера, давайте перенесём Windows 7 с моего старенького рабочего компьютера на новый с четырёхъядерным процессором. На моём старом и новом компьютере тоже разные материнские платы и разные процессоры. Перенесётся ли винда? Будем надеяться, в большинстве случаев данный способ срабатывает даже в том случае, если на компьютере, в который мы хотим перенести Windows 7, установлено совсем другое железо.
В моей Windows 7 тоже имеются две учётные записи "Alex" (администратор) и "Andrey" (простая учётная запись) и они обе должны успешно функционировать после переноса системы на другой компьютер. Практически все установленные программы запустятся и будут работать. Примечание: перед тем, как начать процесс переноса Windows 7, рекомендую вам перестраховаться и , если что-то пойдёт не так, вы сможете восстановиться из этого образа.
И ещё, если у вас установлены программы DAEMON Tools, Alcohol 120%, или UltraISO рекомендую удалить их, не лишним было бы удалить и антивирус, так как если этого не сделать, при переносе может возникнуть ошибка «Windows не удалось завершить настройку системы. Чтобы возобновить настройку, перезагрузите компьютер» В некоторых случаях стоит ещё раз (иногда несколько раз) перезагрузить компьютер и ошибка пропадёт.

Итак, запускаем командную строку от имени администратора и вводим команду slmgr /dlv ,

Возникает окно, в нём мы можем увидеть оставшееся количество переноса Windows на другие компьютеры.

Окно программы подготовки системы.

Выставляем всё так, как на скришноте и нажимаем ОК.

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

Примечание : , то разворачивать этот дистрибутив семёрки можно с успехом на другие компьютеры, единственное что вам нужно будет сделать после установки, так это ввести лицензионный ключ системы или Windows проработает только 30 дней и будет просить активацию (всё честно).

Демонтируем наш жёсткий диск из старого компьютера и подсоединяем его к новому компьютеру. Включаем компьютер. Операционная система Windows 7 обновляет параметры конфигурации реестра,

Запускает службы,

Иногда на этой стадии переноса Windows 7 может выйти ошибка «Windows не удалось завершить настройку системы. Чтобы возобновить настройку, перезагрузите компьютер » В некоторых случаях стоит ещё раз (иногда несколько раз) перезагрузить компьютер и ошибка пропадёт. Иногда эта ошибка появляется из-за установленного антивируса или программ DAEMON Tools, Alcohol 120%, UltraISO рекомендую удалить их перед переносом системы.

осуществляется привязку к новому оборудованию, устанавливаются устройства,

применяются параметры конфигурации системы

компьютер подготавлиается к первому использованию. Перезагрузка.

Доброго времени суток, товарищи крякеры!
Давненько я не писал статей о взломе... Но вот, время пришло!)

Сегодня я расскажу вам о довольно таки универсальном способе отвязки программ от железа. Единственное условие, без которого ничего не выйдет: У вас должен быть правильный ключ, привязанный к какому-то чужому ID .

Итак, что нам понадобится :

  • Olly Debugger v2 ;
  • CFF Explorer ;
  • Немного мозгов;
  • Более-менее прямые руки.
Ссылки на ПО за вас найдет гугл. Для данной статьи я накидал простенькую программку deIDme , которая и послужит нам образцом для опытов.

Она имеет простенький функционал :

  1. Получить VolumeID диска C:\ через GetVolumeInformation ;
  2. Получить сумму байт ID ;
  3. Сравнить введенную пользователем сумму, с полученной;
  4. Если все ОК - вывести хорошее сообщение, иначе - плохое.
Конечно, можно было бы просто изменить условие проверки на противоположное, но не всегда все так просто...

Алгоритм действий такой:

  1. Внедрить в EXE-файл чужой ID;
  2. Внедрить процедуру, которая будет копировать внедренный нами ID на место считанного;
  3. Найти место, где программа получает строку ID или ее части;
  4. Вызвать данную процедуру после получения ID;
  5. Ввести ключ от чужого ID и радоваться.

НАЧАЛО


Давайте запустим наше тестовое приложение и осмотримся.
Я попробовал ввести любой ключ и получил "плохое" сообщение. Будем исправлять.

ВНЕДРЕНИЕ


Откроем CFF Explorer и в нем нашу программу. Нам нужен раздел Section Headers .
Нам нужно добавить новую секцию для того, чтобы записать в нее наш ID .
Вводим размер, равный количеству символов в строке + 1 байт на 0x00 байт. Т.е. у меня выходит, что 12 символов с строке ID, и +1 на байт-терминант .

ЗАРАНЕЕ ИЗВЕСТНО , что для чьего-то ID = 123456789020 , ключ должен быть: 1388 .
Поэтому я в новую секцию вписал нужный идентификатор.


Теперь нужно узнать физический адрес данной секции. Запоминаем его.
Сохраняем изменения в файле. Закрываем CFF Explorer .

Теперь открывает File Location Calculator и в нем нашу лабораторную крыску. Вводим файловое смещение и жмем Calculate .

Получаем значение: 40C000 .​


Теперь собственно модификация кода...

Открываем модифицированное приложение в Olly Debugger . Я уже нашел место в коде, где происходит получение строки идентификатора: 40410D . Замечаем, что полученная строка находится по адресу: 148B78 :


Сейчас нам нужно внедрить процедуру копирования нашей строки в нужное место и вызвать ее, не испортив остального кода. В этот процесс подробно описан. Но я повторю вам основные моменты:
  1. Найти место, куда вставить нашу процедуру;
  2. Команды, которые будут на месте вызова процедуры перенести в код процедуры.

Ищем место для внедрения процедуры


Найти его довольно таки просто по повторяющимся одинаковым байтам. Обычно такие места можно найти ближе к концу программного кода. Это могут быть либо 0000 , либо CCCC . Но их должно хватать.

Внедряем процедуру


Выделяем как можно больше пустых команд и жмем клавишу Пробел . Поочередно в появившемся окошке вводим команды, согласно первому исходному коду в статье Manhunter "а:

Pusha cld mov edi, mov esi, mov ecx, push ecx shr ecx,2 rep movsd pop ecx and ecx,3 rep movsb popa ret

- адрес, КУДА будет копироваться НАША строка.
- адрес, НАШЕЙ строки.
- размер нашей строки в шестнадцатеричной системе счисления.

Поэтому исправляем код на следующий:

Pusha cld mov edi, 148B78 mov esi, 40C000 mov ecx, D push ecx shr ecx,2 rep movsd pop ecx and ecx,3 rep movsb popa ret

Получилась такая вот картина (замечаем, что процедура начинается с адреса 40435C ):