just a build script
  • PowerShell 100%
Find a file
2026-01-12 17:13:21 +08:00
config Initial commit: Flutter Engine build system with Hikari obfuscation 2026-01-12 15:44:18 +08:00
patches Add platform_handler fix patch for DWORD to int conversion 2026-01-12 17:08:37 +08:00
.gitignore Fix .gitignore - exclude large directories and output 2026-01-12 17:13:21 +08:00
build.ps1 Refactor patch application - use direct modifications for reliability 2026-01-12 17:13:03 +08:00
README.md Initial commit: Flutter Engine build system with Hikari obfuscation 2026-01-12 15:44:18 +08:00

Flutter Engine Build System

Build Flutter Engine for Windows with optional Hikari LLVM obfuscation.

Features

  • 🔧 RustDesk Compatible - Matches snapshot hash ccfc17e3575a1ecc23c0d7bf8ff6f6cc
  • 🔒 Hikari Obfuscation - Optional code obfuscation using Hikari LLVM
  • 🚀 One-Click Build - Single PowerShell script handles everything

Requirements

  • Windows 10/11 x64
  • Visual Studio 2022 with C++ workload
  • Git
  • 7-Zip (for Hikari extraction)
  • ~50GB free disk space

Quick Start

Standard Build (No Obfuscation)

.\build.ps1

With Proxy

.\build.ps1 -UseProxy -ProxyAddress "http://127.0.0.1:7890"

With Obfuscation

# Light obfuscation (~20MB, faster build)
.\build.ps1 -Obfuscate light

# Full obfuscation (~400MB+, slower build)
.\build.ps1 -Obfuscate full

Quick Rebuild (Skip Download)

.\build.ps1 -SkipFetch -SkipSync -Obfuscate light

Obfuscation Modes

Mode Features Size Build Time
none No obfuscation ~18MB ~10 min
light String encryption, indirect calls ~20MB ~15 min
full All features (FLA, CIE, CFE, etc.) ~400MB+ ~60 min+

Full Obfuscation Features

  • indbr - Indirect branch with encrypted targets
  • icall - Indirect function calls with encrypted addresses
  • indgv - Indirect global variable references
  • cie - Integer constant encryption
  • cfe - Floating-point constant encryption
  • fla - Control flow flattening
  • cse - C string encryption
  • rtti - RTTI name erasure

Configuration

Edit config files in config/ directory:

  • hikari.json - Full obfuscation config
  • hikari_light.json - Light obfuscation config

Patches

Located in patches/ directory:

Patch Description
flutter.patch Flutter engine modifications (RustDesk)
dart_sdk.patch Dart SDK modifications (RustDesk)
clang21_compat.patch Clang 21 compatibility fixes
hikari_obfuscation.patch Hikari configuration injection

Output

Built DLLs are copied to output/ directory:

  • flutter_windows.dll - Standard build
  • flutter_windows_light.dll - Light obfuscation
  • flutter_windows_full.dll - Full obfuscation

Version Info

Component Version
Flutter 3.24.5
Engine Commit a18df97ca57a249df5d8d68cd0820600223ce262
Dart SDK 3.5.4
Snapshot Hash ccfc17e3575a1ecc23c0d7bf8ff6f6cc
Hikari LLVM 21.1.4 / obf 1.8.1

Troubleshooting

Proxy Issues

# Clear proxy
$env:HTTP_PROXY = $null
$env:HTTPS_PROXY = $null

Build Errors

  1. Ensure Visual Studio 2022 is installed with C++ workload
  2. Run from "x64 Native Tools Command Prompt for VS 2022"
  3. Try clean build: .\build.ps1 -Clean

Size Too Large

Use light obfuscation mode instead of full:

.\build.ps1 -Obfuscate light

License

MIT License - See individual components for their licenses.