Пропатчить программу что это

Как пользоваться keygen, crack, patch

Ни для кого не секрет, что в нашей стране 90% установленных программ на компьютерах не являются лицензионными. Программы уже взломаны, но чтобы их установить требуются некоторые навыки. В статье рассмотрены самые распространенные способы установки пиратских программ. Как пользоваться keygen? Как пользоваться crack?

Что такое request code? Как пользоваться patch?

1. Инструкция по установке в текстовом файле

Первое, на что надо обратить внимание, есть ли в этой папке файл «readme.txt» или «прочти меня.txt» (могут быть и другие названия). Очень часто в нем написана инструкция по правильной установке программы. Если файл с инструкцией есть, то, смело, открываем его и следуем инструкции. Если файла нет, то ситуация немного усложняется.

2. Серийный номер в текстовом файле

Для подтверждения прав на программу иногда требуется серийный номер. Имея его, вы сможете установить программу бесплатно.

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

Как определить FAKE ПАТЧ STONE ISLAND в 2017 году? || Обзор на оригинальный патч !

рис.1 Запрос на ввод серийного номера

Пример серийного номера: ADE-R119-F196-k9BA-17CD

В папке с программой (в той же папке что и установочный файл) может находиться файл с серийным номером. Чаще всего он называется «Серийный номер», «Serial number», «Ключ», «key», «crack». Открываем этот файл, копируем серийный номер и вставляем его в нужное место.

  1. Начать установку программы, пока не потребует серийный номер
  2. Открыть текстовый файл, скопировать серийный номер (Cntr+C)
  3. Вставить его в то место, где требуется (Cntr+V)
  4. Все

3. Как пользоваться keygen

В папке с программой может находиться файл-программа (keygen, crack, . ).

Вот пример такой программы, если ее запустить (рис.2):

рис.2 Генератор серийных номеров

Нажимаем на кнопку «Generate» (рис.3)

рис.3 Генератор серийных номеров с ключом

Копируем серийный номер, вставляем в нужное место и все готово. Продолжаем установку, либо нажимаем «Ок» (возможно «Готово», «далее» . ), если установка уже завершена.

  1. Начать установку программы, пока не потребует серийный номер
  2. Открыть файл Keygen
  3. Сгенерировать серийный номер и скопировать (Cntr+С)
  4. Вставить его в то место, где требуется (Cntr+V)
  5. Все

4.Получение доступа при помощи «Request code»

Еще один вариант. Во время установки программы или после запуска установленной программы, на экране появляется окно с регистрацией. В папке с установочным файлом должен быть keygen.exe, crack.exe или что-то еще.
Пример окна регистрации (рис.4):

рис.4 Начало регистрации с «Request code»

Иногда нужно выбрать режим регистрации, например, выбрать «ввести серийный номер». На экране появляется окно для ввода серийного номера. (рис.5)

Как написать #patch для исполняемого файла

В данном случае:
— Get an activation code – получить код активации
— Enter an activation code – ввести код активации (нужный нам вариант)

рис.5 Запрос кода авторизации

Открываем из папки с установкой программы файл keygen.exe (crack.exe, . ) (рис.6).

рис.6 Генератор кода авторизации

Теперь нам нужно скопировать «Request code» из окна на рис.4 (рис.5) и вставить в окно на рис.6. Выделяем Request code и нажимаем Cntr+C (горячая клавиша копировать).
Вставляем в последнее окно скопированный код (Cntr+V).

Обратите внимание.
Код скопировался не полностью, а только первая строчка. Вторую строчку кода нужно скопировать отдельно, в окне на рис.6 нужно поставить пробел, скопировать и вставить оставшуюся часть «Request code». Должно получиться так (рис.7):

рис.7 Генератор после вставления «Request code»

После этого в программе на рис.7 нажимаем кнопку «Calculate» (иногда называется Generate). Должно получиться так (рис.8):

рис.8 Полученный код авторизации

Копируем «Auth code» из программы рис.7 в окно на рис.5 и получаем так (рис.9):

рис.9 Вставляем код авторизации

Нажимаем Next или Ok. Нам должны сообщить, что регистрация прошла успешно. Теперь программой можно пользоваться бесплатно.

Такая ситуация встречается довольно часто. Главное не забывайте, что Request code состоит из двух строчек.

  1. Установить программу
  2. Запустить программу
  3. Выбрать режим ввода серийного номера (Enter …)
  4. Открыть keygen
  5. Скопировать «Request code» из программы в «keygen» (обе строчки)
  6. В «keygen» нажать кнопку сгенерировать
  7. Скопировать код, полученный в «keygen»
  8. Вставить его в требуемое место в программе (Cntr+V)
  9. Нажать готово
  10. Все

5. Как пользоваться patch

Иногда для бесплатной установки программы нельзя просто сгенерировать серийный номер. В таких случаях используют специальные программы, которые изменяют файлы так, чтобы программа не требовала денег. В папке с установщиком программы должен находиться файл «Patch» (он может называться — patch, keygen, crack, . ). Это и есть программа, которую еще называют патч.

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

Дальше, надо переписать patch (или другой файл-патч) в папку, в которую мы установили программу. Скорее всего это диск С, папка Program files, папка с название программы (C:/Program files/«название программы»).

Дальше открываем файл patch (или другой файл-патч)

Вот пример файла patch.exe (рис.10):

рис.10 Программа-патч

Чаще всего в этом файле только одна кнопка. В данном случае это кнопка Apply patch. В некоторых случаях она может называться Crack. Нажимаем на эту кнопку и программой можно пользоваться бесплатно.

  1. Установить программу
  2. Скопировать Patch.exe в папку, куда установили программу
  3. Открыть Patch.exe
  4. Нажать единственную кнопку в программе «Patch»
  5. Запустить программу
  6. Все

6. Файлы, для установки программы бесплатно, отсутствуют

Может быть и такое, что программу вы скачали без пиратского «лекарства». То есть, без готовых серийных номеров, кейгенов или патчей. Тогда задача усложняется. Лучше конечно скачивать программы с готовыми «лекарствами». Но что если все-таки такая проблема встала?

Оригинал записи и комментарии на LiveInternet.ru

Источник: svostoka.livejournal.com

Патчинг

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

Например, можно пропатчить IE (Internet Explorer) так, чтобы он постепенно загружал из Интернета остальные части руткита, как только пользователь подключится к Интернету. Даже если на компьютере установлен брандмауэр, он не запретит действия Internet Explorer, поскольку будет «думать», что эти файлы скачивает сам пользователь.

Пользователь же ничего не заметит, поскольку остальные функции браузера будут работать как обычно: он сможет просматривать Web-страницы, заходить на FTP и т. п. В некоторых случаях, если программа пропатчена неправильно, пользователь может догадаться, что происходит, по заметному «торможению» браузера или по ошибкам при запуске и завершении работы. Также патчинг может использоваться для изменения существующих функций программы. Очень часто патчи используются для удаления защиты программы или же получения каких-либо дополнительных возможностей. Например, если при запуске программа проверяет, зарегистрирована она или нет, можно пропатчить ее так, чтобы функция, отвечающая за проверку, всегда возвращала «наверх» положительный результат.

Читайте также:
Заблокированные программы что это такое простыми

С патчингом можно бороться. Нужно установить на компьютер программу-ревизор. Ревизор вычислит CRC (контрольную сумму) всех файлов (точнее, всех системно-важных: если контролировать вообще все файлы, то системных ресурсов может не хватить) на жестком диске и запишет ее в свою базу данных. Даже если изменить один байт файла, изменится его контрольная сумма.

Ревизор может постоянно находиться в памяти и контролировать содержимое системно-важных каталогов. Как только какая-то программа хочет модифицировать системный файл (как правило, это файлы из каталогов %WINDIR% и всех его подкаталогов, а также файлы каталогов Program Files на всех дисках), ревизор блокирует эту программу и спрашивает у вас, что делать дальше.

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

Важно, чтобы ревизор был установлен на исходно «чистую» систему. Если в системе уже были пропатченные файлы, ревизор будет считать, что с ними все в порядке. Тогда пользы от него будет немного. В Windows есть свой штатный ревизор — служба защиты файлов и каталогов, но вредоносная программа знает о нем и может отключить, если получит привилегии администратора. Поэтому рекомендуется дополнительно установить посторонний ревизор, который программа-патчер не сможет обнаружить и отключить. руткит злоумышленник вредоносный вирус

Источник: studwood.net

Пропатчить программу что это

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Необходимо обновить браузер или попробовать использовать другой.

Теоретические основы крэкинга: Глава 12. Патчить или не патчить?

Дата публикации 27 июн 2005

Теоретические основы крэкинга: Глава 12. Патчить или не патчить? — Архив WASM.RU

  1. Использование пространства между процедурами или массивами. Во многих компиляторах для повышения быстродействия по умолчанию включены опции выравнивания начала процедур и массивов. К примеру, если процедуры выровнены по границам 16-байтных областей, Вы можете обнаружить до 15 байт свободного места перед или после каждой процедуры. Найти такие промежутки несложно — они инициализированы последовательностью одинаковых байт, обычно с кодом 0 или 90h (этому коду соответствует команда nop), реже — 0ССh (команда int3) или 0FFh. В такую область вполне возможно вписать пару-тройку команд для загрузки данных в регистры или изменения значения переменной. Поскольку процедуры встречаются достаточно часто, передать управление на такой блок и затем вернуться обратно, скорее всего, получится при помощи двухбайтного варианта команды jmp, что сведет к минимуму расход памяти на переходы туда-обратно. Кроме того, при помощи все тех же двухбайтных переходов можно связать воедино несколько таких свободных кусков и таким образом увеличить количество команд. Недостатки этого метода: без ухищрений невозможно вписать в программу достаточно длинную последовательность команд; связывать вручную свободные куски довольно неудобно; нет никакой гарантии, что поблизости окажется достаточно длинный кусок свободной памяти; при включенной оптимизации по размеру компилятор может размещать процедуры вплотную, что сделает данный метод неприменимым. Кроме того, практически невозможен вызов функции, не импортируемой явным образом: Вам просто надоест вручную сооружать «обвязку» для вызова GetProcAddress, параллельно размазывая ее по щелям между процедурами.
  2. Использование места, высвободившегося после «вывода из обращения» защитных процедур или ненужных тестовых строк. В процессе взлома в программах нередко обнаруживаются «лишние» защитные процедуры, которые крэкеру приходится просто отключать, а также всевозможные надписи, предлагающие обменять некоторую сумму денежных единиц на серийный номер или ключевой файл. При необходимости память, занимаемая этими процедурами и надписями, может быть использована для размещения небольших блоков кода. Возможен и другой вариант использования этого метода — исключить из программы какую-нибудь функцию, которая Вам заведомо не понадобится, а на занимаемое ей место поместить собственный код. Кроме того, есть смысл исследовать подфункции вызываемой функции: некоторые из них могут использоваться исключительно внутри удаляемой функции, и потому тоже могут послужить источником дополнительных байтов. Недостатки метода: не всегда возможно получить достаточный объем памяти; нужна крайняя аккуратность при переписывании команд, содержащих явное указание адреса в памяти. Метод в принципе неприменим, если Вы используете крэкинг «в мирных целях», то есть Ваши задачи предполагают не выламывание из программы защитных процедур, а только лишь усовершенствование программы за счет добавления в нее собственного кода.
  3. Размещение кода в неиспользуемых областях в концах секций. Программисты на ассемблере под Win32 наверняка хорошо знакомы со следующим эффектом: при добавлении в программу новых строк ее размер до поры-до времени не меняется, а потом вдруг скачкообразно увеличивается на полкилобайта, а то и больше (конкретное число зависит от настроек линковщика). Причина этого эффекта в том, что код и данные в программах под Win32 (да и не только под Win32) расположены внутри исполняемого файла в секциях, и размеры этих секций должны быть кратны определенному (и довольно большому) числу байт. Нередки ситуации, когда реальный размер кода программы или ее инициализированных данных на несколько десятков, а то и сотен байт меньше, чем размер выделенной для этого кода секции, и кусок памяти в «хвосте» секции ничем полезным не занят. А если в программе есть «лишние» байты, то почему бы не использовать их для своих целей? Недостатки метода: объем неиспользованного пространства в конце секции совершенно непредсказуем и может колебаться от нуля до нескольких килобайт; следует быть крайне осторожным при записи данных в конец секции инициализированных данных, чтобы случайно не испортить эти самые данные: к примеру, свободное место и длинный массив байтов, инициализированный нулями, внешне выглядят совершенно одинаково.
  4. Расширение существующих секций или создание новых. При таком подходе в принципе невозможно случайно разрушить полезные данные — весь Ваш код будет размещаться в областях, которых в непатченой программе даже не существовало. Более того, таким способом можно внедрить собственный код даже в упакованную программу, если распаковщик не содержит специальных средств для контроля целостности исходного файла (в этом случае лучше создать отдельную секцию и размещать свой код в ней). Размер внедряемого кода при использовании этого метода ограничен разве что здравым смыслом и объемом памяти ЭВМ. Основной недостаток заключается в том, что создание или расширение секций предполагает модификацию PE-заголовка и изменение размеров файла, из-за чего антивирусные программы могут не слишком благосклонно отнестись к таким переменам. Кроме того, поскольку размер файла изменяется за счет вставок в середину, возможны проблемы с созданием исполняемых файлов, выполняющих автоматический патчинг (такие файлы в просторечии называются «крэками»). Большинство утилит, создающих такие файлы, ограничивается побайтным сравнением с оригиналом и потому «не переваривают» вставку даже одного-единственного байта в середину программы. Кроме того, если Вам потребуется вызвать функцию API, которая отсутствует в таблице импорта, Вам придется либо править эту таблицу, либо получать адрес функции при помощи вызова GetProcAddress, что не слишком удобно. Этот недостаток в полной свойственен и трем предыдущим стратегиям патчинга, причем в еще большей мере — по причине ограниченного объема памяти, который эти стратегии позволяют получить. Кроме того, операции по расширению и вставке секций технически очень сложно выполнить в памяти над загруженной программой, поскольку это требует очень глубоких знаний системы и весьма значительных трудозатрат, совершенно не адекватных получаемому результату.
  5. Подгрузка кода, размещенного во внешних модулях. Это наименее «жесткий» по отношению к модифицируемой программе метод внедрения кода. Идея метода заключается в том, чтобы вынести весь добавляемый в программу код во внешний модуль (если речь идет про Windows — то в DLL), а потом «попросить» программу загружать этот внешний модуль вместо одной из библиотек, например, исправив один-единственный байт в имени загружаемой DLL. «Подменная» DLL с нашим кодом вклинивается между программой и «настоящей» библиотекой, причем в функции инициализации DLL можно разместить что-нибудь полезное, например, код патчинга основного процесса. Более подробно методы внедрения модулей мы рассмотрим чуть позже, а пока отметим, что при использовании данного метода Вы получаете наиболее широкий выбор инструментария для написания внедряемого кода: от шестнадцатеричного редактора до самых современных RAD-средств (в отличие от предыдущих четырех стратегий, где Вашим основным инструментом будет ассемблер, встроенный внутрь редактора или отладчика). Главный недостаток заключается в необходимости держать этот самый внешний модуль рядом с программой, что не всегда удобно.
Читайте также:
Программа видеонаблюдения cms что это

FAddr: call ExitProcess ; Нужная нам функция
mov eax, dword ptr [FAddr+2] ; Читаем из памяти адрес функции
push 0 ; Помещаем на стек параметр вызова
call [eax] ; Вызываем «одалживаемую» функцию

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

Однако нужно понимать, что заимствование функций из программы или из несистемных DLL не вполне известного назначения — операция более опасная, чем использование импортированных функций документированных API. Дело в том, что работа функций API не привязана ни к каким переменным и функциям внутри программы (если, конечно, не считать callback-функции), а вот к функциям программы это в общем случае не относится.

Их работа может зависеть от состояния локальных или глобальных переменных, а также других объектов, созданных в процессе работы программы; более того — сами программные вызовы тоже вполне могут изменять состояние переменных, критически важных для работы программы. Поэтому если какой-либо объект в момент вызова окажется в «неправильном» состоянии, результат вызова будет совершенно непредсказуем.

Точно таким же образом никто не может гарантировать, что «несвоевременный» вызов не нарушит функционирование всей программы. Хотя, с другой стороны, встроенные процедуры, как правило, достаточно корректно обращаются с переменными и объектами, созданными программой. Так что если Вам вдруг понадобится форсировать загрузку какого-либо плагина, лучше попытаться это сделать это «родными» для программы средствами, и лишь если это у Вас не получится, прибегнуть к средствам API. В любом случае, при заимствовании из основной программы функций в качестве постоянного решения следует быть очень осторожным, хотя сам по себе этот метод нередко бывает полезен.

