Following up this topic:
I have managed to find out how to send LIS and GET commands and how to parse results using fd23 and fd24 characteristics.
But the resulting binary content fetched via GET command contains only a small beginning part of the required jpeg file (13K out of 100K file). Nevertheless, the MD5 checksum provided with the fetched binary fits the fetched content, which means the translation wasn’t broken, but the drone deliberately gave me a smaller chunk of file and confirmed it with the MD5 sum.
Is it a firmware bug, or is there a workaround for the situation?