Posts

Decoding raw RDS hex data with Copilot

Image
Many years ago I wrote a simple SDR# plugin which stores raw RDS hex data in RDS Spy format. I asked Copilot to examine some blocks of raw RDS hex data with prompt: this is RDS data can you decode it?   Copilot asked to verify if it is RDS Spy or Redsea or other format. Copilot decoded raw RDS hex data successfully.    

Inspecting Alinco DJ-X100E EditTool software

Image
Visual Studio 2022 dotPeek Alinco EditTool ver.1.00E dotPeek -> Export EditTool.exe to VS solution Form1.cs Form6.cs Change RxModType e.g. to 2 or 3 Modify .csproj file, add line: <LangVersion>12.0</LangVersion> Build and run solution Open the Version form and type e.g. 141421356 on the numpad. ? 

Inspecting BC125AT_SS software

Image
BC125AT_SS.exe can be reverse engineered to Visual Studio solution with dotPeek. It is not necessary to install BC125AT_SS, it can be extracted with msiexec, e.g. msiexec /a setup.msi /qb targetdir=g:\temp\uss\ex Visual Studio 2022 proposes to upgrade the solution to .NET 4.8, it is ok to upgrade it to 4.8. Modify .csproj file, add line: <LangVersion>12.0</LangVersion> otherwise there is err messages: Feature 'primary constructors' is not available in C# 8.0. Please use language version 12.0 or greater #nullable disable is not supported searchserialportform.cs, modify line where str variable is defined, add initilization of str var, string str = "" Many Uniden scanners have quite similar specs (remote protocol, mem organization, modes, etc...). It is possible to change BC125AT_SS to work (to some extent without big mods) with other models by changing the code in where there is a check which model string scanner responds to MDL cmd.   

Bearmock experiments

Image
  https://techcoderadio.blogspot.com/2025/04/bearmock-for-python-3.html Bearmock seems to work better when running in Python 3.14.1 and BC_VUP_V2 with 38400 bps COM speed setting BC125AT scn file decoded with Bearmock: srec_info bc125at-decoded.s19 Format: Motorola S-Record Header: "" Execution Start Address: 00000000 Data:   000000 - 03FFFF BR330T scn file: BC_VUP_V2 showed error: the firmware file is too old for the scanner. After changing the model variable in Bearmock code as UBC3500XLT decoding runs ok. from time import sleep from serial import Serial __MODEL = 'UBC3500XLT' __PORT = 'COM4' __SPEED = 9600 __TIMEOUT = 0  # non-blocking __READ_SLEEP_SECS = 0 __OUT = 'br330t-decoded.s19' .... Firmware data seems to be partly scrambled

BT scan and find 2

Image
  TrackUnit dev requesting pairing when reading services Auma Riester Gmbh device and Auma Android app

More ActiveGPS inspection with Python/Wireshark/Ghidra

Image
Python, Wireshark, ActiveGPS.exe, Ghidra My ActiveGPS device, purchased maybe 15 years ago (no more produced)  Hardware used: https://techcoderadio.blogspot.com/2025/04/some-activegps-pymocking.html Enhanced version of the PyMock for the ActiveGPS (due to hw setup many retries required when running with sleep or flush .... maybe com0com would work better?). B = b'0303 ... firmware version, 3.6 is the latest version import serial import time A = b'00' B = b'03036F72AD18F8BF4B07DA01120B3215AF00' C = b'00000' D = b'00' E = b'00' J = [      b'18F8BF4B07DA01120B3215AFFFFFFFFF',      b'409CA961000050124EF175426C73AE41',      b'14060D0907DB5B58421D474A4A00FFFF',      b'FFFFFFF133FB33FB33FA33FA33FA33FA',      b'33FA33FA33FA33FA33FA33FA33FA33FA',      b'33FA33FFFFFFFFFFFFFFFFFFFFFFFFFF',      b'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF',      b'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000'...

Inspecting Baofeng UV-5R Mini CPS

Image
BF-5RMini_CPS.exe dotPeek Visual Studio Ghidra Innoextract (Linux) DetectItEasy Installer extraction with Innoextract  DetectItEasy shows that CPS software is obfuscated with modified EP + CLR constructor Ghidra dotPeek to VS solution BF-5RMini_CPS.sln - mostly readable code