Conari 1.4.0
🧬 Conari engine represents powerful platform for work with unmanaged memory, pe-modules, related PInvoke features, and more for: Libraries, Executable Modules, enjoying of the unmanaged native C/C++ in .NET world, and other raw binary data. Even accessing to complex types like structures without their declaration at all. ## Why Conari ? It was designed to be loyal to your needs on the fly. 🔍 Easy to start: ``` using(var l = new ConariL("...")) { // ... } ``` 🚀 Awesome speed: test of regXwild's algorithms [[340x10000 Unicode](https://github.com/3F/regXwild/blob/d9e4cd18e6f3fbc29b271b1feb4d8c659aa14bd7/Readme.md#speed-comparison)] 🔨 Its amazing DLR features: ``` using(dynamic l = new ConariX("...")) { // just everything is yours ~ l.curl_easy_setopt(curl, 10002, "http://example.com"); } ``` 🔧 Raw accessibility to any binary data in unmanaged memory: ``` ptr.Native().align<int>(2, "x", "y") .t<IntPtr>("data") .Raw; ``` 🏄 Most powerful PInvoke and even most convenient use of WinAPI. Our recipe is simple: *Just use it!* ``` dynamic user32 = new User32(); user32.ShowWindow(0x000A0A28, 3); user32.MessageBoxA(0, "Conari in action", "Hello!", 0); ``` ``` dynamic kernel32 = new Kernel32(); kernel32.GetModuleHandleA<IntPtr>("libcurl-x64"); kernel32.GetModuleHandleW<IntPtr>((WCharPtr)ustr); ``` **Important note:** Conari does not provide anything from above. It will just generate and adapt everything at runtime. Specially for you! 🔖 Modern **.NET Core** Conari is ready for .NET Core starting from 1.4. But we have even more, again. https://github.com/3F/Conari/issues/13 Conari also provides support for [ .NET Standard 2.0 ] layer which does not cover unmanaged EmitCalli due to missed implementation for System.Private.CoreLib. 🍰 MIT License! Enjoy. . . . And more: https://github.com/3F/Conari _ _ _ _ _ _ ======================================= gnt /p:ngpackages="Conari/1.4.0" ================== https://github.com/3F/GetNuTool Build info: S_NUM: 1.4.0 S_REV: 48437 S_NUM_REV: 1.4.0.48437 bSha1: c4e75ee bName: master bRevc: 62 Configuration: PublicRelease Platforms: net40;net472;netstandard2.0;netcoreapp2.1;netstandard2.1 revDeltaBase: 2017/01/01 revDeltaMin: 1000 revDeltaMax: 65534 :: generated by a vsSolutionBuildEvent v1.14.0.36854
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>Conari</id>
<version>1.4.0</version>
<title>[ Conari ] platform for unmanaged memory, pe-modules, PInvoke and more</title>
<authors>github.com/3F/Conari</authors>
<owners>github.com/3F/Conari</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="file">LICENSE</license>
<licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
<icon>Conari_v1.png</icon>
<projectUrl>https://github.com/3F/Conari</projectUrl>
<iconUrl>https://raw.githubusercontent.com/3F/Conari/master/Conari/Resources/Conari_v1.png</iconUrl>
<description>🧬 Conari engine represents powerful platform for work with unmanaged memory, pe-modules, related PInvoke features,
and more for: Libraries, Executable Modules, enjoying of the unmanaged native C/C++ in .NET world, and other raw binary data.
Even accessing to complex types like structures without their declaration at all.
## Why Conari ?
It was designed to be loyal to your needs on the fly.
🔍 Easy to start:
```
using(var l = new ConariL("...")) {
// ...
}
```
🚀 Awesome speed:
test of regXwild's algorithms [[340x10000 Unicode](https://github.com/3F/regXwild/blob/d9e4cd18e6f3fbc29b271b1feb4d8c659aa14bd7/Readme.md#speed-comparison)]
🔨 Its amazing DLR features:
```
using(dynamic l = new ConariX("..."))
{
// just everything is yours ~
l.curl_easy_setopt(curl, 10002, "http://example.com");
}
```
🔧 Raw accessibility to any binary data in unmanaged memory:
```
ptr.Native().align<int>(2, "x", "y")
.t<IntPtr>("data")
.Raw;
```
🏄 Most powerful PInvoke and even most convenient use of WinAPI. Our recipe is simple: *Just use it!*
```
dynamic user32 = new User32();
user32.ShowWindow(0x000A0A28, 3);
user32.MessageBoxA(0, "Conari in action", "Hello!", 0);
```
```
dynamic kernel32 = new Kernel32();
kernel32.GetModuleHandleA<IntPtr>("libcurl-x64");
kernel32.GetModuleHandleW<IntPtr>((WCharPtr)ustr);
```
**Important note:** Conari does not provide anything from above. It will just generate and adapt everything at runtime. Specially for you!
🔖 Modern **.NET Core**
Conari is ready for .NET Core starting from 1.4.
But we have even more, again. https://github.com/3F/Conari/issues/13
Conari also provides support for [ .NET Standard 2.0 ] layer which does not cover unmanaged EmitCalli due to missed implementation for System.Private.CoreLib.
🍰 MIT License! Enjoy.
. . . And more: https://github.com/3F/Conari
_ _ _ _ _ _
=======================================
gnt /p:ngpackages="Conari/1.4.0"
================== https://github.com/3F/GetNuTool
Build info:
S_NUM: 1.4.0
S_REV: 48437
S_NUM_REV: 1.4.0.48437
bSha1: c4e75ee
bName: master
bRevc: 62
Configuration: PublicRelease
Platforms: net40;net472;netstandard2.0;netcoreapp2.1;netstandard2.1
revDeltaBase: 2017/01/01
revDeltaMin: 1000
revDeltaMax: 65534
:: generated by a vsSolutionBuildEvent v1.14.0.36854</description>
<releaseNotes>changelog: https://github.com/3F/Conari/blob/master/changelog.txt</releaseNotes>
<copyright>Copyright (c) 2016-2019 Denis Kuzmin < [email protected] > GitHub/3F</copyright>
<tags>memory unmanaged-memory exported-function DllExport unmanaged exports native c-func DllImport unmanaged-code binder binding pe-modules unmanaged-function exported-c-function export API dll cpp clang dotnet csharp pe32 pe64 pemodule Lua 7z 7zip Conari</tags>
<repository type="git" url="https://github.com/3F/Conari" />
<dependencies>
<group targetFramework=".NETFramework4.0" />
<group targetFramework=".NETFramework4.7.2" />
<group targetFramework=".NETCoreApp2.1">
<dependency id="Microsoft.CSharp" version="4.6.0" exclude="Build,Analyzers" />
<dependency id="System.Reflection.Emit" version="4.6.0" exclude="Build,Analyzers" />
<dependency id="System.Reflection.Emit.Lightweight" version="4.6.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard2.0">
<dependency id="Microsoft.CSharp" version="4.6.0" exclude="Build,Analyzers" />
<dependency id="System.Reflection.Emit" version="4.6.0" exclude="Build,Analyzers" />
<dependency id="System.Reflection.Emit.Lightweight" version="4.6.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard2.1">
<dependency id="Microsoft.CSharp" version="4.6.0" exclude="Build,Analyzers" />
<dependency id="System.Reflection.Emit" version="4.6.0" exclude="Build,Analyzers" />
<dependency id="System.Reflection.Emit.Lightweight" version="4.6.0" exclude="Build,Analyzers" />
</group>
</dependencies>
<frameworkAssemblies>
<frameworkAssembly assemblyName="Microsoft.CSharp" targetFramework=".NETFramework4.0, .NETFramework4.7.2" />
</frameworkAssemblies>
</metadata>
</package>