spec: mention more EF to invalidate
IMSIPseudo.java: Cosmetic: fix missing space
Invalidate Kc, too
Invalidate TMSI, P-TMSI after changing IMSI
Now the ME doesn't try to send the TMSI anymore in the next LocationUpdating Request, it directly sends the IMSI.
add SIM REFRESH command after IMSI change
add make reflash
Makefile: add some .PHONY
add 'make list'
Test: Bytes.toStr()
refactor the menu, the mi2str() implementation, and tests
Instead of a sub-menu for changing the IMSI, just offer a dialog with thecurrent IMSI pre-filled in an edit field."Show IMSI" becomes just "Change IMSI" without changing anything.
Change mi2str() so that it simply returns a byte[] of the right size....
make writeIMSI() safe against invalid length
drop unnecessary 'new byte[]' before {...}
prompt(): add prefillVal arg
add Bytes.java
eliminate itemCount param from showMenu()
write user entered IMSI to SIM
add MobileIdentity as separate class, add test
Use fixed applet-project.mk to put Mobile Identity implementations in aseparate class MobileIdentity.java.
That allows trivially testing the MobileIdentity implementation outside of anactual SIM card environment: add a 'test' target to the Makefile and a...
fix applet-project.mk: allow multiple .java sources, separate jar target
copy applet-project.mk here, to be able to apply changes
readIMSI, writeIMSI
add Enter IMSI dialog
add hexdump()
Mobile Identity routines
return result of user interaction prompts
tweak indent in switch statement
more aggressively set private final on class vars
add showMsgAndWaitKey() to keep decoded IMSI on display
properly read IMSI as Mobile Identity (3GPP TS 24.008)
IMSIPseudo.java: fix up length somewhat
Since it is counting nibbles, we need to take the length, which is inbytes, two times. Also increase the size of the whole string, becausethere are additional numbers infront of the imsi, it seems.
There are still two numbers missing at the end, and there is a...
IMSIPseudo.java: remove unneeded return in showMsg()
IMSIPseudo.java: return if reading IMSI fails
sim-applet: flash: set --access-domain=00
Make the AC_NOT_FULFILLED error go away.
sim-applet/LICENSE: add Apache-2.0
IMSIPseudo.java: show exception error code
Current code gives E03 (AC_NOT_FULFILLED). The error codes are explainedin TS_101_476/Annex_A_HTML/sim/access/SIMViewException.html.
IMSIPseudo: implement "Show IMSI" (WIP)
This will need some adjustments before it actually works.
sim-applet/Makefile: add "delete" alias
IMSIPseudo.java: import all
It takes time to figure out where exactly a certain class/object/... islocated. Just import all of them. It does not seem to impact the size ofthe applet, as there's a blog post writing about performance that doesit the same way [1]. Besides, except for the HelloSTK hello world, I've...
IMSIPseudo.java: move showMsg down
IMSIPseudo.java: display menu
Add a menu with the following actions:
IMSI Pseudonymization1 Show LU counter2 Show IMSI3 Change IMSI
Selecting "Change IMSI" opens a submenu:
Change IMSI1 Set 1 as last digit2 Set 2 as last digit
Except for "Show LU counter", the actions are not implemented yet.
IMSIPseudo.java: rename showHello to showMsg
Add msg as parameter.
IMSIPseudo.java: rename menuItemText to title
IMSIPseudo.java: rename welcomeMsg to LUCounter
IMSIPesudo.java: simple LU counter
IMSIPseudo.java: show hello world on LU
sim-applet/README.md: describe flashing
sim-applet: add "flash" and "remove" targets
Using wrong arguments for shadysim.py (e.g. wrong --max-menu-entry-text)results in cryptic errors, so let's version them along with the source.
IMSIPseudo.java: change menu entry title
To make this work, flash with increased --max-menu-entry-text option forshadysim.py. I'll add a "make flash" target for convenience.
IMSIPseudo.java: convert line endings to unix
sim-applet: rename to org.osmocom.IMSIPseudo
Makefile: adjust path to sim-tools
sim-applet: start with hello-stk
Import source from here: https://git.osmocom.org/sim/hello-stk
sim-applet: create README.md stub
Prepare the directory structure.