Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись параметров в exe 
:(
    Опции темы
ecspertiza
Дата 23.6.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: нет
Всего: 5



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


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
EvilsInterrupt
Дата 23.6.2010, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 1
Всего: 9



ecspertiza, А куда тебе в него нужно  писать? Может в оверлей?
PM MAIL WWW ICQ Jabber   Вверх
ecspertiza
Дата 23.6.2010, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: нет
Всего: 5



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


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
EvilsInterrupt
Дата 23.6.2010, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 1
Всего: 9



ecspertiza, Просто задачи бывают разными! Бывает поменять логику работы ПО,т.е. поменять бинарный код и тут уже совсем другое! А бывает просто сохранить конфигурацию, т.к. не  хочется таскать файл-базуданных и тут уже лучше всего оверлей программы.

Оверлеем принято считать все что не попадает в виртуальное пространство запущенного приложения. На начальном этапе можете упростить себе понимание оверлея до следующего:

OverlayRaw = RvaToRaw(  ALLIGN_UP ( PE->OptionalHeader.SizeOfImage, PE->OptionalHeader.SectionAllignemnt )  );
OverlayLen  = FileLength  - OverlayRaw;

где:

PE -  это объект IMAGE_NT_HEADERS32
RvaToRaw - это функция конвертирования смещения используемого для адресации в виртуальном адресном пространстве в смещение используемое для адресации в файлвом пространстве

Рекомендуется сходить на rsdn.ru, wasm.ru на предмет устройства PE-формата
PM MAIL WWW ICQ Jabber   Вверх
Abyx
Дата 23.6.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 2
Всего: 10



EvilsInterrupt, ты бы лучше начал с того, что сделать это во время выполнения этого .exe - весьма сложно
PM MAIL   Вверх
ecspertiza
Дата 23.6.2010, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: нет
Всего: 5



Возможно и оверлея хватит, мне нужно просто при первом запуске записать значение даты и время, а потом просто его читать, насколько я понял те ф-ции которые ты скинул они для студии, а есть ли что то подобное в MinGW ?


Цитата(Abyx @  23.6.2010,  12:53 Найти цитируемый пост)
EvilsInterrupt, ты бы лучше начал с того, что сделать это во время выполнения этого .exe - весьма сложно 


это я понимаю, поэтому мог бы писать значение при инсталляции.

Это сообщение отредактировал(а) ecspertiza - 23.6.2010, 13:03


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
EvilsInterrupt
Дата 23.6.2010, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 1
Всего: 9



ecspertiza, Те функции что привел, поясняют чего тебе надо сделать, их можно  написать и самому! Более того,  каждый работающий с PE программно пишет каждый свою реализацию! И правильно! Потому что надо понимать что делаешь, это не простой формат
PM MAIL WWW ICQ Jabber   Вверх
Abyx
Дата 23.6.2010, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 2
Всего: 10



если надо писать при инсталляции - то проще писать в заголовок, например в стаб, 
по смещениям в файле (и в памяти) в интервале [0x4; 0x3C)
PM MAIL   Вверх
Alexeis
Дата 23.6.2010, 13:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 7
Всего: 459



  Это делать плохо по нескольким причинам.
1) Теряется поддержка различных пользователей.
2) Виста+ запрещает записывать, что-то в папку Program Files
3) Антивирус может принять за вирусоподобное действие.



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Abyx
Дата 23.6.2010, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 2
Всего: 10



Цитата(Alexeis @  23.6.2010,  13:22 Найти цитируемый пост)
1) Теряется поддержка различных пользователей.
2) Виста+ запрещает записывать, что-то в папку Program Files

1) если сохраняемые параметры одинаковы для всех юзеров - все ОК
2) в скрипте установки - не запрещает

Добавлено через 42 секунды
хотя при установке проще писать в реестр %)
PM MAIL   Вверх
ecspertiza
Дата 23.6.2010, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: нет
Всего: 5



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


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
borisbn
Дата 23.6.2010, 14:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 6
Всего: 135



Цитата(Alexeis @  23.6.2010,  13:22 Найти цитируемый пост)
2) Виста+ запрещает записывать, что-то в папку Program Files

Интересно, а функции доступа к ресурсам тоже запрещены ? Не "сырой" PE-формат а именно FindResource, UpdateResource и т.п.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Abyx
Дата 23.6.2010, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 2
Всего: 10



borisbn, на запись - запрещены
PM MAIL   Вверх
GremlinProg
Дата 23.6.2010, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(ecspertiza @  23.6.2010,  16:27 Найти цитируемый пост)
Раз так все непросто, может подскажете как лучше поступить

http://msdn.microsoft.com/ru-ru/library/9sh96ycy(VS.90).aspx
думаю, еще лучше не придумать


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
W4FhLF
Дата 23.6.2010, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 12
Всего: 121



GremlinProg, что-то там везде .NET. К обычным то файлам можно применить? 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.