Despite the fact that Samsung releases many devices every year, the company does not offer a user-friendly official firmware download portal for its Galaxy-branded smartphones and tablets. You can either try your luck with the update checker built into the settings or use the Samsung Smart Switch app – neither of these options will satisfy power users wanting to get the latest update. now. So Samsung enthusiasts often turn to third-party services to download updates, which are well-packaged and ready to be flashed through Odin. Tools such as SamFirm and Frija are also widely used by the community, as one can easily query Samsung FUS (Firmware Update Server) and download the latest version of their model using these utilities.
However, none of the aforementioned firmware downloaders are open source. The tools use a specific library of the Smart Switch distribution in order to authenticate with the update server. The library itself is obscured using Themida, which is one of the reasons utilities are difficult to port to operating systems other than Microsoft Windows. Nevertheless, XDA Junior Member nn000 has managed to overcome these barriers.
After carefully reverse engineering the download protocol, the developer decided to code the downloader in Python, which means the end tool can be run on virtually any operating system. The result is Samloader, a cross-platform CLI application that can retrieve Samsung firmware packages without using a proprietary DLL. This extremely small script (less than 100KB) can also decrypt OTA artifacts and create a standard flashable package.
How to use Samloader to download the firmware of your Samsung Galaxy device
- Make sure Python 3 and pip are installed.
- Download the Samloader codebase using this link or clone the repository using git:
git clone https://github.com/nlscc/samloader
- Install using pip:
cd samloader pip3 install .
- Check the latest firmware version for your model:
samloader checkupdate [model] [region]
- Download the firmware version specified for a given phone and region to a specified file or directory:
samloader download [version] [model] [region] [out]
- Decrypt encrypted firmware artifacts:
It should be noted that Samloader does not support each Samsung update channel there. Some operators (like AT&T and Verizon) do not provide updates through Samsung’s OTA server. Also, you cannot download beta channel firmware using this script.
Samloader: GitHub Repo ||| XDA Discussion Thread