
GUID Helper 1.6

Скриншот программы GUID Helper
Программа-помощник для программистов, которая преобразует название и GUID из строковой записи в формат данных, принятый в Ассемблере. У программы есть собственная база данных, если введенное название GUID в ней присутствует, то вы сразу получите заполненное поле, соответствующее его значению. И наоборот, по строке GUID можно получить из базы его название. Если указанный GUID относится к интерфейсам, то опционально можно также получить его методы в виде структуры. Программа написана для личных нужд, так как мне надоело сперва искать в интернете нужные значения, а затем вручную переводить их в формат Ассемблера. Если программа пригодится кому-нибудь еще, то я буду только рад. Файл базы данных представляет собой обычный ini-файл, так что можете добавлять туда любые нужные вам значения или вообще заменить его на свой собственный.
Просмотров: 2482 | Комментариев: 21

Комментарии
Отзывы посетителей сайта о статье
ManHunter
(07.05.2023 в 16:37):
Версия 1.6. Теперь данные GUID берутся не только из файлов, но и из реестра Windows, а также из PropertySystem, поэтому их количество может меняться от системы к системе. Исправлены мелкие ошибки, выполнены всякие подкапотные доработки.

ManHunter
(10.02.2023 в 22:40):
Вряд ли мне это когда-то понадобится. Пока хватает существующего функционала.

