Windows xp как отвязать от железа. Овязки программ от железа, отвязки программ от железа

Viber OUT 12.05.2019
Viber OUT

Достаточно часто у пользователей компьютеров и ноутбуков возникают ситуации, когда они заменяют имеющееся оборудование (например, материнскую плату или жесткий диск). Естественно, старая ОС новую «материнку» или неинициализированный винчестер просто так (как другое встроенное или периферийное оборудование, для которого нужно всего лишь установить драйвера) не воспримет. Некоторые утверждают, что систему проще всего переустановить. Да, действительно, это так. Но ведь в старой ОС, которая к тому же работает вполне нормально, могут быть инсталлированы нужные пользователю программы, повторная инсталляция которых может занять слишком много времени, или их установочные дистрибутивы у пользователя попросту отсутствуют. Вот тут и возникает необходимость переноса Windows 7 на другое «железо» или даже на новый компьютер, если старый апгрейду не подлежит.

Но тут не все так просто. Дело в том, что, как считают некоторые, создание образа никакого эффекта не даст, поскольку сама ОС как бы «привязана» к оборудованию, которое было установлено ранее. И не факт, что просто так скопировать систему из образа на диск объемом 2 Тб и более, которые имеют а не MBR, окажется возможным. Однако для выполнения таких действий можно использовать несколько вариантов действий, о которых далее и поговорим, но основной упор будет сделан на встроенные средства самой системы, чтобы не прибегать к установке или использованию стороннего программного обеспечения.

Можно ли выполнить перенос Windows 7 на другое «железо»: варианты действий

Для начала давайте кратко остановимся на возможных ситуациях, от которых и будут зависеть дальнейшие действия пользователя. Самый, как считается, простой вариант связан с заменой материнской платы. В этом случае установленное оборудование нужно будет как бы «отвязать» от системы, чтобы привести ее в то состояние, как если бы она только начинала распознавание нового оборудования (чаще всего это может быть связано с заменой материнской платы). Во втором случае, когда требуется перенести рабочую систему на новый жесткий диск 1Тб или любого другого объема, действия несколько усложняются. Но, если в точности следовать всем ниже приводимым инструкциям, особых проблем возникнуть не должно.

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

Само собой разумеется, что следует учитывать и конфигурацию нового оборудования, которое установлено на материнской плате. Например, какой процессор нужен для 64-битной «семерки»?

Естественно, только тот, который имеет соответствующую архитектуру, иначе система работать просто не будет. В некотором смысле это может относиться и к жестким дискам, только здесь проблема упирается в стиль раздела. Жесткий диск с 1Тб памяти любой ОС седьмой версии распознается без проблем, а вот устройства с объемами 2Тб и выше могут определиться лишь частично (доступным будет не все имеющееся дисковое пространство) или не распознаться вообще (не говоря уже о дисках SSD). На действиях с винчестерами остановимся чуть позже, а пока заострим внимание на некоторых важных аспектах, касающихся предварительной подготовки.

Используемые утилиты

Что касается используемого программного обеспечения, можно воспользоваться множеством утилит, например, от Acronis или даже выполнить полное с рабочей системой. Однако, если под рукой таких инструментов нет, можно применить встроенную «родную» программу Windows 7 Sysprep. С ее помощью перенос, правда, может занять несколько больше времени, тем не менее в большинстве случаев использование именно этого инструмента выглядит наиболее приемлемым для любого юзера.

Предварительные действия

Наконец, прежде чем приступать к переносу Windows 7 на другое «железо», желательно полностью деинсталлировать все установленные антивирусы, а также приложения для работы с образами дисков или виртуальными приводами вроде UltraISO или Alcohol 120%, поскольку в процессе переноса их наличие может провоцировать появление конфликтов или непредвиденных ошибок.

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

Как перенести Windows 7 на другое «железо» с имеющимся жестким диском?

Теперь непосредственно о выполняемых действиях. Первым делом запускаем утилиту Sysprep (Windows 7 начнет перенос только при следующем запуске).

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

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

Настройка параметров системы непосредственно после переноса

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

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

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

Перенос системы на новый HDD

