Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Внедрение в exe файл метки/идентификатора  [new]
hlopotun
Member

Откуда:
Сообщений: 675
Всем доброго дня,

есть задача внедрить идентификатор/метку в exe файл который можно найти и прочитать из другого exeшника. По сути важна даже не сама метка а факт её изменения в сравнении с меткой в проверяющем файле.
Речь не о версиях и их свойствах задаваемых через файл проекта. Это своего рода отметка (номер/текст) говоряшая о том что надо произвести некоторые действия когда такой файл найден. Версия задаваемая в файле проекта не подходит т.к. она меняется чаще чем эта метка. Посоветуйте решение.

Спасибо.
19 ноя 21, 15:22    [22397997]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 5302
hlopotun
Посоветуйте решение.

Ресурсы.
19 ноя 21, 15:24    [22397999]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54790

В ресурсе VERSIONINFO (особенно в блоке StringFileInfo) есть гораздо больше
полей, чем только номер версии. Практически любое из них можно использовать как
метку. И они не изменяются без личного участия программиста.

Posted via ActualForum NNTP Server 1.5

19 ноя 21, 15:25    [22398000]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
hlopotun
Member

Откуда:
Сообщений: 675
Dimitry Sibiryakov

В ресурсе VERSIONINFO (особенно в блоке StringFileInfo) есть гораздо больше
полей, чем только номер версии. Практически любое из них можно использовать как
метку. И они не изменяются без личного участия программиста.

а чем их лучше читать снаружи?
19 ноя 21, 15:29    [22398003]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
hlopotun
Member

Откуда:
Сообщений: 675
например если я возьму поле ProgramID
19 ноя 21, 15:30    [22398005]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54790

hlopotun
а чем их лучше читать снаружи?

Специально для этих целей предназначенным API: VerQueryValue().

Posted via ActualForum NNTP Server 1.5

19 ноя 21, 15:39    [22398009]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
hlopotun
Member

Откуда:
Сообщений: 675
Dimitry Sibiryakov

hlopotun
а чем их лучше читать снаружи?

Специально для этих целей предназначенным API: VerQueryValue().


разве это сработает снаружи, это ж вроде только если exe сам себя анализирует? Мне то надо снаружи.
пошел читать доку ....

Спасибо
19 ноя 21, 15:44    [22398011]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54790

hlopotun
разве это сработает снаружи, это ж вроде только если exe сам себя анализирует?

Само по себе - нет, не работает. Нужен программист, который сопряжёт это с
LoadLibrary, LoadResource, LockResource. То есть таки осилит прочитать доку.

Posted via ActualForum NNTP Server 1.5

19 ноя 21, 15:57    [22398016]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 985
const HlopotunskayaSuperPuperMetka = '{HlopotunskayaSuperPuperMetka}:metka';
19 ноя 21, 16:46    [22398038]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
mayton
Member

Откуда: loopback
Сообщений: 52986
Для файловых систем NTFS можно хранить дополнительные сведения
рядом с файлом в Alternate Data Streams (ADS).
20 ноя 21, 00:49    [22398224]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
northener
Member

Откуда: Москва
Сообщений: 187
Fr0sT-Brutal
const HlopotunskayaSuperPuperMetka = '{HlopotunskayaSuperPuperMetka}:metka';

А оптимизатор не выкинет нафиг эту константу по причине её не использования?
20 ноя 21, 02:40    [22398237]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
northener
Member

Откуда: Москва
Сообщений: 187
Dimitry Sibiryakov

hlopotun
разве это сработает снаружи, это ж вроде только если exe сам себя анализирует?

Само по себе - нет, не работает. Нужен программист, который сопряжёт это с
LoadLibrary, LoadResource, LockResource. То есть таки осилит прочитать доку.

Однако это нехилый нужен программист, который сможет всё это проделать с загруженным приложением.
20 ноя 21, 02:44    [22398238]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
rgreat
Member

Откуда:
Сообщений: 7024
northener,

Проверь, а если сомневаешься испольщуй константу где-нибудь. :)
20 ноя 21, 02:51    [22398239]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54790

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

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

Posted via ActualForum NNTP Server 1.5

20 ноя 21, 13:41    [22398298]     Ответить | Цитировать Сообщить модератору
 Re: Внедрение в exe файл метки/идентификатора  [new]
hlopotun
Member

Откуда:
Сообщений: 675
Dimitry Sibiryakov,

Спасибо за подсказки с VerQueryValue, все работает.
метку вставляю через manifest с раздел StringFileInfo.
Имя метки можно использовать своё. По крайней мере она потом читается через VerQueryValue.
22 ноя 21, 10:40    [22398943]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить