IMPORTANT: Before doing anything... Remember this is a GPL project = I take no responsibility of what will happen, if you use this software.

Ok, undestood? Good. And now let's get to the point...

How to read firmware using libzenstone

Windows (x86):

Windows (x64):

Linux

Possible errors

First of all, if any error occurs - don't worry. Program only reads the content of device, it doesn't write anything. So you can just unplug the mp3 player and if attached again it would work as before.

Other devices

Well, there is a possibility to read firmware not only from Zen Stone. Just use the -pid and -vid options to specify yours device Vendor and Product id (can be checked using lsusb on Linux or install-filter-win from libusb on Windows).
Devices with high probability of working (same chip - STMP3550): Generally, you can try reading firmware from all devices Sigmatel STMP3xxx chips, it shouldn't do any harm to your mp3 player because the read command is the same for all chips.

I have tried to read firmware of PENTAGRAM Vanquish VOLT:
libzen.exe -i -vid 0x066f -pid 0x8000
libzen.exe -p -vid 0x066f -pid 0x8000
Only -i mode was succesfull:
VID=0x066F, PID=0x8000
Chip id: 0x3700
Protocol version: 0x0600
-r mode ended with timeout, protocol for STMP3700 chip based mp3 is different. The device wasn't harmed :)

Some technical crap

A list of all memory banks on Zen Stone:
Bank 1 [DATA] 1061421056B -> FAT content
Bank 4 [SYSTEM] 262144B -> bootmanager.sb
Bank 5 [SYSTEM] 524288B -> usbmsc.sb (mass storage driver)
Bank 6 [SYSTEM] 262144B -> stmpsys.sb (system on chip)
Bank 7 [SYSTEM] 1310720B -> resources.bin
Bank 8 [SYSTEM] 1310720B -> don't know, copy of resources
Bank 9 [SYSTEM] 7864320B -> don't know, 0xFF 0xFF 0xFF and so on...

The difference between this files and files that you can download with updater from internet are:
  1. Different beggining, .sb files has some ASCII info about product and component version
  2. Different size, .bin files have size divided by 2048 (sector size), unnecessary bytes are filled with 0xFF