📄 toolkit.jca
字号:
// converted by version 1.3
// on Fri Jun 11 09:23:38 PDT 2004
.package sim/toolkit {
.aid 0xA0:0x0:0x0:0x0:0x62:0x1;
.version 0.0;
.imports {
0xA0:0x0:0x0:0x0:0x62:0x0:0x1 1.0; //java/lang
0xA0:0x0:0x0:0x0:0x62:0x1:0x1 1.2; //javacard/framework
}
.constantPool {
// 0
instanceFieldRef short ViewHandler/currentTLVOffset;
// 1
instanceFieldRef short ViewHandler/firstTLVOffset;
// 2
instanceFieldRef short EnvelopeResponseHandler/outDataSize;
// 3
instanceFieldRef boolean EnvelopeResponseHandler/handlerAvailable;
// 4
instanceFieldRef boolean EnvelopeResponseHandler/postCalled;
// 5
staticMethodRef 1.16.1([BS[BSS)S; // javacard/framework/Util.arrayCopy([BS[BSS)S
// 6
virtualMethodRef ViewHandler/getTLVOffset([BBSS)S;
// 7
virtualMethodRef ViewHandler/getLastTLVOffset([BS)S;
// 8
staticMethodRef 1.16.0([BS[BSS)B; // javacard/framework/Util.arrayCompare([BS[BSS)B
// 9
staticFieldRef AccessSAT ViewHandler/SATAccessor;
// 10
staticMethodRef ViewHandler/<init>()V;
// 11
staticMethodRef EditHandler/<init>()V;
// 12
classRef EnvelopeResponseHandler;
// 13
staticMethodRef EnvelopeResponseHandler/<init>()V;
// 14
classRef AccessSAT;
// 15
staticMethodRef 0.0.0()V; // java/lang/Object.<init>()V
// 16
staticMethodRef ToolkitException/throwIt(S)V;
// 17
staticFieldRef byte EnvelopeResponseHandler/status;
// 18
staticMethodRef 1.5.0(S)V; // javacard/framework/CardRuntimeException.<init>(S)V
// 19
staticFieldRef ToolkitException ToolkitException/systemInstance;
// 20
virtualMethodRef 1.5.2(S)V; // javacard/framework/CardRuntimeException.setReason(S)V
// 21
classRef EnvelopeHandler;
// 22
staticMethodRef EnvelopeHandler/<init>()V;
// 23
classRef ToolkitRegistry;
// 24
staticMethodRef ToolkitRegistry/<init>()V;
// 25
staticMethodRef 1.8.3()Ljavacard/framework/AID;; // javacard/framework/JCSystem.getAID()Ljavacard/framework/AID;
.descriptor Ljavacard/framework/AID; 1.6;
}
.interface public abstract AccessSAT 0 {
.shareable;
.superInterfaces {
1.2; // javacard/framework/Shareable
}
.method public abstract getAPDUBuffer()[B 0 {
}
.method public abstract setOutBufferData(S)V 1 {
}
.method public abstract getOutDataLength()S 2 {
}
.method public abstract setEventListener(Ljavacard/framework/AID;)V 3 {
.descriptor Ljavacard/framework/AID; 1.6;
}
.method public abstract clearEventListener(Ljavacard/framework/AID;)V 4 {
.descriptor Ljavacard/framework/AID; 1.6;
}
.method public abstract isEventListenerSet(Ljavacard/framework/AID;)Z 5 {
.descriptor Ljavacard/framework/AID; 1.6;
}
}
.interface public abstract ToolkitConstants 1 {
.fields {
public static final byte EVENT_PROFILE_DOWNLOAD = 1; // B
public static final byte EVENT_FORMATTED_SMS_PP_ENV = 2; // B
public static final byte EVENT_FORMATTED_SMS_PP_UPD = 3; // B
public static final byte EVENT_UNFORMATTED_SMS_PP_ENV = 4; // B
public static final byte EVENT_UNFORMATTED_SMS_PP_UPD = 5; // B
public static final byte EVENT_UNFORMATTED_SMS_CB = 6; // B
public static final byte EVENT_MENU_SELECTION = 7; // B
public static final byte EVENT_MENU_SELECTION_HELP_REQUEST = 8; // B
public static final byte EVENT_CALL_CONTROL_BY_SIM = 9; // B
public static final byte EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM = 10; // B
public static final byte EVENT_TIMER_EXPIRATION = 11; // B
public static final byte EVENT_EVENT_DOWNLOAD_MT_CALL = 12; // B
public static final byte EVENT_EVENT_DOWNLOAD_CALL_CONNECTED = 13; // B
public static final byte EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED = 14; // B
public static final byte EVENT_EVENT_DOWNLOAD_LOCATION_STATUS = 15; // B
public static final byte EVENT_EVENT_DOWNLOAD_USER_ACTIVITY = 16; // B
public static final byte EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE = 17; // B
public static final byte EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS = 18; // B
public static final byte EVENT_STATUS_COMMAND = 19; // B
public static final byte EVENT_EVENT_DOWNLOAD_LANGUAGE_SELECTION = 20; // B
public static final byte EVENT_EVENT_DOWNLOAD_BROWSER_TERMINATION = 21; // B
public static final byte EVENT_FORMATTED_SMS_CB = 24; // B
public static final byte EVENT_UNRECOGNIZED_ENVELOPE = -1; // B
public static final byte BTAG_PROACTIVE_SIM_COMMAND = -48; // B
public static final byte BTAG_SMS_PP_DOWNWLOAD = -47; // B
public static final byte BTAG_SMS_PP_DOWNLOAD = -47; // B
public static final byte BTAG_CELL_BROADCAST_DOWNLOAD = -46; // B
public static final byte BTAG_MENU_SELECTION = -45; // B
public static final byte BTAG_CALL_CONTROL = -44; // B
public static final byte BTAG_MO_SHORT_MESSAGE_CONTROL = -43; // B
public static final byte BTAG_EVENT_DOWNLOAD = -42; // B
public static final byte BTAG_TIMER_EXPIRATION = -41; // B
public static final byte TAG_COMMAND_DETAILS = 1; // B
public static final byte TAG_DEVICE_IDENTITIES = 2; // B
public static final byte TAG_RESULT = 3; // B
public static final byte TAG_DURATION = 4; // B
public static final byte TAG_ALPHA_IDENTIFIER = 5; // B
public static final byte TAG_ADDRESS = 6; // B
public static final byte TAG_CAPABILITY_CONFIGURATION_PARAMETERS = 7; // B
public static final byte TAG_CALLED_PARTY_SUBADDRESS = 8; // B
public static final byte TAG_SS_STRING = 9; // B
public static final byte TAG_USSD_STRING = 10; // B
public static final byte TAG_SMS_TPDU = 11; // B
public static final byte TAG_CELL_BROADCAST_PAGE = 12; // B
public static final byte TAG_TEXT_STRING = 13; // B
public static final byte TAG_TONE = 14; // B
public static final byte TAG_ITEM = 15; // B
public static final byte TAG_ITEM_IDENTIFIER = 16; // B
public static final byte TAG_RESPONSE_LENGTH = 17; // B
public static final byte TAG_FILE_LIST = 18; // B
public static final byte TAG_LOCATION_INFORMATION = 19; // B
public static final byte TAG_IMEI = 20; // B
public static final byte TAG_HELP_REQUEST = 21; // B
public static final byte TAG_NETWORK_MEASUREMENT_RESULTS = 22; // B
public static final byte TAG_DEFAULT_TEXT = 23; // B
public static final byte TAG_ITEMS_NEXT_ACTION_INDICATOR = 24; // B
public static final byte TAG_EVENT_LIST = 25; // B
public static final byte TAG_CAUSE = 26; // B
public static final byte TAG_LOCATION_STATUS = 27; // B
public static final byte TAG_TRANSACTION_IDENTIFIER = 28; // B
public static final byte TAG_BCCH_CHANNEL_LIST = 29; // B
public static final byte TAG_ICON_IDENTIFIER = 30; // B
public static final byte TAG_ITEM_ICON_IDENTIFIER_LIST = 31; // B
public static final byte TAG_CARD_READER_STATUS = 32; // B
public static final byte TAG_CARD_ATR = 33; // B
public static final byte TAG_C_APDU = 34; // B
public static final byte TAG_R_APDU = 35; // B
public static final byte TAG_TIMER_IDENTIFIER = 36; // B
public static final byte TAG_TIMER_VALUE = 37; // B
public static final byte TAG_DATE_TIME_AND_TIME_ZONE = 38; // B
public static final byte TAG_CALL_CONTROL_REQUESTED_ACTION = 39; // B
public static final byte TAG_AT_COMMAND = 40; // B
public static final byte TAG_AT_RESPONSE = 41; // B
public static final byte TAG_BC_REPEAT_INDICATOR = 42; // B
public static final byte TAG_IMMEDIATE_RESPONSE = 43; // B
public static final byte TAG_DTMF_STRING = 44; // B
public static final byte TAG_LANGUAGE = 45; // B
public static final byte TAG_TIMING_ADVANCE = 46; // B
public static final byte TAG_BROWSER_IDENTITY = 48; // B
public static final byte TAG_URL = 49; // B
public static final byte TAG_BEARER = 50; // B
public static final byte TAG_PROVISIONING_REFERENCE_FILE = 51; // B
public static final byte TAG_BROWSER_TERMINATION_CAUSE = 52; // B
public static final byte TAG_CARD_READER_IDENTIFIER = 58; // B
public static final byte TAG_SET_CR = -128; // B
public static final byte TAG_SET_NO_CR = 127; // B
public static final byte TLV_LENGTH_CODED_2BYTES = -127; // B
public static final byte TLV_NOT_FOUND = 0; // B
public static final byte TLV_FOUND_CR_SET = 1; // B
public static final byte TLV_FOUND_CR_NOT_SET = 2; // B
public static final byte PRO_CMD_REFRESH = 1; // B
public static final byte PRO_CMD_MORE_TIME = 2; // B
public static final byte PRO_CMD_SET_UP_CALL = 16; // B
public static final byte PRO_CMD_SEND_SS = 17; // B
public static final byte PRO_CMD_SEND_USSD = 18; // B
public static final byte PRO_CMD_SEND_SHORT_MESSAGE = 19; // B
public static final byte PRO_CMD_SEND_DTMF = 20; // B
public static final byte PRO_CMD_LAUNCH_BROWSER = 21; // B
public static final byte PRO_CMD_PLAY_TONE = 32; // B
public static final byte PRO_CMD_DISPLAY_TEXT = 33; // B
public static final byte PRO_CMD_GET_INKEY = 34; // B
public static final byte PRO_CMD_GET_INPUT = 35; // B
public static final byte PRO_CMD_SELECT_ITEM = 36; // B
public static final byte PRO_CMD_PROVIDE_LOCAL_INFORMATION = 38; // B
public static final byte PRO_CMD_TIMER_MANAGEMENT = 39; // B
public static final byte PRO_CMD_SET_UP_IDLE_MODE_TEXT = 40; // B
public static final byte PRO_CMD_PERFORM_CARD_APDU = 48; // B
public static final byte PRO_CMD_POWER_ON_CARD = 49; // B
public static final byte PRO_CMD_POWER_OFF_CARD = 50; // B
public static final byte PRO_CMD_GET_READER_STATUS = 51; // B
public static final byte PRO_CMD_RUN_AT_COMMAND = 52; // B
public static final byte PRO_CMD_LANGUAGE_NOTIFICATION = 53; // B
public static final byte DEV_ID_KEYPAD = 1; // B
public static final byte DEV_ID_DISPLAY = 2; // B
public static final byte DEV_ID_EARPIECE = 3; // B
public static final byte DEV_ID_ADDITIONAL_CARD_READER_0 = 16; // B
public static final byte DEV_ID_ADDITIONAL_CARD_READER_1 = 17; // B
public static final byte DEV_ID_ADDITIONAL_CARD_READER_2 = 18; // B
public static final byte DEV_ID_ADDITIONAL_CARD_READER_3 = 19; // B
public static final byte DEV_ID_ADDITIONAL_CARD_READER_4 = 20; // B
public static final byte DEV_ID_ADDITIONAL_CARD_READER_5 = 21; // B
public static final byte DEV_ID_ADDITIONAL_CARD_READER_6 = 22; // B
public static final byte DEV_ID_ADDITIONAL_CARD_READER_7 = 23; // B
public static final byte DEV_ID_SIM = -127; // B
public static final byte DEV_ID_ME = -126; // B
public static final byte DEV_ID_NETWORK = -125; // B
public static final byte DCS_DEFAULT_ALPHABET = 0; // B
public static final byte DCS_8_BIT_DATA = 4; // B
public static final byte DCS_UCS2 = 8; // B
public static final byte SW1_RP_ERROR = -98; // B
public static final byte SW1_RP_ACK = -97; // B
public static final byte POLL_NO_DURATION = 0; // B
public static final byte POLL_SYSTEM_DURATION = -1; // B
public static final byte RES_CMD_PERF = 0; // B
public static final byte RES_CMD_PERF_PARTIAL_COMPR = 1; // B
public static final byte RES_CMD_PERF_MISSING_INFO = 2; // B
public static final byte RES_CMD_PERF_REFRESH_ADD_EF_READ = 3; // B
public static final byte RES_CMD_PERF_REQ_ICON_NOT_DISP = 4; // B
public static final byte RES_CMD_PERF_MODIF_CC_SIM = 5; // B
public static final byte RES_CMD_PERF_LIMITED_SERVICE = 6; // B
public static final byte RES_CMD_PERF_WITH_MODIFICATION = 7; // B
public static final byte RES_CMD_PERF_SESSION_TERM_USER = 16; // B
public static final byte RES_CMD_PERF_BACKWARD_MOVE_REQ = 17; // B
public static final byte RES_CMD_PERF_NO_RESP_FROM_USER = 18; // B
public static final byte RES_CMD_PERF_HELP_INFO_REQ = 19; // B
public static final byte RES_CMD_PERF_USSD_TRANSAC_TERM = 20; // B
public static final byte RES_TEMP_PB_ME_UNABLE_PROC = 32; // B
public static final byte RES_TEMP_PB_SESSION_TERM_USER = 33; // B
public static final byte RES_TEMP_PB_USER_REJECT_CALL_REQ = 34; // B
public static final byte RES_TEMP_PB_USER_CLEAR_CALL = 35; // B
public static final byte RES_TEMP_PB_IN_CONTR_TIMER_STATE = 36; // B
public static final byte RES_TEMP_PB_INTERACT_CC_BY_SIM = 37; // B
public static final byte RES_TEMP_PB_LAUNCH_BROWSER = 38; // B
public static final byte RES_ERROR_CMD_BEYOND_ME_CAPAB = 48; // B
public static final byte RES_ERROR_CMD_TYP_NOT_UNDERSTOOD = 49; // B
public static final byte RES_ERROR_CMD_DATA_NOT_UNDERSTOOD = 50; // B
public static final byte RES_ERROR_CMD_NUMBER_NOT_KNOWN = 51; // B
public static final byte RES_ERROR_SS_RETURN_ERROR = 52; // B
public static final byte RES_ERROR_SMS_RP_ERROR = 53; // B
public static final byte RES_ERROR_REQ_VALUES_MISS = 54; // B
public static final byte RES_ERROR_USSD_RETURN_ERROR = 55; // B
public static final byte RES_ERROR_MULTIPLE_CARD_ERROR = 56; // B
public static final byte RES_ERROR_INTERACT_CC_SMSMO_BY_SIM = 57; // B
}
}
.interface public abstract ToolkitInterface 2 {
.shareable;
.superInterfaces {
1.2; // javacard/framework/Shareable
}
.method public abstract processToolkit(B)V 0 {
}
}
.class public abstract ViewHandler 3 extends 0.0 { // extends java/lang/Object
.fields {
short currentTLVOffset 0; // S
short firstTLVOffset 1; // S
protected static final byte BER_TLV_TAG_OFFSET = 5; // B
protected static final byte OFFSET_LC = 4; // B
protected static final byte TPUD_OFFSET = 12; // B
public static AccessSAT SATAccessor 0; // Lsim/toolkit/AccessSAT;
private static final byte DEVICE_ID_TAG = -126; // B
private static final byte DEVICE_ID_LENGTH = 2; // B
private static final byte ADDRESS_TAG = 6; // B
private static final byte SMS_TPDU_TAG = -117; // B
}
.publicMethodTable 1 {
equals(Ljava/lang/Object;)Z;
getLength()S;
copy([BSS)S;
findTLV(BB)B;
getValueLength()S;
getValueByte(S)B;
copyValue(S[BSS)S;
compareValue(S[BSS)B;
findAndCopyValue(B[BS)S;
findAndCopyValue(BBS[BSS)S;
findAndCompareValue(B[BS)B;
findAndCompareValue(BBS[BSS)B;
getTLVOffset([BBSS)S;
getLastTLVOffset([BS)S;
}
.packageMethodTable 0 {
}
.method <init>()V {
.stack 1;
.locals 0;
L0: aload_0;
invokespecial 15; // java/lang/Object.<init>()V
return;
}
.method <init>([BSS)V {
.stack 1;
.locals 0;
L0: aload_0;
invokespecial 15; // java/lang/Object.<init>()V
return;
}
.method public getLength()S 1 {
.stack 3;
.locals 2;
L0: getstatic_a 9; // reference sim/toolkit/ViewHandler.SATAccessor
invokeinterface 1 14 0; // sim/toolkit/AccessSAT
astore_1;
aload_1;
getfield_s_this 0; // short sim/toolkit/ViewHandler.currentTLVOffset
sconst_1;
sadd;
baload;
sspush 255;
sand;
sstore_2;
sload_2;
sreturn;
}
.method public copy([BSS)S 2 {
.stack 5;
.locals 2;
L0: getstatic_a 9; // reference sim/toolkit/ViewHandler.SATAccessor
invokeinterface 1 14 0; // sim/toolkit/AccessSAT
astore 4;
aload 4;
getfield_s_this 0; // short sim/toolkit/ViewHandler.currentTLVOffset
sconst_1;
sadd;
baload;
sspush 255;
sand;
sstore 5;
sload 5;
sload_3;
if_scmpge L2;
L1: bspush 8;
invokestatic 16; // sim/toolkit/ToolkitException.throwIt(S)V
L2: aload 4;
getfield_s_this 0; // short sim/toolkit/ViewHandler.currentTLVOffset
sconst_2;
sadd;
aload_1;
sload_2;
sload_3;
invokestatic 5; // javacard/framework/Util.arrayCopy([BS[BSS)S
pop;
sload_2;
sload_3;
sadd;
sreturn;
}
.method public findTLV(BB)B 3 {
.stack 5;
.locals 4;
L0: sconst_0;
sstore_3;
getstatic_a 9; // reference sim/toolkit/ViewHandler.SATAccessor
invokeinterface 1 14 0; // sim/toolkit/AccessSAT
astore 4;
aload 4;
sconst_4;
baload;
sspush 255;
sand;
sstore 5;
aload_0;
aload 4;
sload_1;
sload 5;
sload_2;
invokevirtual 6; // sim/toolkit/ViewHandler.getTLVOffset([BBSS)S
sstore 6;
sload 6;
sload 5;
if_scmplt L2;
L1: sconst_0;
sreturn;
L2: aload_0;
sload 6;
putfield_s 0; // short sim/toolkit/ViewHandler.currentTLVOffset
aload 4;
sload 6;
baload;
bspush -128;
sand;
bspush -128;
if_scmpne L4;
L3: sconst_1;
sreturn;
L4: sconst_2;
sreturn;
}
.method public getValueLength()S 4 {
.stack 3;
.locals 3;
L0: getstatic_a 9; // reference sim/toolkit/ViewHandler.SATAccessor
invokeinterface 1 14 0; // sim/toolkit/AccessSAT
astore_1;
aload_1;
sconst_4;
baload;
sspush 255;
sand;
sstore_2;
aload_0;
aload_1;
sload_2;
invokevirtual 7; // sim/toolkit/ViewHandler.getLastTLVOffset([BS)S
sstore_3;
sload_3;
sload_2;
if_scmplt L2;
L1: sconst_3;
invokestatic 16; // sim/toolkit/ToolkitException.throwIt(S)V
L2: aload_1;
sload_3;
sconst_1;
sadd;
baload;
sspush 255;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -