Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2010, 14:25   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию На счёт структуры EXE файла

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

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

За одно я бы и разобрался бы со структурой EXE.

Может кто-то занимался уже подобным или знает пару статей, где об этом можно прочитать.
Altera вне форума Ответить с цитированием
Старый 21.04.2010, 14:31   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Попробуй определить в программе строковые данные (например, "Token Text") нужного размера (например, 12 символов для 3-х int-ов), а потом найди в exe этот текст. Только позаботься, чтобы оптимизатор не заоптимизировал к чертям эти данные.
ds.Dante вне форума Ответить с цитированием
Старый 21.04.2010, 14:40   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ds.Dante
Это не выход
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2010, 14:41   #4
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от ds.Dante Посмотреть сообщение
Попробуй определить в программе строковые данные (например, "Token Text") нужного размера (например, 12 символов для 3-х int-ов), а потом найди в exe этот текст. Только позаботься, чтобы оптимизатор не заоптимизировал к чертям эти данные.
Нет, так не получается (
Altera вне форума Ответить с цитированием
Старый 21.04.2010, 14:58   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Altera,
не знаю, насколько этично то, что Вы делаете... ;(

но, по сути вопроса.
Посмотрите вот здесь в теме на форуме - Добавление в .exe
мои посты #7 и #9 (пример прилагается)...


p.s. по сути реализация того же подхода, что предложил ds.Dante...

Последний раз редактировалось Serge_Bliznykov; 21.04.2010 в 15:00.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.04.2010, 16:01   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

http://programmersforum.ru/showpost....51&postcount=7
пыщь
JTG вне форума Ответить с цитированием
Старый 22.04.2010, 09:16   #7
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Это то хорошо, адрес переменой и так узнать можно, но а вдруг, в процессе разработки программы адрес будет меняться? Мне бы хотелось поместить переменную в свой раздел, ну скажем ".myCustomPartition"
Altera вне форума Ответить с цитированием
Старый 22.04.2010, 12:48   #8
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Тогда не морочь голову и дописывайся в конец файла, чем не "myCustomPartition"? Или пиши на FASM, там можно секциями как угодно рулить, в первую засунуть весь конфиг.
пыщь

Последний раз редактировалось JTG; 22.04.2010 в 12:50.
JTG вне форума Ответить с цитированием
Старый 23.04.2010, 09:29   #9
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Да, наверное так проще всего, хорошо было бы если бы исполняемый файл сам себя мог открыть для записи... Может это реализуеться как-то?

Ещё раздражает то, что что-бы установить указатель на структуру (настроек) в конце файла, нужно узнавать его размер путем открытия самого себя.
Может есть функция, подавляет узнать размер образа модуля, который загружен в адресное пространство процесса?
Altera вне форума Ответить с цитированием
Старый 23.04.2010, 19:23   #10
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Да, наверное так проще всего, хорошо было бы если бы исполняемый файл сам себя мог открыть для записи... Может это реализуеться как-то?
Например если записывать данные в ресурсы исполняемого файла типа RCData?
подпись
liljon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка - Выгрузка структуры из dat файла delphinewerklin Общие вопросы Delphi 4 07.02.2010 20:00
сохранение/чтение структуры с файла Vorname Общие вопросы C/C++ 4 10.11.2009 17:59
Запись структуры и чтение из файла [MI_nor] Общие вопросы C/C++ 6 08.04.2009 15:52
чтение из одного exe файла, и запись в другой exe inndim Общие вопросы Delphi 2 04.02.2009 15:23
Чтение структуры файла SDK Помощь студентам 4 23.01.2008 19:30