From 2bb17f3df9ffe7ac37df5455e4a1863a39d64546 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 15 Feb 2022 15:41:55 +0100 Subject: pySim-shell: export: Add FCP template to export The FCP template provides us a lot of context, like the permissions of a given file. Let's make it part of the 'export' output, both in raw and in decoded form. Change-Id: I05f17bbebd7a9b3535204b821900851a5f66e88f Closes: OS#5457 --- pySim-shell.py | 2 ++ pySim/filesystem.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pySim-shell.py b/pySim-shell.py index 12f35fd..ad76ba0 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -532,6 +532,8 @@ class PySimCommands(CommandSet): structure = self._cmd.rs.selected_file_structure() self._cmd.poutput("# structure: %s" % str(structure)) + self._cmd.poutput("# RAW FCP Template: %s" % str(self._cmd.rs.selected_file_fcp_hex)) + self._cmd.poutput("# Decoded FCP Template: %s" % str(self._cmd.rs.selected_file_fcp)) for f in df_path_list: self._cmd.poutput("select " + str(f)) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 8303a4b..f8b86c5 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1221,6 +1221,8 @@ class RuntimeState(object): self.card = card self.selected_file = self.mf # type: CardDF self.profile = profile + self.selected_file_fcp = None + self.selected_file_fcp_hex = None # make sure the class and selection control bytes, which are specified # by the card profile are used @@ -1464,7 +1466,8 @@ class RuntimeState(object): select_resp = f.decode_select_response(data) else: select_resp = self.probe_file(name, cmd_app) - # store the decoded FCP for later reference + # store the raw + decoded FCP for later reference + self.selected_file_fcp_hex = data self.selected_file_fcp = select_resp self._select_post(cmd_app) -- cgit v1.2.3