понедельник, 2 августа 2021 г.

CIL Tools update 2.3

 The new version of CIL Tools is released. Download at Github releases.

Changes in new version:

CilTools.BytecodeAnalysis

  • Escape IL assembler keywords when used as identifiers
  • Make ITypeInfo interface public to enable inspecting function pointer types with CilTools.Metadata
  • Change TypeSpec.IsFunctionPointer from method to property (breaking change)
  • Fix bug that prevented CilReader.GetInstructions from correctly enumerating instuctions more than once for the same iterator instance

CilTools.Runtime

CIL View

  • Escape IL assembler keywords when used as identifiers
  • Make search in Open process window case-insensitive
  • Add support for displaying dynamic assembly names when inspecting process (.NET Framework only)
  • Show loaded modules in process info


среда, 7 июля 2021 г.

Обновление Small Media Player - v2.3

 Изменения в новой версии:

  • Добавлена поддержка декодеров, использующих технологию Media Foundation
  • Убрана поддержка Windows XP
  • Убрана поддержка воспроизведения Audio CD
  • Исправлено некорректное положение контекстного меню при щелчке правой кнопкой мыши по заголовкам столбцов в списке воспроизведения

Загрузить: Small Media Player 2.3

Поддержка Media Foundation

Ранее проигрыватель использовал только DirectShow для воспроизведения файлов. Теперь, если файл не удалось воспроизвести с помощью DirectShow, выполняется попытка воспроизвести с помощью Media Foundation - более новой технологии, введенной в Windows Vista. Благодаря этому, теперь программа сможет открыть некоторые файлы, которые ранее не открывались из-за проблем со стандартными декодерами DirectShow; например, MP3-файлы с некорректным блоком ID3V2-тегов в начале. Кроме того, в Windows 10 был добавлен стандартный декодер для MKV с видео H.264, поэтому теперь этот формат можно будет открыть без необходимости установки пакета кодеков.

Прекращение поддержки Windows XP

Начиная с данной версии, программа не запустится на Windows XP. На Windows Vista программа должна работать, хотя я не тестирую на этой ОС. Последняя версия с поддержкой XP - 2.2, при необходимости будут выходить исправления критических ошибок для нее, но все развитие будет фокусироваться на более новых ОС.

вторник, 18 мая 2021 г.

Обновление Small Media Player - v2.2

Новая версия содержит единственное изменение: исправлено аварийное завершение программы при попытке открыть файл с пустыми тегами ID3v2.

Загрузить: Small Media Player v2.2

воскресенье, 25 апреля 2021 г.

Обновление Small Media Player - v2.1

 Загрузить на Github releases


Изменения в новой версии:

  • Исправлена ошибка, из-за которой иногда некорректно отображалась информация из тегов при использовании "Открыть с помощью".
  • Исправлена ошибка, при которой информация из тегов некорректно обрабатывалась при наличии символа "~" в тегах.
  • Исправлено мерцание индикатора текущей позиции.
  • Списки воспроизведения теперь сохраняются и считываются в кодировке UTF-8 (ранее использовалась текущая кодовая страница ANSI). Это позволяет корректно обрабатывать пути файлов с национальными символами из других кодовых страниц.
  • Исправлено неровное положение некоторых элементов в главном окне.
  • Реализована плавная (логарифмическая) регулировка громкости.
  • При повторном запуске программы теперь выполняется попытка вывести окно главного экземпляра на передний план.
  • Обновлен алгоритм поиска изображения по умолчанию, теперь изображение берется из каталога стандартных обоев Windows (%WINDIR%\Web\Wallpaper\Windows\).
  • Ошибки воспроизведения теперь выводятся в отдельное немодальное окно и не блокируют воспроизведение (проигрыватель автоматически переходит к следующему файлу).
  • Добавлено логирование ошибок (файл (Документы)\Small Media Player\error.log)
  • Исходный код теперь доступен на Github (лицензия BSD 3-Clause)


среда, 31 марта 2021 г.

CIL Tools update 2.2

 CIL Tools 2.2 is released 

Download on GitHub releases

Source code

Changes in this version:

CilTools.BytecodeAnalysis

  • Add support for dynamic methods on .NET Core (token resolution still does not work properly on .NET Core 3+ Linux)
  • Add support for constrained. instruction prefix
  • Add type definition disassembler
  • Add CilGraphNode.GetExceptionBlocks
  • Add CilGraph.GetHandlerNodes
  • Implement IsAssignableFrom on TypeSpec
  • Fix exception on TypeSpec.IsValueType

CilTools.Runtime

  • Add support for dynamic assemblies
  • Implement IsAssignableFrom on ClrTypeInfo
  • Improve performance of some ClrTypeInfo methods

CIL View

  • Add Open BCL assembly dialog
  • Add navigation history
  • Add partial support for 64-bit processes
  • Add support for dynamic assemblies
  • Add exception analysis
  • Disable wrapping in search textbox
  • Method navigation hyperlink now spans only over the method name identifier, instead of the whole method reference syntax
  • Method navigation hyperlink is no longer underlined (to fix cases where it was obscuring _ chars in name)
  • Improve performance of "Open process" by preloading assemblies from files instead of reading target process memory, where it's possible
  • Fix null reference on typedref parameter
  • Fix unhandled exception when opening file on background thread
  • Fix token resolution bug after navigating to generic method instantiation
  • Fix crashes on access to disposed assemblies


суббота, 23 января 2021 г.

WinForms Excel Library v1.3 update

Changes:

  • Add DisplayWindowTitle property  
  • Remove checkbox to show status bar in demo app 

 Using DisplayStatusBar property is now not recommended, because it does not work consistently in different Excel versions.

среда, 25 ноября 2020 г.

CIL Tools update 2.1

The CIL Tools version 2.1 added a new library CilTools.Metadata, as well as some new features and bug fixes for existing projects.

Download CIL Tools 2.1 on Github releases

CIL View ClickOnce installer

Documentation

CilTools.BytecodeAnalysis changes:

  • Add .NET Standard 2.0+ support
  • Add support for method implementation flags when outputting method signatures
  • Add support for function pointer types. The standard reflection APIs don't support function pointers, so this only works with custom implementations; but CilTools.Metadata does implement this functionality.
  • Add support for module-level ("global") functions and fields
  • Add syntax API support for calli instruction's operand
  • Add full custom modifiers support (they were previously only supported in standalone signatures). Only works with CilTools.Metadata or custom implementations.
  • Add syntax API support for custom modifiers
  • Add pinvokeimpl support (only CilTools.Metadata or custom implementations)
  • Add support for newslot and final keywords
  • Add support for generic types in signature parser
  • The TypeSpec class now inherits from System.Type, so it can be used in many contexts where reflection type construct is needed. The "Type" property of TypeSpec is now deprecated.
  • Format char default values as hex
  • Improve custom attribute support (raw attribute data now can be fetched - only CilTools.Metadata or custom implementations)
  • Improve empty method body handling. Now empty body is ignored only when method is is abstract, P/Invoke or implemented by runtime. In other cases the exception is generated.
  • Improve generic methods support. The CustomMethod class now has the GetDefinition method that inheritors can implement to enable fetching of method definition (and therefore parameter names)
  • Place custom attributes before default parameter values in disassembled method code
  • Fix ldloc.s/stloc.s instruction handling
  • Fix ldtoken instruction handling with field operand
  • Fix possible null reference when converting array/pointer of generic args to syntax
  • Fix return type output for CustomMethod implementations

CilTools.Runtime changes

  • Add exception block support for dynamic methods
  • Add method token resolution for dynamic methods

CIL View changes

  • Update assembly reading mechanism to use CilTools.Metadata instead of loading assemblies directly into the current process. This enables inspecting assemblies for another target framework (such as .NET Standard) or when some dependencies could not be resolved. This also means assemblies can be unloaded from memory when they are no longer needed.
  • Add syntax highlighting for calli instruction's operand
  • Support auto-completion in assembly and type combo boxes
  • Improve performance for type combo box when assembly has a lot of types
  • Rework search. Search results are now displayed in context menu. Method search is added.