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

Вниз

Как можно записать чтонить в экзешник   Найти похожие ветки 

 
_student   (2004-05-16 10:51) [0]

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


 
Mim1 ©   (2004-05-16 10:55) [1]

А это требование в тех задании указано?


 
_student   (2004-05-16 11:11) [2]

Да никаких требований нет. Ну так же её легче переносить на другие системы.


 
Mim1 ©   (2004-05-16 11:13) [3]

[2] _student   (16.05.04 11:11)

А!, ну понятно. :)


 
Mim1 ©   (2004-05-16 11:15) [4]

А вы хотите сохранять настройки в самой программе?


 
Mim1 ©   (2004-05-16 11:15) [5]

То есть внутри exe?


 
Mim1 ©   (2004-05-16 11:21) [6]

Вот смотрите даже если вым удасться это сделать как она будет запускаться с компакт диска?

И еще вопрос из раздела логики, почему с переносом программы должны переехать и ее настройки? Может логичнее "если файл настроек не наден то использовать значения по умолчанию" ?

А что касается записи в свой exe файл то такого сделать невозможно, во первых после запуска программа становися частью файла подкачки, во вторых файл программы блокируется. В третьих api функции writetomyexe нет и если вам удасться написать свою, такую то с вероятностью 90% она не будет работать на старшей/младшей операционной системе. Да и антивирус со своей эвристикой будет вас подозревать в недобном.

Опираясь на все выше сказанное, оно вам нада? :)


 
default ©   (2004-05-16 11:27) [7]

типа
asm
DD 0
DD 5
end;
потом WriteProcessMemory


 
_student   (2004-05-16 11:35) [8]


> default

Т.е. средствами Delphi сделать нельзя, только через asm.
Подкиньте работающий примерчик пожалуйста.


 
Anatoly Podgoretsky ©   (2004-05-16 11:40) [9]

_student   (16.05.04 11:11) [2]
А два файла также легко переносятся на другую машину и три тоже.


 
Anatoly Podgoretsky ©   (2004-05-16 11:42) [10]

И еще один вопрос, ты собираешься делать путем взлома системы, на WinXP запись в Program, Files пользователю запрещена.

Даже вирусы такого не делают, они пишут в ехе файоы, но в другме.


 
Gero ©   (2004-05-16 11:46) [11]


> _student   (16.05.04 10:51)

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


 
_student   (2004-05-16 12:02) [12]

Тут программисты есть, или я не туда попал.


 
Рамиль ©   (2004-05-16 12:38) [13]


> _student   (16.05.04 12:02) [12]

Определенно не туда.
Приведи пример такой программы, потом может кто нибудь и скажет как это сделать.


 
NikeOLD   (2004-05-16 12:47) [14]

Такое было возможно во времена DOS, к сожалению, остальное уже сказано.


 
default ©   (2004-05-16 13:14) [15]

народ, я не спец по ресурсам, через них нельзя сделать?
_student   (16.05.04 12:02) [12]
можно сделать так
в программе резервируется определённый объём данных
после её запуска делается копия приложения в той же папке с другим именем(писать в файл раб-его приложения нельзя)когда юзер через интерфейс твоей проги изменяет какие-то настройки ты пишешь эти изменения в копию файла(придётся найти место в файле с которого начинаются твои зарезервированные для настроек данные, придётся обратиться к формату PE)в твоей проге эти изменения  фиксируются тоже(чтобы юзер ничего не почуял) после завершения проги удаляешь её код("зациклинным" bat-файлом)
и им же(или из оригинального exe-ка если получится...)(bat-ом)
переименовываешь в имя оригинала
в следующий раз запустится уже ИЗМЕНЁННЫЙ exe-ик
изврат, но всё же решение


 
default ©   (2004-05-16 13:16) [16]

переименовываешь имя копии в имя оригинала


 
default ©   (2004-05-16 13:25) [17]

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


 
y-soft ©   (2004-05-16 13:38) [18]

>default ©   (16.05.04 13:14) [15]

При таком подходе некоторые программы контроля за безопасностью системы сойдут с ума, обнаружив, что некий exe часто изменяется :)

>_student   (16.05.04 12:02) [12]
Тут программисты есть, или я не туда попал.

Вот программисты Вам и объясняют, почему нельзя, а Вы как-то не воспринимаете...

Программа может динамически модифицировать память своего процесса, но не свой файл exe


 
Anatoly Podgoretsky ©   (2004-05-16 14:33) [19]

Два файла запрещено условием задачи!

_student   (16.05.04 12:02) [12]
Тут программисты есть, хакеры редкость, иногда заглядывают куль-хацкеры.


 
Anatoly Podgoretsky ©   (2004-05-16 14:34) [20]

_student   (16.05.04 12:02) [12]
На слабо брать не стоит, все таки здесь программисты, а не в песочнице.


 
default ©   (2004-05-16 14:58) [21]

Anatoly Podgoretsky ©   (16.05.04 14:33) [19]
а я думал главно чтоб юзер постоянно за собой ini-ки не таскал



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

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

Наверх





Память: 0.5 MB
Время: 0.036 c
1-1084220459
kiote
2004-05-11 00:20
2004.05.30
Richedit и динамически создаваемые компоненты


14-1084447526
Tamagoci
2004-05-13 15:25
2004.05.30
Использование Thread при обновлении состояния Action ов


7-1081952346
DeMoN_Astra
2004-04-14 18:19
2004.05.30
Запуск приложения до авторизации


1-1084774129
serg!
2004-05-17 10:08
2004.05.30
поток


1-1084812609
Dmitry_k
2004-05-17 20:50
2004.05.30
Ссылка в ветке TreeView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский