1.9.9472
April update with UI responsiveness plus SEO and sharing fixes
1.9.9472 RU/EN
A small patch focused on improving window responsiveness under load and helping your packs appear in search results faster.
C# Scripting - Memory API docs
New Memory API documentation for C# scripts has been added. It gradually explains the core memory model in EyeAuras: which backends are available, where to start, how to find a code cave, how to plug in your own IProcess, and how to build custom memory backends.
Useful entry points:
- Memory API - Getting started
- Memory basics
- C# struct layout
- LocalProcess
- Code Cave
- Custom IProcess
- Custom memory backends
C# Scripting - UserLicense improvements
New signed fields were added to UserLicense in the internal licensing APIs, and sublicenses now expose an explicit MaximumSessions.
var license = GetService<ILicenseAccessor>();
Log.Info($"UserId: {license.UserId}");
Log.Info($"Roles: {string.Join(", ", license.Roles)}");
Log.Info($"AppVersion: {license.AppVersion}");
if (license.ShareSublicenses.Length > 0)
{
Log.Info($"MaximumSessions: {license.ShareSublicenses[0].MaximumSessions}");
}
Read more: Pack sublicenses
C# Scripting - Memory API - added free memory
IProcessControlApi now includes explicit FreeMemory(...) and ProtectMemory(...) methods. That means an allocated region can now go through the full lifecycle properly: get it through AllocateMemory(...), change protection, perform the required actions, and then release it cleanly.
using System.Diagnostics;
using EyeAuras.Memory;
using var process = LocalProcess.ByProcessId(Process.GetCurrentProcess().Id);
var control = (IProcessControlApi) process;
var region = control.AllocateMemory(
IntPtr.Zero,
4096,
MemoryAllocationType.Commit | MemoryAllocationType.Reserve,
MemoryProtectionType.ReadWrite);
var oldProtection = control.ProtectMemory(region.Address, region.Size, MemoryProtectionType.ExecuteRead);
control.ProtectMemory(region.Address, region.Size, oldProtection);
control.FreeMemory(region);
Read more: Memory API - Getting started
Fixes and improvements
- [UI]
BlazorWindowresizing and dragging were significantly improved, so windows should behave better under load - [Web] Improved SEO (search engine optimization) - your packs should now be detected by search engines faster and appear in results more often
- [Web / Share] Fixed a race condition when enabling code highlighting while share pages were reloading
- [Licensing] Added signed metadata and explicit
sublicenselimits to the internal licensing APIs - [Loader / Remote] Improved
Scrydedetection