commands: Fix read_binary() for non-zero offset

Similar to the fix in Ie1aeaab29701946233ed73db3331039690d695da
for update_binary(), read_binary() also contained a bug when treating
non-zero offsets.

Change-Id: Ic5c2f0ad1c1ec9c4e9c97e72895382f7b6fa9470
Related: OS#5254
diff --git a/pySim/commands.py b/pySim/commands.py
index cd2b5b3..d53cb3e 100644
--- a/pySim/commands.py
+++ b/pySim/commands.py
@@ -141,13 +141,14 @@
 		if length is None:
 			length = self.__len(r) - offset
 		total_data = ''
-		while offset < length:
-			chunk_len = min(255, length-offset)
-			pdu = self.cla_byte + 'b0%04x%02x' % (offset, chunk_len)
+		chunk_offset = 0
+		while chunk_offset < length:
+			chunk_len = min(255, length-chunk_offset)
+			pdu = self.cla_byte + 'b0%04x%02x' % (offset + chunk_offset, chunk_len)
 			data,sw = self._tp.send_apdu(pdu)
 			if sw == '9000':
 				total_data += data
-				offset += chunk_len
+				chunk_offset += chunk_len
 			else:
 				raise ValueError('Failed to read (offset %d)' % (offset))
 		return total_data, sw