В случае переноса Windows 7 на другой диск, выполняемые действия полностью аналогичны только что описанным, только диск с системой подключается в качестве внешнего носителя и выставляется первым в приоритете загрузки BIOS. После старта ОС необходимо перейти в раздел архивации и восстановления в «Панели управления» и создать образ системы. Для сохранения образа потребуется дополнительный третий носитель (например, внешний USB HDD). Стадию создания диска восстановления можно пропустить. После этого нужно отключить исходный диск, загрузить систему с установочного DVD-диска, выбрать раздел восстановления и указать восстановление из ранее созданного образа.

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

Что нужно учесть при переносе ОС на диски большого объема?

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

Во-вторых, новый диск желательно разбить на разделы, чтобы оставить под систему не все пространство, а столько, сколько это нужно. В-третьих, при больших объемах (2 Тб и более) следует использовать исключительно 64-битную Windows в паре с UEFI, а не BIOS. В противном случае перенос Windows 7 на другое «железо» окажется невозможным. На крайний случай винчестер большого объема можно разбить более чем на два логических раздела (но не более четырех), установив для каждого из них стиль MBR, а не GPT. Само собой разумеется, для корректного выполнения переноса, как уже было сказано выше, следует учитывать, какой процессор используется, сколько оперативной памяти установлено и какова разрядность самой ОС. И вообще, соответствует ли новый или модернизированный ПК минимальным требованиям переносимой версии «семерки».

Перенос Windows 7 на другое железо. Отвязка от старого.

Иногда случается так, что необходимо поменять старое отжившее железо на новое. Обычно проблем с этим не возникает, старое снял — новое поставил, за исключением замены . С ней все так просто не получается. Если мы просто заменим плату, то при загрузке, где то в районе мерцающих флажков, увидим всеми «любимый» синий экран (BSOD) с ошибкой STOP 0x0000007B.

Как мы уже знаем, на есть чипсет и контроллеры которым устанавливаются собственные драйвера, при замене, драйвера в операционной системе остаются старые, а вот чипсет и контроллеры меняются, в итоге запуск становится не возможен. Обычно проблема появляется из-за смены контроллера шины ATA/SATA, Windows не может самостоятельно поменять драйвер контроллера во время загрузки и теряет жесткий диск, запуск становится не возможен.

Хочу сразу оговориться, проблема возникает не в 100% случаев. При замене в пределах одного , большая вероятность запуска системы без появления синего экрана (BSOD) с ошибкой STOP 0x0000007B.
Собственно на этом теория заканчивается и возникает извечный вопрос: «Что делать?». Скажу не томя, есть два варианта решения данной проблемы, простой и посложней (вариант с переустановкой ОС, даже не рассматриваем).

Вариант 1.

Перед переносом нашего HDD с установленой Windows 7 на новое железо, необходимо воспользоваться штатной утилитой sysprep.

Нажимаем «Пуск», в строке поиска (она в самом низу) набираем CMD , в найденных программах (обычно самая первая) наводим курсор и нажимаем правую кнопку мыши и запустить от имени администратора, подтверждаем запуск. Набираем: C :\ Windows \ system 32\ sysprep \ sysprep . exe и нажимаем Enter (можно просто дойти до файла по этому адресу и запустить двойным кликом левой кнопки мыши).

Запускается Программа подготовки системы 3.14 которая откатывает Windows до состояния первого входа в систему, к тому моменту, когда операционная система не была привязана к оборудованию, путем удаления драйверов устройств.

После завершения работы программы заменяем материнскую плату и прочее «железо», и запускаем компьютер. Начинается процесс, происходящий на финальном этапе установки ОС Windows. Необходимо ввести имя пользователя (не должно совпадать с прежним, т.к. та учетная запись уже есть в системе) и имя компьютера и завершить установку. Перезагружаем компьютер (или выходим через завершение сеанса) и авторизуемся под своей учетной записью (на экране приветствия будет как новая, так и старая). После входа удаляем созданную учетную запись и ее профиль. Теперь остается установить новые драйвера и на этом перенос окончен.

Однако у данного метода есть недостаток, активация Windows и большинства софта слетает, так что нужно будет активировать все заново

Данный вариант очень прост и рассматривался в сжатом виде. Спросите почему в сжатом? Все просто, мы же не ищем легких путей! У меня обычно бывает так: Сначала меняю железо, потом соображаю, что ОС запускаться не хочет (по этому Вариант 1 описан с теоретической точки зрения основываясь на базе знания windows) и начинается поиск решения (не пересобирать же обратно железо). Как раз для таких как я есть вариант два, на нем остановимся подробней.

Железо, как известно, может иногда накрываться. Причём сразу медным тазом. Бывает, что этим железом является материнка. Таким образом встаёт в полный рост задача переноса Windows XP на новую материнку. Известно, что в общем случае винда на новой материнке грузиться не будет, из-за того, что на новой материнской плате будет другой дисковый контроллер, а драйверов под него в уже установленной XP не будет. Этот косяк тянется ещё со времён Windows NT, не понимаю, почему его не исправили по сию пору. Можно ведь при загрузке просто проверять, есть нужный дисковый контроллер или нет, и если его нет, то подгружать GENERIC драйвер для IDE-контроллеров, то, что называется в XP «Cтaндapтный двyxкaнaльный кoнтpoллep PCI IDE».

Если есть возможность загрузить винду как-нибудь, то самый простой способ подготовить её к переносу на другую материнку - это в диспетчере устройств вместо дискового контроллера материнки поставить «Cтaндapтный двyxкaнaльный кoнтpoллep PCI IDE». После этого можно завершать работу Windows и менять материнку. После замены и запуска винды на новой матери можно уже поставить правильные драйвера под дисковый контроллер новой материнки.

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

А если же такой возможности нет, т. е. мать сгорела начисто, и другой аналогичной нет в наличии, то существует другой рецепт.

Для его реализации потребуется загрузочный LiveCD с какой-нибудь из вариаций Windows. Я пользуюсь BartPE. И reg-файл, который пропишет в реест сведения о стандартном контроллере IDE.

Замечу, что в разные LiveCD включены разные редакторы реестра внешней системы. В сборку BartPE входит Avast! registry editor, «точка монтирования» реестра XP с винта будет зависеть от редактора.

Доставка синих ромашек в Москве (Antananarivo)

Т. е. в прилагаемом файле предполагается, что нужные для правки ключи реестра лежат здесь: HKEY_LOCAL_MACHINE\SYSTEM_ON_C\. Однако в разных редакторах реестра вместо SYSTEM_ON_C реестр системы с винта может импортироваться и в другие ключи. Поэтому прежде чем загружать этот файл и импортировать его в реестр, надо проверить, куда конкретно импортировася реестр системы. Возможно, потребуется исправить путь к ключам в файле ide.reg. Например, заменить SYSTEM_ON_C на строку SYSTEM_ON_HDD, только после этого можно импортировать reg-файл. Произвести правку reg-файла можно с помощью встроенного редактора в FAR, который тоже входит в указанную сборку BartPE.

После импортирования reg-файла остаётся дело за малым (гы-гы, придёт малый, и доделаем) - нужно переписать драйвера стандартного контроллера IDE в каталог system32. Вот эти файлы:

atapi.sys
intelide.sys
pciide.sys
pciidex.sys

Затем можно грузиться с винта, всё должно заработать.

Рецепт проверен, всё железно работает.

Материал подготовлен по мотивам курения форума http://forum.ru-board.com. Там также обсуждаются варианты переноса XP с материнки Intel на не-Intel и прочие извращения.

Как отвязать Windows 7, 8, 10 от оборудования Обновлено 03.04.2016

Бывает необходимо перенести рабочую ОС со всем установленным софтом на новое железо — то есть вынуть винт из старого компьютера и вставить в новый, но при этом чтобы ни чего не упало.

Если новая материнская плата другого сокета и другого производителя — обязательно будут траблы с синим экраном, чтобы его поборот — нужно загрузится с какой-либо реанимационной фиговины — ERD Commander, WinPE и так далее, суть лишь в том — чтобы добраться до системного реестра винды на винте. Обычно линукс для этого не подходит.

Первым делом необходимо удалить ветку реестра HKLM\SYSTEM\MountedDevices

После этого, нужно включить запуск сервисов, которые загружают стандартные драйвера контроллеров IDE и/или SATA.

Открываем ветку HKLM\SYSTEM\CurrentControlSet\services в левой части редактора реестра.

Смотрим и проверяем разделы в ветке: amdide, amdsata, amdxata, atapi, intelide, msahci, pciide.

Параметр Start у каждого должен быть равен 0х00000000 (0)

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

Все программы и данные на месте… все счастливы.

Внимание! Если у вас материнская плата на менее известном/распространенном чипсете - то вам стоит попробовать установить значение параметра Start равным 0 в сервисах:

adp94xx, adpahci, adpu320, aic78xx, amdsbs, arc, arcsas, elxstor, HpSAMD, iaStorV, iirsp, LSI_FC, LSI_SAS, LSI_SAS2, LSI_SCSI, megasas, MegaSR, nfrd960, nvraid, nvstor, ql2300, ql40xx, SiSRaid2, SiSRaid4, vhdmp, vsmraid, aliide, cmdide, nvraid, viaide.

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

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

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

В Acronis возможны два режима переноса системы – это ручной режим и автоматический режим.

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

В этом режиме вы перенесете все данные со старого диска (разделы, папки, файлы…) на новый диск. После замены старого жесткого диска на новый, новый жесткий диск станет загрузочным. Перемычка нового жесткого диска должна быть в положении Master.

Rencontres Du Film Court Antananarivo

Разница между новым и старым диском будет только одна, размеры разделов будут больше. Все остальное – операционная система, записанная на диск информация, метки диска и т. д. останутся неизменными.

В ручном режиме выполнить процедуру клонирования можно более гибко.

Вы сможете указать способ переноса разделов и данных:

Перенести разделы и данные как есть;
— распределить место между разделами на новом диске;
-сохранить разделы и (данные!) на старом жестком диске;
-удалить информацию со старого жесткого диска;
-создать на старом диске новую структуру разделов (данные на нем будут утеряны).

Имейте в виду, если во время переноса данных пропадет напряжение сети, то процедура переноса данных не будет завершена. Новый жесткий диск можно будет использовать только после успешного повторного клонирования. Данные на старом жестком диске не будут потеряны, так как до окончания переноса данных Acronis не выполняет с этим диском никаких действий, кроме считывания.

Перенос системы в автоматическом режиме.

Запускаем программу. Выбираем категорию «Дисковые утилиты».

В новом окне выбираем «Клонировать жесткий диск».

Появится «Мастер клонирования дисков».

Выбираем режим клонирования «Автоматический». Нажимаем «Далее».

Если целевой диск содержит разделы, ставим переключатель «Удалить все разделы на целевом диске» и нажимаем «Далее». На этом этапе программа создает план клонирования и не выполняет никаких реальных действий. В новом окне вы увидите информацию об исходном жестком диске и какую структуру будет иметь новый жесткий диск.

Итоговое окно клонирования.

Прежде чем «Приступить», вы можете воспользоваться кнопкой «Назад», чтобы вернуться к предыдущим окнам и внести необходимые изменения. Для отмены процедуры и выхода в главное окно программы — кнопка «Отмена».

От себя добавлю, что перенести систему можно также через создание образа системного диска или всего жесткого диска на исходном жестком диске, а затем через функцию «Восстановление» восстановить на новом жестком диске, предварительно подключив его в компьютер. Однако, имейте в виду, что функция «Восстановление» не умеет создавать разделы. Это значит, что разделы на целевом диске, предназначенные для размещения данных из резервной копии, необходимо предварительно создать. Для создания разделов можно применить другой продукт компании Acronis — Acronis Disk Director Suite 10.

Иногда случается так, что необходимо поменять старое отжившее железо на новое. Обычно проблем с этим не возникает, старое снял — новое поставил, за исключением замены материнской платы . С ней все так просто не получается. Если мы просто заменим плату, то при загрузке, где то в районе мерцающих флажков, увидим всеми «любимый» синий экран (BSOD) с ошибкой STOP 0x0000007B.

Как мы уже знаем, на есть чипсет и контроллеры которым устанавливаются собственные драйвера, при замене, драйвера в операционной системе остаются старые, а вот чипсет и контроллеры меняются, в итоге запуск становится не возможен. Обычно проблема появляется из-за смены контроллера шины ATA/SATA, Windows не может самостоятельно поменять драйвер контроллера во время загрузки и теряет жесткий диск, запуск становится не возможен.

Хочу сразу оговориться, проблема возникает не в 100% случаев. При замене в пределах одного сокета , чипсета большая вероятность запуска системы без появления синего экрана (BSOD) с ошибкой STOP 0x0000007B.
Собственно на этом теория заканчивается и возникает извечный вопрос: «Что делать?». Скажу не томя, есть два варианта решения данной проблемы, простой и посложней (вариант с переустановкой ОС, даже не рассматриваем).

Вариант 1.

Перед переносом нашего HDD с установленой Windows 7 на новое железо, необходимо воспользоваться штатной утилитой sysprep.

