Skip to content

Releases: CrazyCoder/free2-updater-patch

v1.0.0 - VID Check Bypass Patch

29 Jan 20:24

Choose a tag to compare

Release Notes

Patch for JieLi firmware updater (UpdateFirmware.exe) that bypasses the VID version check which incorrectly rejects compatible firmware.

The Problem

The updater fails to flash firmware even when device and firmware VIDs appear identical in the UI, showing error -30: "The firmware you selected does not match the device."

Root cause: A buffer handling bug in jl_firmware_upgrade_x86.dll. The firmware VID function (JL_getUfwPidVid) fills the buffer with 0xFF garbage bytes instead of proper null termination. When parsed by QString::toFloat():

  • Device VID: "0.12\0..." → parses to 0.12 (correct)
  • Firmware VID: "0.12\xFF\xFF..." → parses to 0.0 (garbage causes parse failure)

The comparison 0.12 == 0.0 fails, triggering error -30.

This bug is locale-dependent — it works in Chinese (GBK) locale but fails in Western/Cyrillic locales due to how Qt handles the invalid 0xFF bytes.

The Fix

Single-byte patch at file offset 0x2BE2 that changes 7B (jnp) to EB (jmp), bypassing the VID comparison entirely.

Item Original Patched
Offset 0x2BE2 0x2BE2
Bytes 7B 07 EB 07
Instruction jnp +7 jmp +7

Downloads

File Description
UpdateFirmware_patched.exe Patched version ready to use
patch.ps1 / patch.cmd Scripts to patch the original yourself
verify.ps1 Script to verify the patch was applied correctly

Original file hash (SHA256): 76924667c6a75fec3a34f8a432c643e5a8cced3e0bca07866f0d69d1d2431e90

Alternative: Locale Emulator

If you prefer not to patch the executable, you can run the original with Chinese locale using Locale Emulator:

  1. Install Locale Emulator
  2. Right-click UpdateFirmware.exe → Locale Emulator → Run in Chinese (Simplified)

Compatibility

  • Updater App: hanlinyue-win-1.2.3-ia32
  • Tested Device: Xteink X4 with E730LJ firmware (VID 0.12)

Usage

Replace UpdateFirmware.exe in your installation directory with the patched version:

C:\Users\<username>\AppData\Local\Programs\hanlinyue\resources\extraResources\exe\

Warning

Device VID
Free2 0.12
Free3 0.13

Before flashing, verify that the Device VID and Firmware VID displayed in the updater match your device generation. This patch bypasses the VID check, but flashing firmware for the wrong hardware generation may brick your device.