Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Есть вартант упаковать все мелкие файлы в один большой zip, и при загрузке извлекать нужный из архива.
А возможно ли сейчас EXE-шнику что-то исправлять в самом себе? Конкретно — свои настройки или вообще код, чтобы не хранить настройки в отдельном файле. Современные ОС позволяют ли такое?
Разумеется позволяют. Правда, это зависит от того, как редактор связей оформляет секции в exe-файле, например:
Object table:
# Name VirtSize RVA PhysSize Phys off Flags
-- -------- -------- -------- -------- -------- --------
01 .PROGRM 00A64F00 00001000 00A64F00 00000200 E8000020 [CEPRW]
02 .rsrc 00324200 00A66000 00324200 00A65200 42000040 [DIR]
03 .reloc 0002D3F0 00D8B000 0002D3F0 00D8A200 42000040 [DIR]
Key to section flags:
C - contains code
D - discardable
E - executable
I - contains initialized data
P - may not be paged
R - readable
W - writeableЗдесь программа может исправлять свои коды и данные (здесь и данные также пишутся в одну секцию с кодами). А вот "ресурсы" здесь неизменяемые, как и таблица настроек.
Как увеличить ресурсы в десять раз