У меня есть приложение для загрузки Windows, которое я скомпилировал (в глубине, он использует C# и WPF), но структура, которую я должен использовать для ее программирования, не позволяет мне изменять конкретный GUID, который он хранит в реестре Windows при установке пакетов MSI (он заставляет меня программировать загрузчик в XML и не предоставляет этот GUID как свойство, модифицируемое XML), и я знаю, что этот GUID принимает конкретный, закодированное значение. Это значение изменяется всякий раз, когда я перекомпилирую исполняемый файл bootstrapper. Я хочу иметь возможность изменять этот GUID на сценарии пост-сборки, чтобы сохранить его.Как найти GUID в hex из скомпилированного исполняемого файла Windows
Мой вопрос в том, можно ли найти местоположение этого идентификатора GUID из шестнадцатеричного дампа? Я искал свой hex-дамп исполняемого файла, пытаясь конвертировать из GUID в шестнадцатеричный или из строки GUID в ASCII или hex и т. Д., И я попытался лучше понять вещи, используя ILDASM
, но это не помогло. Я не уверен, как GUID хранится в скомпилированном исполняемом файле ... кто-нибудь имел успех с этим? Если да, то как хранится GUID и что вам нужно сделать для доступа к нему?
GUID, который он устанавливает в реестре в настоящий момент: {E66D1133-9A23-4E07-8DB1-0A3A4A7F7B35}
.
@AJHenderson ** Вы вводите в заблуждение MSI GUID с моим GUID регистрации bootstrapper. ** Изменение GUID, о котором я говорю, будет ** НЕ ** нарушать что-либо. Поверьте мне, я уже давно занимаюсь установщиками. – Alexandru
Достаточно честный, все еще не видя ничего об этой безопасности. Даже если вам нужно, чтобы он был одним и тем же для определенной цели безопасности, это подпадает под технические методы реализации, которые обычно не относятся к этой теме, а скорее относятся к сайту, наиболее связанному с его внедрением (то есть, StackOverflow в этом случае) –
@AJHenderson Ну, я думаю, что это тоже не вопрос программирования. Я не ищу код, а объяснение. Лучшее место для меня в моем уме - «security.stackexchange.com» ... где я ожидал бы, что люди поймут низкоуровневые работы компиляторов в Windows и как они хранят данные. Это может легко стать вопросом безопасности, например: «Как маскировать GUID в приложении, чтобы кто-то не мог найти их из шестнадцатеричного дампа?» для чего вам нужно будет знать, как их найти в первую очередь. Как и в жизни, вы не можете сделать что-то лучше, не зная, как его сначала измерить. – Alexandru