ValetonSuite APK Patcher - BlockType B3 - Portable
=================================================

One Windows EXE with all required application dependencies included.
Windows 10/11 x64. No Python, Java, Android SDK or .NET installation needed.
Run as a normal user; administrator privileges are not needed. Works offline.
Allow approximately 1 GB free disk space and 2 GB available memory.
The EXE is unsigned. Keep this README.txt next to the EXE.

Use
---
1. Open ValetonSuiteAPKPatcher.exe.
2. Optionally click Check components.
3. Select your ORIGINAL Valeton Suite V2.1.0 for Android.apk.
4. Choose a NEW output filename and click Create & verify.
5. Wait for SUCCESS. Copy the generated APK to your Android phone and install.

Only the exact original below is supported; filenames may differ.
Original APK SHA-256:
fae17be7333db04e36a3e493fe0f8d60e31e45f151f332fd69b3bae793bedf45
Generated APK SHA-256:
99074e384f58508bcf5ab3231943e7bba7a70c12a288932a8d34239e7aa18094
Generated APK size: 265,831,536 bytes.

The original is never overwritten. Existing outputs, other versions,
corrupt originals and already patched APKs are rejected. No phone or device
connection is required. This application does not create or flash firmware.

Android installation and compatibility
-------------------------------------
The app is named ValetonSuite, package com.simon.valetonsuite. It can coexist
with the official Valeton Suite and update our existing B1/B2/B3 installation
because the output retains the same signing certificate. Keep your custom
installation and its data; do not uninstall it just to apply this output.
The result is exactly the previously released B3 APK, not a newer revision.
Only ARM64 and x86_64 Android runtimes are included; 32-bit-only systems are
unsupported. CPU/OS architecture, not phone manufacturing year, determines
compatibility. Grant Bluetooth/Nearby devices permissions and reconnect.
Avoid controlling the device from both applications simultaneously.

Requires matching two-slot PARA RC1 firmware. GP-150 SHA-256:
cb9b92a2dfc7d4841c5a1b62e5e12e43613a98c3fa4c6b156a357819b29ce26b
GP-180 SHA-256:
ab1b92975472983f7250150e639c0f70a009efac42a170960f2f8684b5ec8976
The same APK supports both modified devices. No firmware update is needed
for this APK fix. Firmware patchers are distributed separately.

Block controls
--------------
Open the effect selector for the physical WAH or AMP slot. The Block type
dropdown is below the effect list, above Confirm. Choose PRE, WAH, DST, AMP,
NR, EQ or MOD. Changing type selects that type's None effect; then choose
the desired effect. Only the selected category is listed. The slots remain
independent; other slots retain their normal catalogs.
B3 retains B2's refresh of the effect-chain icon after custom effect/type changes without
sending an on/off command. On either device itself, choose None and briefly
press PARA to cycle the type. With an active effect PARA keeps its parameter
page function. CAB, N-S, DLY, RVB and VOL remain fixed.

B3 preset fix
-------------
B3 recognizes original WAH/AMP effect IDs received when switching stock
presets. It converts them to equivalent custom IDs before the editor reads
them, fixing a catalog mismatch that can leave the parameter panel empty.
Other slots, typed custom IDs, parameters, bypass and resource flags are
preserved. The bottom Block type control and immediate icon refresh remain.
The B3 APK passed offline tests; confirmation on the affected phone is still
needed. This modifier reproduces that exact signed B3, not another revision.

Verification and signing
------------------------
The patcher checks the original hash, each reconstructed ZIP entry and
compressed stream, exact final APK hash, ZIP CRCs, ABI list, block catalogs,
presence of the APK signing block, saved file read-back and unchanged input.
It restores the existing signed bytes, including the public signing block;
it does not sign a new APK and includes NO private signing key.
The exact target APK's v2/v3 signatures and ZIP alignment were previously
verified using Android Build Tools. Matching its complete SHA-256 pins that
verified signed file; the patcher does not run a separate signature verifier.
Signing certificate SHA-256:
700397d27d4bb571afc0b384b3f06c32c9d99f5abeac05414c725851b9153be5

These file checks do not test running Android/Flutter, Bluetooth or physical
device behavior. Verify the controls on your phone before relying on them.

Bundling and protection
-----------------------
The EXE extracts its runtime to a unique temporary folder and normally
cleans it on exit. No downloads, external interpreter, SDK or signing keys
are needed. The patch recipe contains copy operations and changed bytes,
not a complete original or modified APK. Project source files are not shipped.
The patch engine uses optimized bytecode with renamed internal identifiers.
EXE, engine and recipe hashes detect corruption or modification. These are
lightweight analysis deterrents, not DRM or a security boundary; skilled
analysts can recover logic and bypass checks. No anti-debugging, telemetry,
machine binding or secret encryption key is used. The EXE has no Authenticode
publisher signature; a checksum alone does not authenticate its publisher.

Sharing
-------
Share this EXE and README together. Recipients supply their own original APK.
No complete APK, firmware or private signing material is bundled. This is an
unofficial experimental tool, not affiliated with Valeton. Packaging as a
patcher does not itself establish permission to redistribute vendor changes.
Preserve the third-party notices below when redistributing this package.

Command line (optional, no console window)
-----------------------------------------
ValetonSuiteAPKPatcher.exe --check --report check.json
ValetonSuiteAPKPatcher.exe --create "original.apk" "new.apk" --report result.json
ValetonSuiteAPKPatcher.exe --verify "new.apk" --report verify.json
Output and report filenames must be new. Quote paths containing spaces.
Exit code 0 means success; nonzero means failure.