Патчинг позволяет решать и обратную задачу: «отклонение» вызовов из исследуемой программы на внедряемый крэкером код. Цели этой операции могут быть различными:

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

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

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

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

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

Все эти внедрения в чужой процесс, поиски переходников и прочее вполне способны повергнуть в шок начинающего. Это не страшно — даже если Вы никогда не напишете собственный API-шпион, знания о том, как они работают, вполне могут Вам пригодиться в дальнейшем. Как Вы уже догадались, написание приложений, перехватывающих системные вызовы — занятие далеко не самое простое и требующее определенных знаний и навыков. С другой стороны, большинство API-шпионов ограничиваются лишь ведением журнала системных вызовов и не позволяют активно вмешиваться в работу программы. Для начинающего крэкера, у которого есть желание перехватить какой-нибудь системный вызов, но нет опыта в системном программировании, это звучит как приговор. Но ведь так хочется иногда не только подсмотреть, откуда взялись те или иные параметры, но еще и поменять их «на лету», если они Вам чем-то не понравились…

Читайте также:
Изжога что это за программа

Я уже говорил, из любой безвыходной ситуации существует как минимум два выхода. Этот афоризм верен и в нашем случае, однако от Вас все же потребуются определенные навыки в программировании. Итак, наша задача — вклинить свой код между системной DLL и программой, которая ее вызывает.

Одна из первых идей, которые приходят в голову, заключается в том, чтобы вместо «родной» DLL подсунуть свою собственную, которая содержала бы функции с такими же именами, что и «настоящая». Эта библиотека должна помимо вызова «родных» функций из оригинальной библиотеки выполнять еще и те операции, которые Вы в нее заложите. А уж в собственной DLL Вы вольны запрограммировать все, что угодно — от сбора статистики вызовов до анализа и подмены параметров функций. Такой подход к перехвату вызовов из DLL, основанный на подмене оригинальных библиотек, называется DLL wrapping’ом. Чисто технически создание подменной DLL выполняется следующим образом:

PUBLIC MessageBoxA
IsLoaded dd FALSE
aMessageBoxA dd 0
huser32 dd 0
u32 db «e:WindowsSystem32user32.dll»,0
nMessageBoxA db «MessageBoxA»,0
DllEntry proc hInstance:HINSTANCE, reason:DWORD, reserved1:DWORD
mov eax,TRUE
DllEntry Endp
CheckAndImport proc
.if !IsLoaded
mov IsLoaded,TRUE
invoke LoadLibrary,ADDR u32
mov huser32,eax
invoke GetProcAddress,huser32,ADDR nMessageBoxA
mov aMessageBoxA,eax
CheckAndImport endp

MessageBoxA::
; Адрес метки MessageBoxA и прочих аналогичных нужно включить в таблицу экспорта
; при помощи директив
; LIBRARY user32
; EXPORTS MessageBoxA,
; помещенных в def-файл
invoke CheckAndImport
; Здесь Вы можете разместить код, исполняемый перед вызовом перехватываемой функции
; Например, поменять местами заголовок и текст сообщения,
; как это сделано ниже
mov eax,[esp+8]
xchg [esp+12],eax
xchg [esp+8],eax
mov eax, MessageBoxA_

Источник: wasm.in

Что такое патч?

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

Этот термин, вероятно, возник как команда Unix (patch), введенная Ларри Уоллом, чтобы облегчить обмен патчами исходного кода и обеспечить их быстрое, автоматическое применение к исходному коду.

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

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

Источник: dzen.ru

Патчинг EXE,DLL

12:26 19-02-2010 NGAGE13

В этой статье хочу рассказать как самостоятельно пропатчить exe или dll файл,чтобы не ждать когда это сделает для вас кто-то другой.
Автор-Я.Статья не открывает Америку,просто поможет новичкам освоить самостоятельный патчинг бинарных файлов.

Зачем нужен этот патчинг?
Отвечаю — с помощью RomPatcher можно пропатчить только файлы, которые находятся в роме, то есть при старте смартфона загружаются в ОЗУ. Файлы вне рома не доступны для патчинга ROMpatcheroм, их приходится модифицировать самостоятельно. Встречаются патчи, которые патчат файлы,которые на 9.1, 9.2 находятся в роме,а на 9.3 же эти файлы вне рома. Поэтому и появляется необходимость самостоятельно модифицировать нужные файлы.

Примеры таких патчей:
— CamTime (увеличение времени бездействия камеры);
— DisableActiveDivertsNote (выключение сообщения о переадресации);
— Disable Loudspeaker Note (выключение сообщений о включении громкой связи);
— ChangeSplashScreen (изменение сплеша перед ручками)

Возьмем для примера два патча: DisableLoudspeakerNoteи ChangeSplashScreen, на их основе разберем патчинг.

Вот текст патчей:

; *** Path: Disable Loudspeaker Note ***
; by CODeRUS
; in 0x7DA
SnR:sysbinphone.exe: 196D1000 : 00211000 .

Нас интересует последняя строка. В ней указан файл,который патчится и собственно что на что меняется.

Жирным цветом выделен файл который патчится.
Красным-искомое значение в файле.
Синим-то,на что нам нужно поменять искомое значение в файле.

Exe и Dll бывают двух видов:сжатые и разжатые. Патчить нужно только разжатые файлы.
На диске Z есть как сжатые, так и разжатые файлы.
Для Symbian есть 2 утилиты для сжатия/расжатия бинарных файлов: ZntxHAN и SyUpack, но они не всегда могут работать с бинарными файлами диска Z (не распаковывают и не запаковывают их).
Поэтому лучше использовать утилиту для ПК.
Находится она Здесь .
Здесь упрощалка к ней!!
Ей и проверяем запакован файл или нет.

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

Для начала нам нужно определить в роме файл или нет,ведь патч может не работать и потому,что просто не подходит для этого файла.
Узнать можно у создателя патча или самостоятельно.
Чтобы узнать самостоятельно нужно открыть расжатый файл в hex-редакторе (MobilHex, встроенный hex-редактор в X-Plore).
Если бинарный файл вне рома,то адресам 18, 19, 1A, 1B соответствуют байты 00000A00.

Тут нужно рассказать немного о структуре хекс-редактора и принципе редактирования.
В левой стороне в основном расположены начальные адреса строки байтов. По центру-сами байты. Справа-переведенный из байтов текст.
Нумерация адресов идет в шестнадцатиричной системе. Тоесть порядок нумерации такой:

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

Начинаем редактирование файла:

1. Копируем файл Z:/sys/bin/phone.exe в любую удобную директорию (у меня он был не сжат).

2. Открываем phone.exe в любом hex-редакторе

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

(со SplashScreen.exe и патчем поступаем тем же образом).

4. После замены сохраняем файл.

5. После перемещаем модифицированный файл в c:/sys/bin/.Также если это exe то нужно не забыть скопировать соответствующий ему ресурсный файлик(если он у него есть конечно) из Z:/resource/apps/ в соответствующую директорию на диске С, иначе будут вечные перезагрузки смартфона. Для phone.exe это phone.r16, а у splashscreen.exe ресурсного файлика нету (значит и копировать не чего).

6. После применяем и ставим в автозапуск домайн ромпатчера (RPDomainPlus) патч c2z4bin.

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

На этом все.
Удачи в патчинге.

Спасибо Molosar за помощь в написании статьи.Часть статии о редактировании сплэша его рук дело ))
Источник новости: dimonvideo.ru

Источник: dimonvideo.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru