![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 01.06.2009
Сообщений: 1
|
![]()
Хм... Тему я наверное не совсем правильно назвал, но... Вообщем у меня возник вопрос:
Есть программка, состоящая из одного exe файла. Например Project1.exe. Состоит из одной формы, на ней один edit1 и одна кнопка. В процедуре создания формы прописано, что в edit вписываеться текст, хранящейся в переменной text1, определенной в этой процедуре. Можно ли сделать так, что при нажатии на кнопку, значение переменной text1 заменялось тем текстом, который сейчас в edit1. Т.е. не просто в памяти но и в самом файле, чтобы при новом запуске Project1.exe в edit1 вписывалось это новое значение text1, а не то которое я присвоил ей, когда писал программу. Можно ли сделать так не импользуя вспомогательные файлы (программка должна состоять только из одного файла Project1.exe) и реестр? И главное как? Заранее спасибо. |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
![]()
нет. Windows не позволяет этого делать. Разве что может DLL внутрь зашить, потом вызвать выйти из программы, она отработает и тоже самозавершится, может только как то так.
Цитата:
((или где там можно без проблем издеваться над exe. )) Вопрос в том как. И с трудозатратами<неделя.
Don't worry be happy
Последний раз редактировалось Izhic; 01.06.2009 в 20:49. |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]()
Сделать можно, но сложно :-)
Сообщение и правда содержательное /;-), но это значит, что ответить на подобный вопрос кратко не получится. Если интерес имеется предлогаю поискать инфу по темам по темам: "маппинг", "инжект", "прообразование данные <-> код". Последний раз редактировалось BaronTreep; 01.06.2009 в 20:55. |
![]() |
![]() |
![]() |
#4 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Мда, сказать мало чего могу.
Для записи в память WriteProcessMemory - да Windows уж ну никак не позволяет :D На счет файла, в файле эта переменная прописана по определенному адресу, можно открыть в IDA найти эту строку - узнать смещение. И потом открывать как бинарный файл и писать по тому смещению новое значение. Но соотвественно есть ограничения, например чтобы записать больше (длинее строку) чем та которая там же есть при компиляции. Вообщем есть много всякий мелочей, все зависит от более конкретной задачи. |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]() Цитата:
Вообще у виндовс относительно разной памяти есть флаги разрешения чтения/записи. Ещё есть функция, добавляющая процессу разные привелегии. Можно поставить программе привелегии отладчика, и тогда можно будет читать/писать все что угодно! Ведь так и работают отладчики, в том же Дельфи есть утилита Watch - можно поставить часики на ЛЮБУЮ переменную программы под отладкой и видеть её значение во время выполнения. |
|
![]() |
![]() |
![]() |
#6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Посмотри здесь, http://programmersforum.ru/showthrea...t=40394&page=2 там программа создаёт свою копию во временной папке и изменяет её, а при закрытии заменяет себя той копией с другими данными.
пыщь
|
![]() |
![]() |
![]() |
#7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Во-первых: Зачем такая головомойка?
Во-вторых: уж если "замужЬ невтерпежЬ" попробуй функциями работы с ресурсами... Но все равно эт бессмыслица.
I'm learning to live...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменение текста в exe-шнике | Иллидан | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 25 | 27.02.2010 15:59 |
изменение нескольких переменных в одном методе. | goog | Общие вопросы по Java, Java SE, Kotlin | 5 | 01.03.2009 20:46 |
Изменение упакованного exe | Marsik | Софт | 5 | 28.01.2008 10:30 |
Изменение .exe | Kukkk | Общие вопросы Delphi | 3 | 19.09.2007 11:52 |