среда, 20 марта 2024 г.

CIL Tools 2.9 is released

Download on Github releases | Source code

Changes in the new version:

CilTools.BytecodeAnalysis

  • Add ReflectionProperties.ContainingAssembly and ReflectionProperties.ReferenceTarget
  • Fix disassembling pointer-to-pointer types when used as operand of instruction
  • Fix disassembling array-of-arrays types when used as operand of instruction

CilTools.Metadata

  • Assembly resolution logic in AssemblyReader now tries to search in assemblies loaded by path before calling AssemblyResolve handler

CilTools.CommandLine

  • Add HTML output support for view, disasm and view-source commands (--html option)

CIL View

  • Add support for exporting disassembled CIL as HTML


воскресенье, 28 января 2024 г.

Инженерный калькулятор v2.2

Вышла новая версия программы Инженерный калькулятор. 

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

  • Добавлена поддержка создания программируемых функций на языках JavaScript, C# и Visual Basic
  • Исправлена обработка ошибок при решении систем уравнений
  • Исправлена невозможность использовать константы с именем, начинающимся на "e"
  • Исправлены ошибки при вычислении выражений на системах с региональными параметрами, отличными от русских
  • Исправлены опечатки в сообщениях и в справке

понедельник, 6 ноября 2023 г.

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

 Вышла новая версия Small Media Player 2.6: Загрузить, Исходный код

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

  • Добавлена поддержка загрузки списков воспроизведения CUE
  • Исправлена ошибка, приводившая к зависанию при воспроизведении видео в формате MPEG
  • Исправлено отображение в информации о форматах мультимедиа следующих форматов: AAC-ADTS, AIFF, Dolby AC3, DTS, DVD Audio, H264 ES, OGG Vorbis, PCM BE.

Примечание. Поддержка списков воспроизведения CUE ("CUE sheets") на текущий момент имеет некоторые ограничения:

1. Списки воспроизведения CUE можно загружать, но нельзя сохранять.

2. Если в списке воспроизведения есть фрагменты файлов, загруженные из CUE, при сохранении списка в формате M3U (в том числе при запоминании последнего списка) они не будут выгружены.

воскресенье, 30 июля 2023 г.

CIL Tools v2.8 is released

 Download on Github releases

Changes in the new version:

CilTools.BytecodeAnalysis

  • Add support for type forwards in disassembler
  • Add support for .vtfixup directives in assembly manifest
  • Add support for AggressiveInlining method attribute
  • Add support for Import and WindowsRuntime type attributes
  • Add support for field offsets in structs with explicit layout
  • Add support for RVA fields in type disassembler
  • Add LocalVariable.Method property
  • Add TypeSpec.CreateSpecialType method
  • Add IdentifierSyntax.Kind property
  • Make SyntaxNode._parent field protected

CilTools.Metadata

  • Support additional assembly resolution directories in AssemblyReader
  • Support inherit parameter in Type.GetCustomAttributes methods

CIL View

  • Add support for type forwards
  • Add support for .vtfixup directives in assembly manifest
  • Add syntax highlighting support for some non-standard IlAsm keywords
  • Add navigation to labels
  • Add support for field offsets for structs with explicit layout
  • Add support for RVA fields
  • No longer automatically select <Module> type when it's the only one in assembly (so user can see assembly manifest)
  • Fix members counting to pick only declared members when deciding whether the only method in type should be auto-selected


воскресенье, 2 апреля 2023 г.

CIL Tools v2.6 is released

 Download on Github releases

Changes in new version:

This library provides APIs related to source code tokenization. It could be useful for implementing a syntax highlighting in applications that display source code.

CilTools.BytecodeAnalysis

  • Add new CilTools.Syntax.Tokens API for converting text into sequence of tokens
  • Add support for .pack and .size directives
  • Expose constant values as LiteralSyntax instead of GenericSyntax in Syntax API
  • Update disassembler to not escape math symbols in string literals
  • Fix CilInstruction.Parse to use invariant culture when parsing floating point values

CilTools.Metadata

  • Add support for getting inherited members in TypeDef and TypeRef. Now APIs like GetMembers return both declared and inherited members by default, and only declared ones when DeclaredOnly flag is specified.
  • Implement Type.StructLayoutAttribute property on TypeDef
  • Fix Type.IsValueType and Type.IsEnum returning incorrect values for .NET Core assemblies
  • Fix token resolution to throw ArgumentOutOfRangeException instead of BadImageFormatException on out-of-range tokens

CIL View

  • Add support for .pack and .size directives
  • Add support for C# verbatim strings in source viewer
  • Use .NET Core runtime directory for .NET Standard 2.1 targeting assemblies when navigating to methods from BCL types
  • Update disassembler to not escape math symbols in string literals
  • Fix syntax highlighting for constant values

воскресенье, 19 февраля 2023 г.

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

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

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

  • Добавлена поддержка версий информационных тегов ID3v2.2 и ID3v2.4
  • Добавлена поддержка отображения встроенных обложек альбомов из тегов ID3v2.3 и ID3v2.4
  • Добавлена поддержка комментариев ID3v2 в кодировках UTF8 и UTF16
  • Добавлена возможность отображения URL из тегов ID3v2
  • Добавлена возможность отображения информации о версии модуля для фильтров DirectShow при отсутствии у них страницы свойств
  • Добавлено открытие файла изображения во внешней программе при двойном щелчке на обложке альбома (только для обложек из файлов)
  • Исправлено отображение форматов аудио ADPCM, Monkey's Audio (APE) и AMR NB/WB в информации о форматах мультимедиа

среда, 7 декабря 2022 г.

CIL Tools v2.5 is released


The new version contains the following changes:

CilTools.BytecodeAnalysis

  • Add IReflectionInfo interface to enable custom properties on reflection objects (implemented by classes in CilTools.Metadata)
  • Add CilInstruction.ToSyntax()
  • Add Disassembler.GetAssemblyManifestSyntaxNodes
  • Add IParamsProvider interface (enables getting method parameters without resolving external assembly references, implemented by classes in CilTools.Metadata)
  • Support parameters and return type custom attributes
  • Support field custom attributes
  • Support .override and .vtentry directives
  • Support events in type disassembler
  • Support vararg sentinel (...) in method signatures
  • Support specialname and rtspecialname attributes on methods
  • Skip assembly name for types in the same assembly
  • Escape special characters in identifiers
  • Escape slash in string literals
  • Fix base type syntax in GetTypeDefSyntax
  • Fix TypeSpec.IsValueType for byref target types and generics
  • Fix extra whitepaces after directive names
  • Fix constructors to have void return type in disassembled CIL
  • Fix ldtoken syntax for types
  • Fix CilParserException when exception handler block closes after the last instruction in the method body
  • Fix literal syntax for enum and boolean types
  • Fix serializable attribute handling
  • Fix type name representation in syntax API (now namespace is handled as a separate identifier token)
  • Fix detection of <Module> type (global fields and functions)

CilTools.Runtime

  • Implement GetReferencedAssemblies and ManifestModule on DynamicMethodsAssembly

CilTools.CommandLine

  • Add view-source command
  • Add fileinfo command
  • Add support for viewing assembly manifest to view command
  • Add assembly disassembling support to disasm command
  • Roll-forward to next major versions of .NET Runtime
The view-source command enables you to display source code of the specified method based on info in debugging symbols (if they are present) or decompiled source (currently only a limited decompilation support for methods without body, i.e, abstract or pinvoke). 

The fileinfo command displays information about assembly files, such as PE header data or assembly-level custom attributes.

The Roll-forward feature means that you can run the app on .NET 5.0+, even though it targets .NET Core 3.1.

CIL View

  • Add Source Link support for Portable PDB symbols
  • Add source code syntax highlighting
  • Add instruction info
  • Add IL syntax highlighting in SourceViewWindow
  • Add support for viewing assembly manifest and Export assembly to file menu command
  • Add Recent files menu
  • Add HTML help
  • Change default filter in Open File dialog to include all supported file types (instead of only .dll and .exe)
  • Disable formatted view for .il files larger then 1 MB
  • Support viewing separate types from .il files
  • Load .il files in background

New Source view UI look with syntax highlighting: