Skip to content

fersatgit/GMSViewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GMSViewer

Утилита для просмотра и редактирования файлов c расширением GMS (CorelDraw global macro storage).

Системные требования

Операционная системаWindows 2000 или выше

Как использовать

Ассоциируйте файлы с расширением gms с этой программой.

Что может

  • Отображать исходный код модулей, а также потоки PROJECT, VBFrame и немного dir, остальные потоки отображаются в hex-виде.
  • Редактировать код модулей и несжатый текст (PROJECT и VBFrame).
  • Сохранять дамп потока в файл.
  • Распаковывать сжатые данные из потока в файл.
  • Удалять элементы дерева (не советую удалять что-либо кроме __SRP_XX потоков, при удалении модуля он не удаляется из dir).
  • Перестравивать PROJECT. Это позволяет снять простую защиту в виде пароля или восстановить видимость скрытых модулей.
  • Перестраивать dir поток, делая все модули доступными для редактирования. ВНИМАНИЕ - при перестройке будет удалена информация о справочных файлах (help context) и аргументы условной компиляции.
  • Удалять ссылки на tlb и dll. В сочетании с опцией понижения версии это позволяет конвертировать простые gms из поздних версий CorelDraw в более ранние. Если gms использует типы данных из поздних версий, сконвертированный таким образом файл откроется в CorelDraw X3, но вы не сможете его скомпилировать.
  • Удалять P-код. Удаляет P-код из модулей, очищет поток _VBA_PROJECT и удаляет _SRP_XX потоки. Это существенно уменьшает объём GMS, лечит инфицированные файлы.
  • Понижать версию typeLib, заменяя содержимое потока "VBA Project Data". В сочетании с перестройкой dir потока позволяет открывать GMS в ранних версиях CorelDraw.

Пример понижения версии

Открываем файл Jpg_Pdf_Export.gms, в диалоговом окне обработки высталяем все галочки и нажимаем "сохранить". Теперь этот макрос может работать с CorelDraw X3. Конечно такое сработает не со всеми файлами. Макрос должен быть совместим на уровне исходного кода.

Ссылки

  1. VBA Language Specification
  2. Compound File Binary File Format
  3. Office VBA File Format Structure
  4. Office Forms Binary File Formats
  5. Декомпилятор P-кода. Для декомпиляции GMS нужно предварительно удалить 18 байт заголовка.
  6. vbastomp - разная информация по инфицированию VBA-файлов

About

Coreldraw global macro storage (gms) files viewer

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages