aboutsummaryrefslogtreecommitdiffstats
path: root/pySim-prog.py
diff options
context:
space:
mode:
authorAlexander Chemeris <Alexander.Chemeris@gmail.com>2013-07-02 16:56:55 +0400
committerSylvain Munaut <tnt@246tNt.com>2013-07-02 15:19:09 +0200
commit21885249cfb777f299c36b6def8bb768f61942a3 (patch)
tree4016c5e52e1f493ed2090399c9d11b027335be61 /pySim-prog.py
parent5da8d4e0d4be75974bf83e8562911eb7cc4f277d (diff)
Implement setting of EF.ACC file in GrcardSim and _MagicSimBase
From: Alexander Chemeris <Alexander.Chemeris@gmail.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'pySim-prog.py')
-rwxr-xr-xpySim-prog.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/pySim-prog.py b/pySim-prog.py
index 46b1842..b0b65ef 100755
--- a/pySim-prog.py
+++ b/pySim-prog.py
@@ -105,6 +105,9 @@ def parse_options():
parser.add_option("--op", dest="op",
help="Set OP to derive OPC from OP and KI",
)
+ parser.add_option("--acc", dest="acc",
+ help="Set ACC bits (Access Control Code). not all card types are supported",
+ )
parser.add_option("-z", "--secret", dest="secret", metavar="STR",
@@ -316,6 +319,17 @@ def gen_parameters(opts):
'00' # TP-Validity period
)
+ # ACC
+ if opts.acc is not None:
+ acc = opts.acc
+ if not _ishex(acc):
+ raise ValueError('ACC must be hex digits only !')
+ if len(acc) != 2*2:
+ raise ValueError('ACC must be exactly 2 bytes')
+
+ else:
+ acc = None
+
# Ki (random)
if opts.ki is not None:
ki = opts.ki
@@ -346,6 +360,7 @@ def gen_parameters(opts):
'smsp' : smsp,
'ki' : ki,
'opc' : opc,
+ 'acc' : acc,
}
@@ -359,6 +374,7 @@ def print_parameters(params):
> IMSI : %(imsi)s
> Ki : %(ki)s
> OPC : %(opc)s
+ > ACC : %(acc)s
""" % params