Лестер Глючный
(10.02.2023 в 22:32):
Я коллекционирую PropertyID ПОЛНОСТЬЮ (даже ТИП значения), т.к. проводник сохраняет наборы колонок (в т.ч. ширину каждой) в параметре "ColInfo" [Shell\Bags\№] или "ViewView2" [CurrentVersion\Explorer\Streams\№], например, корзина:
{9b174b33-40ff-11d2-a27e-00c04fc30871} 2 =System.Recycle.DeletedFrom= PKEY_Recycle_DeletedFrom (PID_DISPLACED_FROM)
{9b174b33-40ff-11d2-a27e-00c04fc30871} 3 =System.Recycle.DateDeleted= PKEY_Recycle_DateDeleted (PID_DISPLACED_DATE)
а в шрифтах так вообще в основном одни "сотки":
{d6cf9145-d365-471b-bcb8-f0b4a96b891c} 100 =System.Fonts.ActiveStatus
{de9e220b-41d4-4690-8b6b-3d89e231eef1} 100 =System.Fonts.FamilyName
{4b486401-5468-4381-9b5a-42df4cb49f53} 100 =System.Fonts.Category
{4530d076-b598-4a81-8813-9b11286ef6ea} 2 =System.Fonts.FontEmbeddability
{4530d076-b598-4a81-8813-9b11286ef6ea} 5 =System.Fonts.Type
{4530d076-b598-4a81-8813-9b11286ef6ea} 7 =System.Fonts.FileNames
{49753869-849c-4323-a41f-26d73f28b53b} 100 =System.Fonts.Vendors
{5741cf9c-56fe-485b-8901-4786449e188d} 100 =System.Fonts.DesignedFor
{596fd41b-af9b-4ba8-9b49-33b16f16678c} 100 =System.Fonts.Styles
{f3aecac4-5b8d-436a-ad0c-64ab194fdaf3} 100 =System.Fonts.CollectionName
{3d658d4d-bc38-464a-b555-418d554a8df8} 100 =System.Fonts.Description
{fec7952b-4bf0-4c03-b6e1-2796818b7ca9} 100 =System.Fonts.Version
И сколько ещё в Диспетчере устройств (PKEY_Device*… // System.Device*, или DEVPKEY_*)…
{1da5d803-d492-4edd-8c23-e0c0ffee7f0e} без "PropID" в guid.dat нужно так и оставить "PKEY_AudioEndpoint_ControlPanelPageProvider", но его "PropID" могут быть даже сокращёнными:
,0=PKEY_EP_FormFactor
,1=PKEY_EP_Ext_UiClsid
,2=PKEY_EP_Association
,3=PKEY_EP_PhysicalSpeakers
,4=PKEY_EP_GUID
,5=PKEY_EP_Disable_SysFx
,6=PKEY_EP_FullRangeSpeakers
,7=PKEY_AudioEndpoint_Supports_EventDriven_Mode
,8=PKEY_AudioEndpoint_JackSubType
{46D16A2C-5654-41c0-911E-7860D2BCE7EE},3=PKEY_EP_Dolby_HP_Mode
и т.д.… да, желательно, чтоб работало как с запятой, так и без, а так же через пробел!
{9b174b33-40ff-11d2-a27e-00c04fc30871} 2 =System.Recycle.DeletedFrom= PKEY_Recycle_DeletedFrom (PID_DISPLACED_FROM)
{9b174b33-40ff-11d2-a27e-00c04fc30871} 3 =System.Recycle.DateDeleted= PKEY_Recycle_DateDeleted (PID_DISPLACED_DATE)
а в шрифтах так вообще в основном одни "сотки":
{d6cf9145-d365-471b-bcb8-f0b4a96b891c} 100 =System.Fonts.ActiveStatus
{de9e220b-41d4-4690-8b6b-3d89e231eef1} 100 =System.Fonts.FamilyName
{4b486401-5468-4381-9b5a-42df4cb49f53} 100 =System.Fonts.Category
{4530d076-b598-4a81-8813-9b11286ef6ea} 2 =System.Fonts.FontEmbeddability
{4530d076-b598-4a81-8813-9b11286ef6ea} 5 =System.Fonts.Type
{4530d076-b598-4a81-8813-9b11286ef6ea} 7 =System.Fonts.FileNames
{49753869-849c-4323-a41f-26d73f28b53b} 100 =System.Fonts.Vendors
{5741cf9c-56fe-485b-8901-4786449e188d} 100 =System.Fonts.DesignedFor
{596fd41b-af9b-4ba8-9b49-33b16f16678c} 100 =System.Fonts.Styles
{f3aecac4-5b8d-436a-ad0c-64ab194fdaf3} 100 =System.Fonts.CollectionName
{3d658d4d-bc38-464a-b555-418d554a8df8} 100 =System.Fonts.Description
{fec7952b-4bf0-4c03-b6e1-2796818b7ca9} 100 =System.Fonts.Version
И сколько ещё в Диспетчере устройств (PKEY_Device*… // System.Device*, или DEVPKEY_*)…
{1da5d803-d492-4edd-8c23-e0c0ffee7f0e} без "PropID" в guid.dat нужно так и оставить "PKEY_AudioEndpoint_ControlPanelPageProvider", но его "PropID" могут быть даже сокращёнными:
,0=PKEY_EP_FormFactor
,1=PKEY_EP_Ext_UiClsid
,2=PKEY_EP_Association
,3=PKEY_EP_PhysicalSpeakers
,4=PKEY_EP_GUID
,5=PKEY_EP_Disable_SysFx
,6=PKEY_EP_FullRangeSpeakers
,7=PKEY_AudioEndpoint_Supports_EventDriven_Mode
,8=PKEY_AudioEndpoint_JackSubType
{46D16A2C-5654-41c0-911E-7860D2BCE7EE},3=PKEY_EP_Dolby_HP_Mode
и т.д.… да, желательно, чтоб работало как с запятой, так и без, а так же через пробел!

ManHunter
(31.01.2023 в 00:04):
Напарсил еще кучу данных, исправил недочеты в имеющихся. Архив обновлен.

ManHunter
(26.01.2023 в 22:29):
Версия 1.5. Добавлена опция более компактного форматирования выхлопа по синтаксису FASM, всякие мелкие доработки.

ManHunter
(24.01.2022 в 18:43):
Да и флаг ему в руки. Уже натурально надоело воевать с этим говногуглом. Кому надо - те скачают, по остальным паникерам я плакать не буду.

Petya
(24.01.2022 в 17:01):
Вы к таким комментариям относитесь весьма смешанно, но все же сообщу - Хром изволит шуметь о "вредоносном ПО".

ManHunter
(21.01.2022 в 12:15):
Версия 1.4. Понадобилась возможность генерации случайного GUID, теперь такая функция добавлена. При генерации используются штатные функции WinAPI, так что все вопросы по качеству создаваемых гуидов не ко мне. Добавлено много новых данных в базы GUID и интерфейсов. Мелкие изменения и улучшения.

ManHunter
(08.01.2022 в 02:27):
Скоро будет обновление, там все это есть.

morgot
(03.01.2022 в 20:15):
ManHunter, да я ошибся, искал какое-то время перед этим IDebug.., и видимо интерфейс сохранился в окне.

morgot
(03.01.2022 в 14:18):
ManHunter, странно, у меня почему-то в программе был тот GUID; видимо сохранился от прошлых вызовов или что.

ManHunter
(03.01.2022 в 01:38):
WSAID_DISCONNECTEX в базе вообще нет, как и прочих WSAID_*. А вот почему нет - это уже другой вопрос. Разберусь.

morgot
(03.01.2022 в 00:20):
Проверь пожалуйста интерфейсы winsock (WSAID_xxx ), почему-то программа выводит совсем не то. К примеру, WSAID_DISCONNECTEX показывает {51973C32-CB0C-11D0-B5C9-00A0244A0E7A} , хотя в студии это {0x7fda2e11,0x8630,0x436f,{0xa0, 0x31, 0xf5, 0x36, 0xa6, 0xee, 0xc1, 0x57}} ; остальные аналогично.

ManHunter
(23.07.2021 в 11:56):
Да, действительно, в парсере такие длинные интерфейсы обрабатывались не полностью.
Исправлен косяк с особо длинными интерфейсами типа IHTMLCSSStyleDeclaration2, база интерфейсов спарсена заново. Архив обновлен. Мои благодарности Ink.
Исправлен косяк с особо длинными интерфейсами типа IHTMLCSSStyleDeclaration2, база интерфейсов спарсена заново. Архив обновлен. Мои благодарности Ink.

Ink
(23.07.2021 в 08:59):
Тут заметил что для IID_IXMLDOMDocument и тем более для IID_IXMLDOMDocument2
обрезанная структура почему-то выводится?
обрезанная структура почему-то выводится?

ManHunter
(17.06.2021 в 15:56):
Версия 1.3. В структуры интерфейсов добавлены оффсеты, как оказалось, это офигенно удобно при реверсе вызовов незнакомых методов по дизассемблерному листингу. Добавлено переключение отображения структур интерфейсов в режиме x86/x64. Напарсено еще некоторое количество GUID'ов и интерфейсов. Мелкие доработки и улучшения.

ManHunter
(17.02.2021 в 14:12):
Версия 1.2. Добавлен фильтр-поиск по имени (кнопка или Enter, от 3-х символов), добавлен поиск на MSDN, сохраняется позиция окна и последние значения названия и GUID, окно сделано "магнитным". Данные в программу можно передавать перетаскиванием строки в соответствующие поля ввода или вставкой из буфера обмена (клик на "Name" и "GUID", клик колесом на поле ввода). GUID можно вводить практически в любом формате, он распознается корректно. При вводе учитывается локаль, кириллица автоматом подменяется на латинницу. В базы добавлены новые GUID и описания интерфейсов, появилась возможность работать с упакованными базами, для этого утилита упаковки-распаковки и bat-файлы: https://disk.yandex.ru/d/RjfqqQpMVsnWNg
Множество различных "подкапотных" доработок и улучшений.
Множество различных "подкапотных" доработок и улучшений.

ManHunter
(18.11.2020 в 14:43):
Так и задумано. Мало ли, как пользователь решил назвать guid в своем коде, зачем ему навязывать какие-то значения? Используй кнопку очистки для нового ввода.

Ink
(18.11.2020 в 14:38):
Почему-то у меня не обновляется поле Name (когда оно не пустое), если в GUID вставить новое значение?

brute
(14.11.2020 в 19:17):
спасибо, пригодится!

morgot
(14.11.2020 в 17:27):
Мне очень пригодится, спасибо.

Добавить комментарий
Заполните форму для добавления комментария