Нажимаем «Пуск», в строке поиска (она в самом низу) набираем CMD , в найденных программах (обычно самая первая) наводим курсор и нажимаем правую кнопку мыши и запустить от имени администратора, подтверждаем запуск. Набираем: C :\ Windows \ system 32\ sysprep \ sysprep . exe и нажимаем Enter (можно просто дойти до файла по этому адресу и запустить двойным кликом левой кнопки мыши).

Запускается Программа подготовки системы 3.14 которая откатывает Windows до состояния первого входа в систему, к тому моменту, когда операционная система не была привязана к оборудованию, путем удаления драйверов устройств.

После завершения работы программы заменяем материнскую плату и прочее «железо», и запускаем компьютер. Начинается процесс, происходящий на финальном этапе установки ОС Windows. Необходимо ввести имя пользователя (не должно совпадать с прежним, т.к. та учетная запись уже есть в системе) и имя компьютера и завершить установку. Перезагружаем компьютер (или выходим через завершение сеанса) и авторизуемся под своей учетной записью (на экране приветствия будет как новая, так и старая). После входа удаляем созданную учетную запись и ее профиль. Теперь остается установить новые драйвера и на этом перенос окончен.

Однако у данного метода есть недостаток, активация Windows и большинства софта слетает, так что нужно будет активировать все заново

Данный вариант очень прост и рассматривался в сжатом виде. Спросите почему в сжатом? Все просто, мы же не ищем легких путей! У меня обычно бывает так: Сначала меняю железо, потом соображаю, что ОС запускаться не хочет (по этому Вариант 1 описан с теоретической точки зрения основываясь на базе знания windows) и начинается поиск решения (не пересобирать же обратно железо). Как раз для таких как я есть вариант два, на нем остановимся подробней.

Вариант 2.

Он то же не сложен, хотя манипуляций потребуется несколько больше. Старое железо отвяжем путем прямой правки реестра. Но обо всем по порядку:

  1. Нам потребуется образ Windows PE (среда предустановки Windows, использующаяся для подготовки к установке операционных систем Windows), либо образ ОС (ее то же называют Windows PE , хотя это уже не просто среда для подготовки, а практически полноценная ОС) не привязанная ни к какому железу установленные на флешку или USB HDD. Все это можно найти на просторах сети.
  2. Загружаемся и если это «полноценная» ОС загружаемся и запускаем редактор реестра (он обычно присутствует), выбираем нашу ОС и подключаемся к ней. Если загружаемся с Windows PE , то выбираем восстановление системы и выбираем пункт выбираем пункт Microsoft Diagnostics and Recovery Toolset .
  3. Запускаем редактор реестра .
  4. Сначала удаляем ветку реестра HKLM\SYSTEM\MountedDevices
  5. Далее включаем запуск сервисов, загружающих стандартные драйвера контроллеров IDE иSATA. Для этого раскрываем ветку HKLM\SYSTEM\CurrentControlSet\services заходим в раздел amdide . Находим параметр Start и выставляем его значение 0х00000000 (0) , если оно иное (Start=0 — запуск сервиса при загрузке Windows) Для этого дважды кликаем на имени параметра Start и заменяем значение на 0 (ноль) и жмем ОК . Так же поступаем в разделах: amdsata, amdxata, atapi, intelide, msahci, pciide
  6. После окончания правки закрываем редактор реестра, перезагружаем компьютер в нормальном режиме и устанавливаем драйвера.
В принципе для запуска этого достаточно и у меня дополнительной правки не требовалось, но в случае если это не помогло загружаемся еще раз и правим параметр Start в следующих сервисах: adp94xx, adpahci, adpu320, aic78xx, amdsbs, arc, arcsas, elxstor, HpSAMD, iaStorV, iirsp, LSI_FC, LSI_SAS, LSI_SAS2, LSI_SCSI, megasas, MegaSR, nfrd960, nvraid, nvstor, ql2300, ql40xx, SiSRaid2, SiSRaid4, vhdmp, vsmraid, aliide, cmdide, nvraid, viaide.
Доброго времени суток, товарищи крякеры!
Давненько я не писал статей о взломе... Но вот, время пришло!)

Сегодня я расскажу вам о довольно таки универсальном способе отвязки программ от железа. Единственное условие, без которого ничего не выйдет: У вас должен быть правильный ключ, привязанный к какому-то чужому 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 ):



Рекомендуем почитать

Наверх