📄 gsmapplet.jca
字号:
// converted by version 1.3
// on Fri Jun 11 09:23:43 PDT 2004
.package com/sun/satsa/gsmapplet {
.aid 0xA0:0x0:0x0:0x0:0x62:0x3;
.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
0xA0:0x0:0x0:0x0:0x62:0x1 0.0; //sim/toolkit
}
.applet {
0xA0:0x0:0x0:0x0:0x62:0x3:0x1 GSMApplet;
}
.constantPool {
// 0
instanceFieldRef byte[] AccessSATImpl/inBuffer;
// 1
instanceFieldRef byte[] AccessSATImpl/outBuffer;
// 2
instanceFieldRef 2.2[] AccessSATImpl/tiList;
// 3
instanceFieldRef short AccessSATImpl/outDataSize;
// 4
instanceFieldRef AccessSATImpl GSMApplet/SATAccessor;
// 5
staticMethodRef 0.0.0()V; // java/lang/Object.<init>()V
// 6
staticMethodRef 1.16.3([BSSB)S; // javacard/framework/Util.arrayFillNonAtomic([BSSB)S
// 7
staticMethodRef 1.8.13(SB)[B; // javacard/framework/JCSystem.makeTransientByteArray(SB)[B
// 8
staticMethodRef 1.10.4()Ljavacard/framework/APDU;; // javacard/framework/APDU.getCurrentAPDU()Ljavacard/framework/APDU;
.descriptor Ljavacard/framework/APDU; 1.10;
// 9
virtualMethodRef 1.10.1()[B; // javacard/framework/APDU.getBuffer()[B
// 10
staticMethodRef 1.16.1([BS[BSS)S; // javacard/framework/Util.arrayCopy([BS[BSS)S
// 11
staticMethodRef 1.8.4(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable;; // javacard/framework/JCSystem.getAppletShareableInterfaceObject(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable;
.descriptor Ljavacard/framework/AID; 1.6;
.descriptor Ljavacard/framework/Shareable; 1.2;
// 12
staticMethodRef 2.8.1(S)V; // sim/toolkit/ToolkitException.throwIt(S)V
// 13
staticMethodRef AccessSATImpl/findListener(Lsim/toolkit/ToolkitInterface;)B;
.descriptor Lsim/toolkit/ToolkitInterface; 2.2;
// 14
virtualMethodRef 0.0.0(Ljava/lang/Object;)Z; // java/lang/Object.equals(Ljava/lang/Object;)Z
.descriptor Ljava/lang/Object; 0.0;
// 15
staticMethodRef 1.3.0()V; // javacard/framework/Applet.<init>()V
// 16
virtualMethodRef 1.3.1()V; // javacard/framework/Applet.register()V
// 17
classRef AccessSATImpl;
// 18
staticMethodRef AccessSATImpl/<init>()V;
// 19
classRef 2.2; // sim/toolkit/ToolkitInterface
// 20
staticFieldRef 2.0 2.3.0; // reference sim/toolkit/ViewHandler.SATAccessor
// 21
classRef GSMApplet;
// 22
staticMethodRef GSMApplet/<init>()V;
// 23
virtualMethodRef 1.10.6()S; // javacard/framework/APDU.setIncomingAndReceive()S
// 24
virtualMethodRef AccessSATImpl/resetBuffers()V;
// 25
virtualMethodRef AccessSATImpl/getOutDataLength()S;
// 26
virtualMethodRef 1.10.7()S; // javacard/framework/APDU.setOutgoing()S
// 27
virtualMethodRef 1.10.9(S)V; // javacard/framework/APDU.setOutgoingLength(S)V
// 28
virtualMethodRef AccessSATImpl/setOutgoingAPDU()V;
// 29
virtualMethodRef 1.10.4(SS)V; // javacard/framework/APDU.sendBytes(SS)V
// 30
staticMethodRef 1.7.1(S)V; // javacard/framework/ISOException.throwIt(S)V
// 31
staticMethodRef 1.8.18()V; // javacard/framework/JCSystem.requestObjectDeletion()V
// 32
staticFieldRef byte 2.7.0; // byte sim/toolkit/EnvelopeResponseHandler.status
}
.class public AccessSATImpl 0 extends 0.0 { // extends java/lang/Object
.shareable;
.fields {
public byte[] inBuffer 0; // [B
public byte[] outBuffer 1; // [B
public 2.2[] tiList 2; // [Lsim/toolkit/ToolkitInterface;
short outDataSize 3; // S
protected static final short MAX_BUFFER_LENGTH = 64; // S
static final byte MAX_LISTENERS = 16; // B
}
.publicMethodTable 1 {
equals(Ljava/lang/Object;)Z;
getAPDUBuffer()[B;
setOutBufferData(S)V;
getOutDataLength()S;
setOutgoingAPDU()V;
setEventListener(Ljavacard/framework/AID;)V;
clearEventListener(Ljavacard/framework/AID;)V;
isEventListenerSet(Ljavacard/framework/AID;)Z;
}
.packageMethodTable 0 {
resetBuffers()V;
}
.implementedInterfaceInfoTable {
.interface 1.2 { // javacard/framework/Shareable
}
.interface 2.0 { // sim/toolkit/AccessSAT
1; // getAPDUBuffer()[B
2; // setOutBufferData(S)V
3; // getOutDataLength()S
5; // setEventListener(Ljavacard/framework/AID;)V
6; // clearEventListener(Ljavacard/framework/AID;)V
7; // isEventListenerSet(Ljavacard/framework/AID;)Z
}
}
.method <init>()V {
.stack 3;
.locals 0;
L0: aload_0;
invokespecial 5; // java/lang/Object.<init>()V
aload_0;
bspush 64;
sconst_2;
invokestatic 7; // javacard/framework/JCSystem.makeTransientByteArray(SB)[B
putfield_a 0; // reference com/sun/satsa/gsmapplet/AccessSATImpl.inBuffer
aload_0;
bspush 64;
sconst_2;
invokestatic 7; // javacard/framework/JCSystem.makeTransientByteArray(SB)[B
putfield_a 1; // reference com/sun/satsa/gsmapplet/AccessSATImpl.outBuffer
aload_0;
bspush 16;
anewarray 19; // sim/toolkit/ToolkitInterface
putfield_a 2; // reference com/sun/satsa/gsmapplet/AccessSATImpl.tiList
return;
}
.method resetBuffers()V 128 {
.stack 4;
.locals 0;
L0: getfield_a_this 0; // reference com/sun/satsa/gsmapplet/AccessSATImpl.inBuffer
sconst_0;
bspush 64;
sconst_0;
invokestatic 6; // javacard/framework/Util.arrayFillNonAtomic([BSSB)S
pop;
getfield_a_this 1; // reference com/sun/satsa/gsmapplet/AccessSATImpl.outBuffer
sconst_0;
bspush 64;
sconst_0;
invokestatic 6; // javacard/framework/Util.arrayFillNonAtomic([BSSB)S
pop;
aload_0;
sconst_0;
putfield_s 3; // short com/sun/satsa/gsmapplet/AccessSATImpl.outDataSize
return;
}
.method public getAPDUBuffer()[B 1 {
.stack 1;
.locals 0;
L0: invokestatic 8; // javacard/framework/APDU.getCurrentAPDU()Ljavacard/framework/APDU;
invokevirtual 9; // javacard/framework/APDU.getBuffer()[B
areturn;
}
.method public setOutBufferData(S)V 2 {
.stack 6;
.locals 1;
L0: invokestatic 8; // javacard/framework/APDU.getCurrentAPDU()Ljavacard/framework/APDU;
invokevirtual 9; // javacard/framework/APDU.getBuffer()[B
astore_2;
aload_0;
aload_2;
sconst_0;
getfield_a_this 1; // reference com/sun/satsa/gsmapplet/AccessSATImpl.outBuffer
getfield_s_this 3; // short com/sun/satsa/gsmapplet/AccessSATImpl.outDataSize
sload_1;
invokestatic 10; // javacard/framework/Util.arrayCopy([BS[BSS)S
putfield_s 3; // short com/sun/satsa/gsmapplet/AccessSATImpl.outDataSize
getfield_a_this 0; // reference com/sun/satsa/gsmapplet/AccessSATImpl.inBuffer
sconst_0;
aload_2;
sconst_0;
sload_1;
invokestatic 10; // javacard/framework/Util.arrayCopy([BS[BSS)S
pop;
return;
}
.method public getOutDataLength()S 3 {
.stack 1;
.locals 0;
L0: getfield_s_this 3; // short com/sun/satsa/gsmapplet/AccessSATImpl.outDataSize
sreturn;
}
.method public setOutgoingAPDU()V 4 {
.stack 5;
.locals 1;
L0: invokestatic 8; // javacard/framework/APDU.getCurrentAPDU()Ljavacard/framework/APDU;
invokevirtual 9; // javacard/framework/APDU.getBuffer()[B
astore_1;
getfield_a_this 1; // reference com/sun/satsa/gsmapplet/AccessSATImpl.outBuffer
sconst_0;
aload_1;
sconst_0;
getfield_s_this 3; // short com/sun/satsa/gsmapplet/AccessSATImpl.outDataSize
invokestatic 10; // javacard/framework/Util.arrayCopy([BS[BSS)S
pop;
return;
}
.method public setEventListener(Ljavacard/framework/AID;)V 5 {
.stack 3;
.locals 2;
.descriptor Ljavacard/framework/AID; 1.6;
L0: aload_1;
sconst_0;
invokestatic 11; // javacard/framework/JCSystem.getAppletShareableInterfaceObject(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable;
checkcast 0 19; // T_CLASSORINTERFACE sim/toolkit/ToolkitInterface
astore_2;
aload_2;
ifnonnull L2;
L1: bspush 14;
invokestatic 12; // sim/toolkit/ToolkitException.throwIt(S)V
L2: aload_0;
aload_2;
invokespecial 13; // com/sun/satsa/gsmapplet/AccessSATImpl.findListener(Lsim/toolkit/ToolkitInterface;)B
sconst_m1;
if_scmpne L8;
L3: sconst_0;
sstore_3;
goto L7;
L4: getfield_a_this 2; // reference com/sun/satsa/gsmapplet/AccessSATImpl.tiList
sload_3;
aaload;
ifnonnull L6;
L5: getfield_a_this 2; // reference com/sun/satsa/gsmapplet/AccessSATImpl.tiList
sload_3;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -