|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.08.2012, 08:47 | #1 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 90
|
как дописать некий код в конец запущенного *.ехе файла?
Доброе время суток.
Есть вопрос, можно ли вообще и если можно, то, как дописать некий код в конец запущенного *.ехе файла? Поясню, запускаю *.ехе файл, программа считывает число в конце своего кода(число распологается после основного кода), отрабатывает свой код, в конце генерирует случайное число, перезаписывает в конец своего кода число, прекращает свою работу. Заранее спасибо.
как-то так
|
28.08.2012, 09:16 | #2 |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
А в чём проблема? AssignFile, Reset, Seek, BlockRead.
|
28.08.2012, 09:41 | #3 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 90
|
Нельзя таким образом открыть файл, открытый на исполнение
как-то так
|
28.08.2012, 10:19 | #4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Никак, минимум по трём причинам.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
28.08.2012, 18:41 | #5 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 90
|
но копию сделать можно же, значит лазейки есть, только вот какие...
как-то так
|
28.08.2012, 18:53 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А, стесняюсь спросить, зачем на горячую патчить?
Чего не пропатчить сам файл пока он не запущен?
I'm learning to live...
|
28.08.2012, 19:16 | #7 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 90
|
да нет, это не патч, это запись нескольких байт в конец кода программы, который на работу самой программы никак не влияет
эта процедура своего рода защиты файла
как-то так
|
28.08.2012, 19:23 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
копирование не изменяет исходный файл.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.08.2012, 19:38 | #9 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 90
|
верно, но и я не хочу его менять (вроде как ), но для того чтобы скопировать файл, его надо прочесть, значит существует способ снять запрет на модификацию кода. Ведь если я не ошибаюсь, после запуска программы, её код копируется в память и уже из памяти происходит его исполнение, значит можно безболезненно модифицировать сам файл, просто стоит какая-то защита... как снять ее
как-то так
|
28.08.2012, 19:50 | #10 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Цитата:
ваш вариант это скопировать самого себя и изменить у копии байты нужные. приложил файл с картой процесса оперы, чтоб было яснее. выделены, те самые "злые" страницы.. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 28.08.2012 в 19:54. |
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
конец программы в *.ехе | xrob | Общие вопросы Delphi | 18 | 26.05.2011 03:24 |
Как узнать путь запущенного exe файла (С# WPF) | Яр|/||< (^_^) | WPF, UWP, WinRT, XAML | 3 | 04.09.2010 16:37 |
Дописать в конец файла | Cdevelop | Общие вопросы C/C++ | 1 | 25.03.2009 21:39 |
Дописать в конец файла | Cdevelop | Общие вопросы C/C++ | 5 | 15.03.2009 16:46 |
Код ехе файла | Micha | Общие вопросы Delphi | 4 | 09.10.2007 18:06 |