2026-08-05 00:58:43 +03:00
2026-08-05 00:58:43 +03:00
2026-08-04 22:22:44 +03:00

Otaman — APDU Helper

Standalone offline HTML/JS tool for building APDU commands for SIM, USIM, and GlobalPlatform RAM, plus encoding conversions.

Open index.html in any modern browser. No server required.

Interface

Four tabs, each with a form and a "Сгенерировать" button. The output textarea contains the bare APDU hex string (no SPI/KIC/KID/TAR header).


SIM Tab

CLA = A0 (GSM 11.11 / ISO 7816-4).

Commands

Command INS Description
SELECT A4 Select EF/DF by FID, path, dfname, or chain
UPDATE RECORD DC Update a record in a record-oriented EF
UPDATE BINARY D6 Update binary content at an offset
READ RECORD B2 Read a record
READ BINARY B0 Read binary content
ERASE BINARY 0E Erase binary at an offset
ACTIVATE FILE 44 Activate a file
DEACTIVATE FILE 04 Deactivate a file
VERIFY PIN 20 Verify PIN1 or PIN2
CHANGE PIN 24 Change PIN1 or PIN2

SELECT methods

Method P1 P2 Input
По FID 00 00 2-byte FID (4 hex)
По полному пути от MF 08 00 Full path hex from MF
По DF name / AID 04 00 AID (application ID)
ADF RFM цепочка 00 00 Comma-separated FIDs, each selected in turn

Options

  • Начать с SELECT — checkbox to prepend a SELECT command before the operation. When unchecked, the operation is sent standalone with CLA.
  • Режим выборки (P2) — for record commands: Absolute (04), Next (06), Previous (02).
  • Размер записи — pad/truncate data to the specified byte count.
  • Переопределить P1/P2 — checkbox to enable manual override of P1/P2 bytes.

References

  • ISO/IEC 7816-4: Organization, security and commands for interchange
  • ETSI TS 102 226: Remote APDU structure for UICC based applications
  • GSM 11.11: SIM-ME Interface

USIM Tab

CLA = 00 (ETSI TS 102 221). Same commands as SIM, but SELECT uses P1=09, P2=0C (by FID from current directory).

References

  • ETSI TS 102 221: UICC-Terminal Interface; Physical and Logical Characteristics
  • ETSI TS 102 226: Remote APDU structure for UICC based applications

RAM Tab

CLA = 80 (GlobalPlatform Card Specification v2.3.1). Remote Application Management commands for card content management.

Commands

Command INS P1 Description
INSTALL [for load] E6 02 Register a load file for loading
INSTALL [for install] E6 0C Install an application or SD
INSTALL [for make selectable] E6 10 Make an application selectable
INSTALL [for registry update] E6 01 Update registry entries
INSTALL [for extradition] E6 04 Extradition (move between SDs)
LOAD E8 00 Load executable code blocks
DELETE E4 00/80 Delete application or SD
GET STATUS F2 80/40/20/10 Get card status
GET DATA CA tag Read card data objects
STORE DATA E2 00/40/80/C0 Store data (key, certificate, etc.)
SET STATUS F0 80/40/60 Lifecycle state management
EXTERNAL AUTHENTICATE 82 00 SCP host authentication
INTERNAL AUTHENTICATE 88 00 Card challenge-response

INSTALL [for install] — Privilege Builder

Tag C7 in the INSTALL data field. Built from 3 privilege bytes (GP spec Tables 11-7, 11-8, 11-9):

Byte 1 (bits):

Bit Privilege
b8 Security Domain
b7 DAP Verification
b6 Delegated Management
b5 Card Lock
b4 Card Terminate
b3 Card Reset
b2 CVM Management

Byte 2 (bits):

Bit Privilege
b8 Trusted Path
b7 Authorized Management
b6 Token Verification
b5 Global Delete
b4 Global Lock
b3 Global Registry
b2 Final Application

Byte 3 (bits):

Bit Privilege
b8 Receipt Generation

INSTALL [for install] — SIM/UICC Toolkit Parameters

Optional TLV objects appended to the INSTALL data field:

  • Tag CA (SIM Toolkit): Priority, Timers, Text Length, Menu Entries, Menu Positions, Channels, MSL, TAR, Access Domain
  • Tag 80 (UICC Toolkit, inside EA): Same fields minus Access Domain

MSL (Minimum Security Level) — SPI1 byte per TS 102 225:

Value Meaning
00 No check
11 RC/CC/DS
12 RC/DS/CC
15 RC/DS/CC + MAC
16 RC/DS/CC + MAC + Cipher
19 RC/DS/CC + MAC + Cipher + DS

GET STATUS P1 values

Value Meaning
80 Issuer Security Domain (ISD)
40 Applications and Supplementary Security Domains
20 Executable Load Files
10 ELF and their Executable Modules

DELETE P1 values

Value Meaning
00 By AID
80 Delete associated objects

STORE DATA P1 values

Value Meaning
00 Last block, no encryption
40 More blocks, no encryption
80 Last block, encrypted
C0 More blocks, encrypted

SET STATUS parameters

P1 (Status Type):

Value Target
80 Issuer Security Domain
40 Application or Supplementary Security Domain
60 Security Domain and its associated Applications

P2 (State):

Value Action
00 Unlock (return to previous state)
80 Lock (LOCKED state)

References

  • GlobalPlatform Card Specification v2.3.1 (GPC_Spec_v2.3.1): Commands, Privileges, TLV structures
  • ETSI TS 102 226 V13.0.0 §8.2.1.3.2: SIM/UICC Toolkit parameters, MSL, TAR, Access Domain

Конвертация Tab

Value encoding conversions.

IMSI → EF.IMSI

Per TS 31.102 §4.2.3. Encodes a 15-digit IMSI into the 9-byte EF.IMSI format:

  • Byte 0: number of subsequent bytes (8)
  • Odd/even indicator nibble in the last byte
  • BCD digits, swapped nibble pairs per identity

Input: 15 decimal digits. Output: 18 hex characters.

MSISDN → BCD

Strips leading +, pads odd length with f, swaps nibble pairs.

ICCID → hex

Swaps nibble pairs of the ICCID string.

Provider Name → SPN

Per 3GPP TS 31.102 §4.2.5 (EF_SPN). Three encoding paths:

  1. GSM 7-bit packed (all chars in GSM 7-bit default alphabet): prefix 01, DCS byte (spare bits), packed septets, 0xFF padding to 16 bytes.
  2. UCS2 non-BMP (emoji / chars > U+FFFF): prefix 00, DCS 80, UTF-16BE, 0xFF padding to 16 bytes.
  3. UCS2 BMP non-GSM7 (Cyrillic, etc.): prefix 00, DCS 81, base byte, per-char offsets, 0xFF padding to 16 bytes.

GSM 7-bit alphabet per 3GPP TS 23.038. Full extension table supported.

PLMN → EF_PLMNsel

Per TS 31.102 §4.2.3 (EF_PLMNsel). 3-byte BCD encoding:

  • Byte 1: MCC digit 2 | MCC digit 1
  • Byte 2: MNC digit 3 | MCC digit 3
  • Byte 3: MNC digit 2 | MNC digit 1

Input: MCC (3 digits), MNC (2-3 digits). Output: 6 hex characters.

PLMNwAcT → EF_PLMNwAcT

Per TS 31.102. Same 3-byte PLMN + 2-byte Access Technology selector.

AcT values:

Value Technologies
8000 GSM
4000 UTRAN
2000 E-UTRAN
1000 NGRAN
C000 GSM + UTRAN
6000 UTRAN + E-UTRAN
E000 GSM + UTRAN + E-UTRAN
F000 All

References

  • 3GPP TS 31.102: Characteristics of the USIM Application
  • 3GPP TS 23.038: Alphabets and language information
  • ETSI TS 102 225: Secured packet structure for (U)SIM toolkit
  • pySim: enc_imsi() implementation
S
Description
UICC APDU generator
Readme 19 MiB
Languages
HTML 56.1%
JavaScript 23.1%
Python 17.1%
CSS 3.1%
Batchfile 0.3%
Other 0.3%