Commit graph

375 commits

Author SHA1 Message Date
RustyProgrammerCmd d0f1a52650 Port remaining MAS modules to Rust
Add the remaining utility scripts and deep TSforge store layers:
- util/extract_oem — $OEM$ / SetupComplete.cmd generation
- util/troubleshoot — SPP/licensing reset actions + HWID partial-key table
- Ohook product tables (ohook_data) and planner
- libtsforge: constants, product_key packing/base24, and the RSA/AES/HMAC
  crypto backend (behind the `crypto` feature)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 02:03:26 -05:00
RustyProgrammerCmd 99d211a1bf HWID: port the verbatim key/edition table + fallback resolution
Add src/data/hwid_keys.rs — the 34-row HWID key/edition table and the 5-row
alternate-edition fallback table, transcribed verbatim from HWID_Activation.cmd
(:hwiddata / :hwidfallback, git history f34d025). Generated programmatically
from the source rows (split on the batch's collapsed `_` delimiters, `%f%`
splitter stripped) so no key was hand-typed; a test shape-checks every product
key (5x5 groups) and asserts the row counts.

Wire it into hwid.rs via resolve_key(sku, edition): prefer the working primary
key, else the alternate-edition fallback (the script's :dk_checksku selection
for the common single-branch case; multi-branch SKUs like EnterpriseS=125 are
noted for version refinement).

53 tests pass (36 mas + 17 libtsforge), clippy clean, offline.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 01:33:42 -05:00
RustyProgrammerCmd 5d6812d379 Port HWID/KMS38 activation and start libtsforge SPP-store codec
Continues the Rust port with the two tractable remaining slices plus the
foundation for the deepest one. Analyzed the deleted scripts from git
history (f34d025) to keep data and mechanics faithful.

HWID (src/activation/hwid.rs):
- Region decision (30-country skip list -> GeoId 244) and the two-method
  apply retry (ClipSVC restart, then `clipup -v -o`, success = tokens.dat)
  as portable, unit-tested orchestration. ClipSVC ops added behind the Spp
  trait; the Windows backend drives them via std::process/std::fs.
- Corrected: GenuineTicket.xml is an in-process RSA-signed XML build (not
  gatherosstate/clipup) — generation is portable once the shared RSA layer
  lands; documented accordingly.

KMS38 (src/activation/kms38.rs):
- Corrected mechanism: not a ClipUp flow but a detect-and-preserve variant
  of Online KMS. Ported the load-bearing pure logic (eligibility gate
  build>=14393 excl. EnterpriseG/GN, >180-day lease detection, ceil grace
  days) with tests; loopback 127.0.0.2 pin via a new Spp op (reg add).

libtsforge (new workspace crate, dependency-free, 17 tests):
- The deleted TSforge script embeds the full LibTSforge C# reference; this
  ports it in layers. CRC-32/BZIP2 (fixes a wrong reflected-IEEE CRC) and
  SHA-256, both test-vector verified; PsVersion detection, Align, UTF-16;
  the Vista/Win7 physical-store dialects and both VariableBag CRC dialects
  (incl. the CRCBlockModern unaligned-CRC-input quirk), all round-trip
  tested. RSA/AES/HMAC deferred behind a crypto-trait seam.
- tsforge activator wired to libtsforge (store-version selection); still
  returns a typed Unsupported until TokenStore + RSA land.

48 tests pass (31 mas + 17 libtsforge), clippy clean, offline. The Windows
backend additions compile only on Windows and are unverified on this host.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 01:09:01 -05:00
RustyProgrammerCmd 7fbe6fdf21 Port MAS to Rust
Re-architect the Microsoft Activation Scripts from ~46k lines of Windows
batch into an idiomatic Rust crate (MAS/). Not a line-by-line translation:
typed enums + Result flow replace goto/errorlevel/global-set, and a single
`Spp` trait is the only seam between portable logic and Windows internals.

- Portable core (compiles + 20 tests pass, zero deps): model (real SPP
  GUIDs / WMI class names / LicenseStatus codes), typed errors, CLI menu,
  Check_Activation_Status read path, Online KMS orchestration with host
  fallback, stub backend.
- Windows backend (cfg(windows) + `winapi` feature): WMI/COM via the
  `windows` crate, all unsafe/VARIANT handling encapsulated behind `Spp`.
  Written from the documented SPP contract; not compiled on the Linux port
  host.
- HWID/KMS38/Ohook/TSforge scaffolded against analyzed specs (in module
  docs) — unported paths return a typed Unsupported error rather than
  falsely reporting activation. Roadmap in MAS/README.md.

The original .cmd scripts remain recoverable in history (f34d025, MAS 3.12).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 00:25:26 -05:00
WitherOrNot f34d025d51 MAS 3.12 2026-07-04 03:48:39 -04:00
Lyssa a9d539e763 Fix malware detection messages 2026-06-11 21:21:17 +04:00
Lyssa d084ef3fb6 Update some troubleshoot messages 2026-06-11 20:10:30 +04:00
Lyssa bf9da8b5d8 Remove "Probable" from malware error 2026-06-11 17:27:03 +04:00
WitherOrNot 166814e52d Update separate file versions 2026-05-07 14:01:10 +00:00
May 694976cd35 cleanup 2026-05-07 07:09:03 +00:00
WitherOrNot b990647262 more masver 2026-05-02 02:24:41 -04:00
WitherOrNot 7e5cda65c1 masver 2026-05-02 02:15:09 -04:00
Wither OrNot d1c0050718 Add Years 4 and 5 for Windows Server 2012/2012R2 ESU 2026-04-17 15:03:37 -04:00
WindowsAddict-Alt2 1baa4e18ed Add OutlookForWindows in app selection menu 2026-03-09 03:49:09 +05:30
WitherOrNot 33b0ac9cc7 Add Windows 10 LTSB 2016 ESU 2026-02-21 19:25:30 -05:00
Lyssa 97602941e5 lol 2026-02-01 11:25:52 +04:00
Lyssa 773b758f4d Deal with false positive (again) 2026-01-31 21:40:41 +04:00
Lyssa c07796e405 Change file hash 2026-01-30 18:08:15 +04:00
Lyssa 4fdefbc0d5 Remove some more empty lines 2026-01-28 17:58:08 +04:00
Lyssa 63da908027 Fix mistakes 2026-01-28 17:01:43 +04:00
Lyssa 146d828b46 Update AIO script to 3.10 2026-01-27 21:35:55 +04:00
Lyssa d7302ee41b Update version number to 3.10 2026-01-27 21:12:08 +04:00
Lyssa 72cd62552e Remove newlines before blue lines 2026-01-27 20:59:20 +04:00
Lyssa 8d8ed5d098 Suggest in-place repair if license package files are missing 2026-01-27 20:27:33 +04:00
Lyssa f0d13cb216 Remove unnecessary insider check in Ohook script + make CAS beginning comment consistent with other scripts 2026-01-27 17:12:28 +04:00
Lyssa a93b4b3f4b Add warnings for Smart App Control 2026-01-26 15:40:36 +04:00
WitherOrNot a353813814 Add Windows Server 2016 ESU 2026-01-25 21:04:32 -05:00
Lyssa 3024b1ca98 Evade false flag 2026-01-16 11:27:26 +04:00
May da0b2800d9 fix git url 2025-12-12 20:19:17 +00:00
WindowsAddict 5f40fb4a79 Remove email 2025-11-22 12:35:29 +05:30
WindowsAddict f69e4ff432 3.9 2025-11-19 03:37:36 +05:30
WindowsAddict f8f37b38fe Don't auto change IoTEnterprise to Enterprise in KMS script 2025-11-19 02:53:24 +05:30
WindowsAddict 3c7178aaf6 Remove the deprecated Semi-Annual Preview channel in change update channel option 2025-11-18 13:53:38 +05:30
WindowsAddict 41783f7a23 Evade AV detections 2025-11-18 13:20:39 +05:30
WindowsAddict e7e73a8fbc Use Client-ESU license instead of Client-IoT-ESU (it has bugs) for IoTEnterprise edition 2025-11-18 12:44:37 +05:30
WindowsAddict 4958ddf474 3.8 2025-11-12 04:31:44 +05:30
WindowsAddict eeae1dd931 Add command to refresh ESU status 2025-11-11 22:08:51 +05:30
WindowsAddict d16661cc87 Suggest inplace repair upgrade when system files are missing 2025-11-11 21:25:04 +05:30
WindowsAddict 1ee7cd1e60 Improve wording 2025-11-11 21:11:51 +05:30
WindowsAddict 55cc6d95d1 Add more conditions before rebuilding ClipSVC licenses 2025-11-11 16:58:07 +05:30
WindowsAddict f4e08dac3d Update WLMS service check 2025-11-11 15:27:47 +05:30
WindowsAddict 979dfb750b Update as per abbodi1406's CAS
No KMS Client info when ADBA is shown
2025-11-11 14:46:32 +05:30
WindowsAddict 82f7cfe5f4 Auto select Quick repair option for Office 16.0 C2R.
Thanks to Yerong for the suggestion.
2025-11-11 04:15:09 +05:30
WindowsAddict 0a35a00266 Change key preference order in Change Windows edition script. Thanks to Magic. 2025-11-11 02:25:55 +05:30
WindowsAddict 4bf82f576c Improve KMS4k activation info 2025-11-09 16:54:55 +05:30
WindowsAddict 1e444671be Fix KMS4k activation info on 26100.7019 and later 2025-11-09 06:03:18 +05:30
WindowsAddict 0aee35e673 Add HWID support for WNC edition 2025-11-08 03:30:26 +05:30
WindowsAddict 77c4bacde6 Fix an issue in filtering where ESU IDs are not showing in manual option 2025-11-07 19:37:01 +05:30
WindowsAddict 117ccae4ed Change one combination for OEM folder 2025-11-07 19:06:09 +05:30
WindowsAddict 470d3b900e R.I.P. KMS38
CLiP licenses for KMS have been deprecated from build 26100.7019
2025-11-07 01:25:30 +05:30