Pick the engine that matches your stack — .NET, JavaScript, Go, or shell — and use the same key, the same watermark, and the same verifier across all of them.
One engine per target language — same workflow, same watermark, same key
Fork of ConfuserEx 2 with the A1WatermarkProtection.cs patch: HMAC content-tag injection, idempotent post-stage, and a clean .crproj template. Ships Confuser.CLI.exe + ConfuserEx.exe (WPF GUI) + Confuser.Protections.dll.
npm wrapper around javascript-obfuscator with an embedded A1 HMAC watermark and a tamper sidecar. Single-file or multi-file mode. Skip-patterns for vendor bundles. Same key as the .NET and Go engines.
Four protection layers: -ldflags="-s -w -trimpath" (strip), garble build (name obfuscation), -literals -tiny (string encryption), and an Ed25519 sidecar (.a1sig). Cross-compiles Windows, Linux, FreeBSD. Used in production by A1Firewall (57 services).
-ldflags="-s -w -trimpath"
garble build
-literals -tiny
.a1sig
Lightweight protector for shell scripts (bash / PowerShell). Base64-encoded payload, HMAC integrity tag, and a tiny self-extracting stub. Useful for distributed deployment scripts that ship inside customer environments.
One question, three runtimes: was this binary tampered with after we shipped it?
Standalone .NET 4.8 CLI. Reads the embedded HMAC content-tag, verifies it against the engine's shared a1one.key, and prints a single line: Protected by A1-One · Tampered: NO. Folder mode with JSON report for CI.
a1one.key
Node CLI that re-derives the watermark on a protected JS bundle and compares it to the stored signature. Designed to run in CI right after the obfuscation step. Reads the same a1one.key used by a1one-js.
Go binary that validates the Ed25519 sidecar (<binary>.a1sig) against the public key. Auto-detects algorithm (Ed25519 preferred; HMAC-SHA256 supported for legacy sidecars). Cross-built for FreeBSD too — runs on A1Firewall appliances.
<binary>.a1sig
Same engines, five ways to plug them in
Add one line to your .csproj — <Import Project="…\A1One.targets"/> — and every Release build/publish is auto-protected via Protect-Publish.ps1. Configurable <A1OneProtectorPath>, <A1OneMode> (multi / single), and <A1OneSkipPattern>.
.csproj
<Import Project="…\A1One.targets"/>
Protect-Publish.ps1
<A1OneProtectorPath>
<A1OneMode>
<A1OneSkipPattern>
Right-click a publish folder → "Protect with A1-One". Options page persists ProtectorPath, mode, watermark owner override, and auto-run-on-publish toggle. Ships as a signed .vsix; installed from the Inno installer or sideloaded.
ProtectorPath
Install-Package A1One.Protector auto-injects build/A1One.Protector.targets + Protect.ps1 into the next build. Set <A1OneProtectorPath> once in Directory.Build.props and forget. <A1OneEnabled> gates by configuration.
Install-Package A1One.Protector
build/A1One.Protector.targets
Protect.ps1
Directory.Build.props
<A1OneEnabled>
Compiled installer that lays out the bundle (CLI + GUI + verifier + MSBuild + pipelines + templates + a1one-js + docs), adds A1-One to PATH, associates .crproj files, and (optionally) installs the VS extension. Per-machine, admin-required.
A1-One
PATH
.crproj
Portable ZIP for restricted environments. Extract anywhere, run SETUP.bat — adds the protector to the user's PATH, creates Start Menu shortcuts, no admin needed. Includes UNINSTALL.bat for a clean removal.
SETUP.bat
UNINSTALL.bat
Trial gate, machine-bound activation, content-watermark verification
Internal admin tool that mints RSA-signed .lic files bound to a customer's email and machine fingerprint. Plan-tier metadata (BASIC / PRO / ENTERPRISE), expiry, and seat count are part of the payload. Public key ships with every install.
.lic
First run writes a1one-builder.trial next to Confuser.CLI.exe and enters trial mode. Banner shows days remaining. After expiry, the gate refuses to run and displays a buy URL — probed live, so customers see protector.a1-soft.com when it's up and a1-soft.com when it isn't.
a1one-builder.trial
Confuser.CLI.exe
protector.a1-soft.com
a1-soft.com
Every protected artifact carries an idempotent A1.ContentHmac tag derived from the shared a1one.key. Re-protecting the same file produces the same tag — A1Verify uses it to detect any post-shipment byte change, including signature stripping.
A1.ContentHmac
Free 14-day trial — no credit card required. Download the installer or pull the NuGet package.
اختر المحرّك الذي يناسب تقنيتك — .NET أو JavaScript أو Go أو سكربتات shell — واستخدم المفتاح نفسه والعلامة المائية نفسها وأداة التحقق نفسها مع جميع المحرّكات.
محرّك لكل لغة مستهدفة — بسير عمل موحّد وعلامة مائية واحدة ومفتاح مشترك
نسخة مطوّرة من ConfuserEx 2 مزوّدة برقعة A1WatermarkProtection.cs: تحقن بصمة محتوى بخوارزمية HMAC، وتضيف مرحلة لاحقة ثابتة النتيجة، وتوفّر قالب .crproj نظيفًا. تشمل الحزمة Confuser.CLI.exe وConfuserEx.exe (الواجهة الرسومية بـ WPF) وConfuser.Protections.dll.
A1WatermarkProtection.cs
غلاف npm حول javascript-obfuscator يضمّن علامة A1 المائية بخوارزمية HMAC مع ملف توقيع مرافق لكشف العبث. يدعم وضع الملف الواحد أو الملفات المتعددة، مع أنماط استثناء لحزم الموردين. ويستخدم المفتاح نفسه الذي يستخدمه محرّكا .NET وGo.
حماية من أربع طبقات: -ldflags="-s -w -trimpath" (تجريد الرموز)، وgarble build (إعادة التسمية)، و-literals -tiny (تشفير النصوص)، إضافة إلى توقيع Ed25519 مرافق (.a1sig). يبني نسخًا لأنظمة Windows وLinux وFreeBSD، ومُستخدَم فعليًا في A1Firewall (57 خدمة).
حماية خفيفة لسكربتات shell (bash وPowerShell). تعتمد على ترميز الحمولة بـ base64، وبصمة سلامة بخوارزمية HMAC، ومُحمّل صغير ذاتي الاستخراج. مفيدة لسكربتات النشر التي تُسلَّم داخل بيئات العملاء.
سؤال واحد عبر ثلاث بيئات تشغيل: هل جرى العبث بهذا الملف بعد إصداره؟
أداة سطر أوامر مستقلة تعمل على .NET 4.8. تقرأ بصمة المحتوى المدمجة بخوارزمية HMAC وتتحقق منها باستخدام مفتاح المحرّك المشترك a1one.key، ثم تطبع سطرًا واحدًا: Protected by A1-One · Tampered: NO. وتدعم وضع المجلد مع تقرير JSON للاستخدام في خطوط CI.
أداة Node تعيد اشتقاق العلامة المائية من حزمة JS محمية وتقارنها بالتوقيع المخزّن. صُمّمت للعمل في خطوط CI مباشرة بعد خطوة التعتيم، وتقرأ المفتاح a1one.key نفسه الذي يستخدمه a1one-js.
برنامج Go يتحقق من ملف التوقيع المرافق Ed25519 (<binary>.a1sig) باستخدام المفتاح العام. يكتشف الخوارزمية تلقائيًا (Ed25519 هي المفضّلة، مع دعم HMAC-SHA256 للملفات القديمة)، ويُبنى لنظام FreeBSD أيضًا ليعمل على أجهزة A1Firewall.
المحرّكات نفسها، وخمس طرق لدمجها في سير عملك
أضف سطرًا واحدًا إلى ملف .csproj — <Import Project="…\A1One.targets"/> — لتُحمى تلقائيًا كل عملية بناء أو نشر بنمط Release عبر Protect-Publish.ps1. ويمكنك ضبط <A1OneProtectorPath> و<A1OneMode> (متعدد أو مفرد) و<A1OneSkipPattern>.
انقر بالزر الأيمن على مجلد النشر واختر «احمِ باستخدام A1-One». تحفظ صفحة الخيارات: ProtectorPath والنمط واسم مالك العلامة المائية وخيار التشغيل التلقائي عند النشر. تُسلَّم الإضافة كملف .vsix موقّع، وتُثبَّت عبر مثبّت Inno أو يدويًا.
يحقن الأمر Install-Package A1One.Protector ملفي build/A1One.Protector.targets وProtect.ps1 تلقائيًا في عملية البناء التالية. اضبط <A1OneProtectorPath> مرة واحدة في Directory.Build.props ولا حاجة لأي شيء بعدها، فيما يتحكّم <A1OneEnabled> في التفعيل حسب الإعداد.
مثبّت مُجمَّع ينشر الحزمة كاملة (واجهة الأوامر والواجهة الرسومية وأداة التحقق وتكامل MSBuild وخطوط الإنتاج والقوالب وa1one-js والوثائق)، ويضيف A1-One إلى مسار النظام، ويربط ملفات .crproj، ويثبّت إضافة Visual Studio اختياريًا. تثبيت على مستوى الجهاز يتطلب صلاحيات مسؤول.
حزمة محمولة للبيئات المقيّدة. فك الضغط في أي مجلد ثم شغّل SETUP.bat — تضيف أداة الحماية إلى مسار المستخدم وتنشئ اختصارات في قائمة «ابدأ»، دون الحاجة إلى صلاحيات مسؤول. وتتضمّن UNINSTALL.bat لإزالة نظيفة.
بوابة التجربة، والتفعيل المرتبط بالجهاز، والتحقق من علامة المحتوى
أداة إدارية داخلية تصدر ملفات .lic موقّعة بخوارزمية RSA ومرتبطة ببريد العميل وبصمة جهازه. ويتضمّن الترخيص مستوى الخطة (BASIC أو PRO أو ENTERPRISE) وتاريخ انتهاء الصلاحية وعدد المقاعد. ويُسلَّم المفتاح العام مع كل عملية تثبيت.
عند أول تشغيل يُنشأ ملف a1one-builder.trial بجوار Confuser.CLI.exe فتبدأ مرحلة التجربة، وتعرض لافتة عدد الأيام المتبقية. وبعد انتهاء المدة ترفض البوابة التشغيل وتعرض رابط الشراء بعد فحصه مباشرة، فيرى العميل protector.a1-soft.com عند توافره وa1-soft.com عند تعذّره.
يحمل كل ملف محمي بصمة A1.ContentHmac ثابتة النتيجة مشتقّة من المفتاح المشترك a1one.key. وتنتج إعادة حماية الملف نفسه البصمة ذاتها، ويستخدمها A1Verify لكشف أي تغيير في بايتات الملف بعد الإصدار، بما في ذلك تجريد التوقيع.
تجربة مجانية لمدة 14 يومًا دون بطاقة ائتمانية. حمّل المثبّت أو ثبّت حزمة NuGet مباشرة.
We use cookies to improve your experience.