Understanding Default Apps

Hi All,
I recently received my J3R180 Test Card (https://dangerousthings.com/product/j3r180-test-card/). The intention is to test out some applets before I opt for the full Flex Secure.

I am trying to understand some of the applets that came preinstalled, how do I know what each is, and what is safe to remove?

The applets have an Applet Id but I don’t know how to relate that to a specific applet.

Also if there are system applets that should not be touched I would like to get more information about it and ensure I do not accidentally remove it.

Here is what GP is reporting as being installed:

# Warning: no keys given, defaulting to 404142434445464748494A4B4C4D4E4F
ISD: A000000151000000 (OP_READY)
     Parent:   A000000151000000
     From:     A0000001515350
     Privs:    SecurityDomain, CardLock, CardTerminate, CardReset, CVMManagement, TrustedPath, AuthorizedManagement, TokenVerification, GlobalDelete, GlobalLock, GlobalRegistry, FinalApplication, ReceiptGeneration

APP: A0000008466D656D6F727901 (SELECTABLE)
     Parent:   A000000151000000
     From:     A0000008466D656D6F7279

APP: A0000005272101014150455801 (SELECTABLE)
     Parent:   A000000151000000
     From:     A00000052721010141504558

APP: D2760000850101 (SELECTABLE)
     Parent:   A000000151000000
     From:     D276000085

APP: A0000006472F0001 (SELECTABLE)
     Parent:   A000000151000000
     From:     A0000006472F00

PKG: A0000001515350 (LOADED)
     Parent:   A000000151000000
     Version:  255.255
     Applet:   A000000151535041

PKG: A0000008466D656D6F7279 (LOADED)
     Parent:   A000000151000000
     Version:  1.0
     Applet:   A0000008466D656D6F727901

PKG: A00000052721010141504558 (LOADED)
     Parent:   A000000151000000
     Version:  1.2
     Applet:   A0000005272101014150455801

PKG: D276000085 (LOADED)
     Parent:   A000000151000000
     Version:  1.0
     Applet:   D2760000850101

PKG: A0000006472F00 (LOADED)
     Parent:   A000000151000000
     Version:  0.4
     Applet:   A0000006472F0001

All I have done so far is install the pre-compiled YkHMAC Applet and subsequently uninstalled it. When I attempted to install the Fido2 one I got the following error:

gp --install FIDO2.cap 
# Warning: no keys given, defaulting to 404142434445464748494A4B4C4D4E4F
Applet loading not allowed. Are you sure the domain can accept it?
Error: INSTALL [for load] failed: 0x6985 (Conditions of use not satisfied)

It had occurred to me that the latter error might have been due to space requirements as I have read the Fido2 applet takes up a lot of space.

Has anyone any experience with this?

1 Like

I think this may be useful,

@StarGate01 and @GrimEcho would be the peeps I would ask FlexSecure questions in the first instance.

@tac0s may be able to answer some questions for you also

If you havent seen it, I wrote up my experience with my FlexSecure, but you sound like you are already ahead of that step.
Here it is anyway, incase there is something there that is of use to you.

FYI
I still love my FlexSecure and happy I have one

3 Likes

The easiest way to figure out what’s on there is to google the App IDs. For example; https://www.google.com/search?q=aid+A0000006472F0001

That’s the FIDO2 applet - it appears to already be loaded, which I thiink we do as a convenience. This would explain why you can’t install it… it’s already there :slight_smile:

2 Likes

I updated the product page for the J3R180 with the list of apps. I also added AIDs to both pages:

  • Free Memory: helps determine the amount of free space on your device using Apex Manager
    • AID: A0000008466D656D6F7279
  • FIDO2: Act as a Passkey with U2F fallback
    • AID: A0000006472F0001
  • OTP Authenticator: Generate codes in vivo
    • AID: A00000052721010141504558
  • NFC Sharing: Massive, 32kb NDEF container
    • AID: D276000085

See this page. The repo needs some love. Just as soon as we find some time.

5 Likes

I’m using it and so useful.

1 Like

Here is a GUI tool that decodes the relevant AIDs, handles basic installations, and uninstalls apps. There’s plenty of room for improvement, I’m sure.

2 Likes

Quick little guide (For Windows)

EDIT
IMPORTANT NOTE

Ensure you have Python on your machine.

You can grab Python from the Microsoft store.
Just search for “Python” and add the latest version

Step 1 Download

Follow @tac0s link

Direct it to where you want to save it
Here is mine
\Working\DT\global_platform_gui-master

Step 2 Extract

This bit looks simple (and it is) but it is also important
You need to know the path in order to run the Global platform


So my path will be

\Working\DT\global_platform_gui-master (copy yours to your clipboard now)

Step 3 Open Command Prompt (many ways to do this, here is one)

Type cmd into search
image

Step 4 Change Directory

Change your path to the extraction location, (type cd then a space followed by paste from your clipboard)
eg
cd \Working\DT\global_platform_gui-master

You are now in that directory

image

Step 5 Running Global Platform

first we need to install the requirements
pip install -r "requirements.txt"

Wait ~10 secs
you should see a bunch of successful script and the prompt waiting for the next command

** First Plug your reader in NOW if you haven’t already(No reader you will get an error, you will have to close the program and run it again)**

Run the program
python main.py

You will see the attached reader (ACR122U in my case)

You will also see the installed apps on the left ( This is my j3r180 test card )

Then the same card after I installed an applet

I’m sure @tac0s will admit this is still a work in progress
eg,

  • currently there are some applets that won’t install…yet
  • you won’t see success or failure notifications unless you are looking at the cmd prompt window
  • you’ll have to re-run the program to refresh it to see the changes on the Global Program
    etc.

But as things are fixed/ added/ changed etc.
a simple git pull should update

As mentioned this is a work in progress, HOWEVER in my opinion, This is far easier than the current method and opens up the FlexSecure to even more people

Hopefully this guide will be easy to follow, just ask if you get stuck (ie. I may have fucked something up)

2 Likes

Fixed this.

And this.

It also shows you the available memory because @StarGate01 has a great script to work from.

4 Likes

NICE

1 Like

A few more tweaks by @tac0s

It just keeps getting better

2 Likes

I neglected to mention that you will need python on your machine. (edited and added in my earlier post) but for those playing along

You can grab Python from the Microsoft store.
Just search for “Python” and add the latest version

1 Like

As can be seen, the memory is a best guess. Because JCOP.

4 Likes