![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Hedrox |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.1.2005 Репутация: нет Всего: нет |
Люди кто знает как в делфи можно поменять в файле пару байт по указанному
адресу, мне нужно поменять je на jne или jnz. Дело в том что есть одна программа которая требует 39 у.е. за регистрацию, ну, вручную я её сломал, теперь же и патч для народа сделать нужно. Помогите пожалуйста. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Эх, где мои 15 лет...
Допустим, что нужный нам байтик располагается в файле по адресу 5E4. Тогда:
$74 = je $75 = jne |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Можно гораздо проще - надо воспользоваться специальными программами для создания патчей.
Я например пользуюсь CodeFusion Wizard который можно взять здесь -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Hedrox |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.1.2005 Репутация: нет Всего: нет |
Та не, своими руками приятней Добавлено @ 20:45 2Showy, благодарю |
|||
|
||||
| Hedrox |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.1.2005 Репутация: нет Всего: нет |
2Snowy:
Не тут то было =(. Вылезает исключение "... raised exception class EInOutError with message 'Read beyond end of file'... Чё тут не так? Код вставлял такой же как ты и написал. Останавливается на Read(f,b); Буду благодарен если для каждой строчки напишеш комментарий, особенно интересно {$R-} и {$R+} З.Ы. Делфи - 6, винда - 2003 enterprise |
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Бывает
Попытка чтения за концом файла. Просто ты наверное сделал Seek на позицию превышающую размер твоего файла. -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| Hedrox |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.1.2005 Репутация: нет Всего: нет |
Я ж говорю, останавливается на Read(f,b), до Seek даже не доходит
|
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Перенесено из раздела Дельфи
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Hedrox |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.1.2005 Репутация: нет Всего: нет |
Решил попробовать хоть с помощью CodeFusion.
Выбираю Find & Replace, выбираю адрес (00422194), данные для поиска - 74 05 (je) данные для замены 75 05 (jnz), создаю екзешник, а вот файл не патчится, File was NOT patched! [0 bytes written]. В чём проблема? Адрес узнавал с помощью OllyDebuger. |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Дык своими руками же приятней? -------------------- |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Есть уже готовая тема "Updater & UpdateMaker " от Владимира Кладова
(естесно с исходниками делфи) найти можно тут http://bonanzas.rinet.ru |
|||
|
||||
| Hedrox |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.1.2005 Репутация: нет Всего: нет |
Дык своими руками же приятней? $ля З.Ы. Спасибо, твой ответ мне очень помог Это сообщение отредактировал(а) Alex - 12.3.2005, 14:40 |
||||
|
|||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Интересно, это как же можно остановиться на Read(f,b); что бы при этом до Seek не доходило? -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| Hedrox |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.1.2005 Репутация: нет Всего: нет |
Мдя, запарился, я выяснил что так происходит потому что я указываю виртуальный адрес, а нужно адрес в файле, буду разбираться, спасибо всем кто помог.
|
|||
|
||||
| Hedrox |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.1.2005 Репутация: нет Всего: нет |
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |