Efforts to reverse engineer the Quanscheng UV-K5 radio
Go to file
sq5bpf ae2f01df84
Update README
Changed the chirp instructions so that they will work for windows users too
2023-05-21 15:12:41 +02:00
LICENSE initial commit 2023-05-15 22:14:58 +02:00
README Update README 2023-05-21 15:12:41 +02:00
UVK5_memory_map_20230515_2.ods initial commit 2023-05-15 22:14:58 +02:00
deobfuscate.py initial commit 2023-05-15 22:14:58 +02:00
sample_read.txt initial commit 2023-05-15 22:14:58 +02:00
sample_write.txt initial commit 2023-05-15 22:14:58 +02:00
uvk5.py Add experimental chirp driver for the UV-K5 2023-05-21 12:55:05 +02:00

README

Efforts to reverse engineer the Quanscheng UV-K5 radio
(c) 2023 Jacek Lipkowski <sq5bpf@lipkowski.org>

Licensed cc-by-sa-4.0

This repository contains my efforts at reverse engineering the programming
protocol and memory contents of the Quansheng UV-K5 radio, so that the radio
is supported by opensource software (chirp or other).



Files in this repository:

UVK5_memory_map_20230515_2.ods is the memory map i've reverse engineered using
the UK-K5 emulator.

sample_read.txt - dump of communication while reading the radio 

sample_write.txt - dump of communication while writing to the radio 

deobfuscate.py - a script to deobfuscate reading the above files. usage:
./deobfuscate.py < sample_read.txt |less

uvk5.py - experimental driver for chirp. Sometimes it's more useful than
hexediting by hand. It will be later removed it i can get it into the chirp
repository.


To use the experimental chirp driver:

- Install chirp-next, minimum version 20230515

- Download the uvk5.py file from this repository

- Enable developer mode in chirp (Help -> Developer mode), restart chirp

- File -> Load module , select the uvk5.py file that you've downloaded

- Now you can select the UV-K5 from the list of radios

- Download a copy of the radio memory with k5prog or chirp and keep it safe.


Resources:

Quansheng UV-K5 EEPROM programmer
https://github.com/sq5bpf/k5prog
 
k5prog is a tool to read and write the radio eeprom. This can be used to
reverse engineer the eeprom contents, backup the radio etc.


Quansheng UV-K5 emulator
https://github.com/sq5bpf/k5emulator

k5emulator is a tool that looks like a real radio to UV-K5 programming
software. The eeprom contents are stored in a file. Changes to this file can
be studied to see what the original software does.

Quansheng UV-K5 Firmware collection
https://github.com/amnemonic/Quansheng_UV-K5_Firmware

amnemonic's repository of firmware. Also has various bits and pieces reversed.
This includes the firmware files xor obfuscation, which is great because in
the future maybe they will be reverse engineered to see what the radio is
capable of, or to make opensource firmware for this radio.