Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Вниз

Сохранение настроек в EXE   Найти похожие ветки 

 
VaZa   (2004-01-11 17:11) [0]

Каким образом можно сохранить настройки в EXE?


 
dDaN   (2004-01-11 17:20) [1]

Испульзуй компоненты типа ExeMod или FileStorage поиши их на torry


 
VaZa   (2004-01-11 17:24) [2]

А без помощи компонентов можно?
BlockWrite/BlockRead - не работают


 
Mettalica2342   (2004-01-11 17:28) [3]

Удалено модератором


 
Mettalica1   (2004-01-11 17:29) [4]

Удалено модератором


 
Agent13   (2004-01-11 17:35) [5]

>Mettalica1 (11.01.04 17:29) [4]

Ну и неумно...

2 VaZa:

А оно тебе очень надо прямо в экзешник писать? Уж больно мороки много.


 
VaZa   (2004-01-11 17:38) [6]

Впринцыпе нет но очень желательно! Что-бы какой нибудь пользователь случайно не удалил файл настройки!


 
Piter   (2004-01-11 17:52) [7]

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

Что-бы какой нибудь пользователь случайно не удалил файл настройки!

а это его проблемы. Будет значит настраивать заново.

И вообще, можно хранить в реестре, там случайно вряд ли удалят


 
Agent13   (2004-01-11 18:05) [8]

>Что-бы какой нибудь пользователь случайно не удалил файл настройки!

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


 
SammIk   (2004-01-11 20:44) [9]

Ага, вирус пишешь)))


 
Adil Aliyev   (2004-01-11 20:48) [10]

Очень интересный вопрос... В Visual Basic это возможно.


 
alex_***   (2004-01-11 21:09) [11]

Чтоб обычный user не снес файл настроек, на него можно read only нацепить. и не надо будет извращениями заниматься.


 
K.o.Z   (2004-01-11 21:32) [12]

Согласин, что EXE - не место для настроек.
А в принципе можно ли, например, дописать в EXE-файл строку, а потом её считать? Чистый интерес.


 
VaZa   (2004-01-11 21:47) [13]

Это не вирус, но что то от трояна в нем есть! А вообще программа для работы, что бы информацию о компах в конторе собирать на один сервер!


 
raidan   (2004-01-11 21:55) [14]


> А в принципе можно ли, например, дописать в EXE-файл строку,
> а потом её считать? Чистый интерес

Легко.
Вири идентифицируют, кстати, файл на предмет заражения чаще всего по сигнатуре - именно считыванием exe-шника по определенному смещению.
Если файл не заражен, то записывают свое тело в exe.
По-разному бывает.
И проблем с чтением из EXE и записью в него нет никаких (если только он не запущен на исполнение) :)


 
raidan   (2004-01-11 21:56) [15]

Небольшое дополнение: главное - не затереть нужный код и/или данные.
Если нужно, то лучше всего дописывать инфу в конец файла.


 
Zew   (2004-01-11 22:01) [16]

http://www.yandex.ru/yandsearch?text=%C7%E0%EF%E8%F1%FC+%E2+EXE+&stype=www&holdreq=Delphi&rpt=rad


 
Piter   (2004-01-11 22:29) [17]

А в принципе можно ли, например, дописать в EXE-файл строку, а потом её считать? Чистый интерес

Нельзя. Если процесс запущен, то он не сможет модифицировать свой EXE, будь то на Дельфи, будь то на VB

А вот если ты хочешь писать в другой EXE... это совсем оригинально - хранить свои настройки в чужом EXE файле, например в WINLOGON.EXE :)


 
Vit@ly   (2004-01-11 23:20) [18]

Возвращайся (если застал/а) в DOS, там с этим нет проблеи


 
LinkFly   (2004-01-12 00:55) [19]

А почему бы не сделать так чтобы при окончании работы программа запускала другую программу (записанную на диск с помощью исходной программы), которая как только представится возможность перезаписала бы исходный exe-шник, потом его запустила бы и окончила работу. Далее программа с изменёнными настройками проверила бы наличие изменяющей программы и в случае её существования стёрла бы её с диска и закончила работу.
Ну как? По моему круто! Правда, только с теоретической точки зрения.:)) Сделай, если не слабо в машинных кодах копаться. :)

P.S. Много я бы отдал (и отдам :)) чтобы таким спецом быть :)


 
Makhanev A.S.   (2004-01-12 01:31) [20]


> VaZa (11.01.04 17:38) [6]
> Впринцыпе нет но очень желательно! Что-бы какой нибудь пользователь
> случайно не удалил файл настройки!

а как Вам вариант: "а если юзер случайно удалит сам exe-шник" ?
Если это следилка, то пихай все файлы куда-нить в $WinDir\System и т.п., где пользователь точно не ходит:)
Говорю это не с потолка.

Другой метод - скачай пару-тройку аналогичных программ. Посмотри, как они работают.. Насчёт сохранения в exe - это шутка наверное....Так не делают. Если (вдруг?) делают, прошу привести пример.

Кстати, Вы пробовали искать аналогичные рограммы, прежде чем писать свою?

Судя по характеру вопроса... очень советую поискать где-нить на download.com аналогичные программы категории spy-ware и т.п.
А то вдруг заново велосипед изобретать придётся...


 
Vi0let   (2004-01-12 03:50) [21]

я встречал справочник без базы т.е. только один ехешник, причем с возможностью добавлять записи...


 
Ivolg   (2004-01-12 13:23) [22]

Наверное в ini файле!А если юзер удалит то это будут его проблемы!


 
NightAngel   (2004-01-12 14:16) [23]

> VaZa (11.01.04 17:11)

; EBX=ring0 file handle, file may be opened in read-only mode
mov eax, [ebx+0Ch]
mov byte ptr [eax+0Ch], 42h


Всё это из Ring0. Под Win9x/ME это сделать просто, под NT платформы придётся извращаться. Можно попробовать запустить поток в другом процессе, с помощью CreateRemoteThread(), дождаться завершения процесса и уже потом записать в Exe"шник всё, что Вам нужно.

С ring3 дело обстоит сложнее: чтобы иметь шары нужен хендл нулевого кольца, а сгенерировать его из ring3-хендла не так-то просто (но можно). Есть ещё функция IFSMGR_Win32_Get_Ring0_Handle попробуйте её. Остаётся только решить в какое место в exe"шнике записывать информацию (можно писАть в заголовок файла, можно в межсекционное пространство, etc). Вариантов масса.


 
AbrosimovA   (2004-01-12 14:56) [24]


> И вообще, можно хранить в реестре, там случайно вряд ли
> удалят


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


 
LinkFly   (2004-01-12 21:30) [25]

Вот люди дают, а! Хоть бы сообщения почитали бы для порядка что ли!


 
Stilgar   (2004-01-12 21:52) [26]

Могу рекомендовать под 2000/XP переименовывать файл запущеной программы, писать в него, а потом переименовывать обратно. Обнаружено на прошлой неделе в "Потрепатся", авторства не помню.


 
YuRock   (2004-01-12 21:56) [27]

> Stilgar © (12.01.04 21:52) [26]

Интересно, как это "переименовывать файл запущеной программы"?


 
Stilgar   (2004-01-12 22:01) [28]

Если есть 2000/XP, советую попробывать, я тоже сразу не поверил.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.007 c
1-72747
Sagrer
2004-01-12 17:55
2004.01.23
Подскажите быстрый способ читать из файла и писать в него.


3-72661
_Yanchik
2003-12-25 19:31
2004.01.23
Кэширование Pasradox BDE


7-72964
*FoX*
2003-10-25 12:19
2004.01.23
Файлы


1-72753
Anton.
2004-01-13 16:43
2004.01.23
TGetExtentsFunc = function(Index: Longint): Integer of object;


3-72653
Vi0let
2003-12-26 08:52
2004.01.23
Как реализовать поиск в результате отбора TQuery





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский