📄 impl.jca
字号:
// converted by version 1.3
// on Thu Aug 31 15:24:02 CST 2006
.package watchdata/impl {
.aid 0x11:0x22:0x33:0x44:0x55:0x66;
.version 1.0;
.imports {
0xA0:0x0:0x0:0x0:0x62:0x0:0x1 1.0; //java/lang
0xA0:0x0:0x0:0x0:0x62:0x1:0x1 1.2; //javacard/framework
0x11:0x22:0x33:0x44:0x55:0x66:0x77 1.0; //watchdata/NativeMethods
}
.constantPool {
// 0
instanceFieldRef byte[] PackedBoolean/container;
// 1
instanceFieldRef byte PackedBoolean/nextId;
// 2
staticMethodRef 0.0.0()V; // java/lang/Object.<init>()V
// 3
staticMethodRef 1.8.13(SB)[B; // javacard/framework/JCSystem.makeTransientByteArray(SB)[B
// 4
virtualMethodRef PackedBoolean/access(BB)Z;
// 5
staticMethodRef PrivAccess/registerApplet(Ljavacard/framework/Applet;Ljavacard/framework/AID;)V;
.descriptor Ljavacard/framework/Applet; 1.3;
.descriptor Ljavacard/framework/AID; 1.6;
// 6
classRef 1.6; // javacard/framework/AID
// 7
staticMethodRef 1.6.0([BSB)V; // javacard/framework/AID.<init>([BSB)V
// 8
staticMethodRef 2.0.12(Ljava/lang/Object;Z)V; // watchdata/NativeMethods/WDAPI.setJCREentry(Ljava/lang/Object;Z)V
.descriptor Ljava/lang/Object; 0.0;
// 9
staticFieldRef PrivAccess PrivAccess/thePrivAccess;
// 10
staticFieldRef PackedBoolean PrivAccess/thePackedBoolean;
// 11
classRef PackedBoolean;
// 12
staticMethodRef PackedBoolean/<init>(B)V;
// 13
staticFieldRef byte PrivAccess/selectingAppletFlag;
// 14
virtualMethodRef PackedBoolean/set(B)V;
// 15
virtualMethodRef PackedBoolean/reset(B)V;
// 16
staticFieldRef byte PrivAccess/processMethodFlag;
// 17
staticMethodRef 2.0.8(B)S; // watchdata/NativeMethods/WDAPI.getChannelContext(B)S
// 18
staticMethodRef 2.0.32(BB)S; // watchdata/NativeMethods/WDAPI.readAppTable(BB)S
// 19
staticMethodRef 2.0.34(S)Ljavacard/framework/Applet;; // watchdata/NativeMethods/WDAPI.getAppletInstance(S)Ljavacard/framework/Applet;
.descriptor Ljavacard/framework/Applet; 1.3;
// 20
staticMethodRef PrivAccess/deselectOnly(B)V;
// 21
staticFieldRef byte PrivAccess/defaultAppID;
// 22
staticMethodRef PrivAccess/selectOnly(BB)V;
// 23
staticMethodRef 2.0.35(B)Ljavacard/framework/Applet;; // watchdata/NativeMethods/WDAPI.getAppletInstance(B)Ljavacard/framework/Applet;
.descriptor Ljavacard/framework/Applet; 1.3;
// 24
classRef 1.17; // javacard/framework/MultiSelectable
// 25
staticMethodRef PrivAccess/getContextId(B)S;
// 26
staticMethodRef 2.0.16()B; // watchdata/NativeMethods/WDAPI.getMaxChannels()B
// 27
classRef 1.7; // javacard/framework/ISOException
// 28
classRef 0.1; // java/lang/Throwable
// 29
staticMethodRef PrivAccess/setSelectingAppletFlag()V;
// 30
staticMethodRef 2.0.17(S)B; // watchdata/NativeMethods/WDAPI.getContextStatus(S)B
// 31
staticMethodRef 2.0.7(BSZ)Z; // watchdata/NativeMethods/WDAPI.setChannelContext(BSZ)Z
// 32
staticMethodRef 2.0.18(B)V; // watchdata/NativeMethods/WDAPI.setCurrentlySelectedChannel(B)V
// 33
staticMethodRef PrivAccess/getSelectedApplet(B)Ljavacard/framework/Applet;;
.descriptor Ljavacard/framework/Applet; 1.3;
// 34
virtualMethodRef 1.3.6()Z; // javacard/framework/Applet.select()Z
// 35
staticMethodRef 1.7.1(S)V; // javacard/framework/ISOException.throwIt(S)V
// 36
virtualMethodRef 1.7.1()S; // javacard/framework/ISOException.getReason()S
// 37
staticMethodRef 1.10.6()B; // javacard/framework/APDU.getCLAChannel()B
// 38
staticMethodRef 1.8.7()B; // javacard/framework/JCSystem.getTransactionDepth()B
// 39
staticMethodRef 1.8.0()V; // javacard/framework/JCSystem.abortTransaction()V
// 40
virtualMethodRef 1.3.4()V; // javacard/framework/Applet.deselect()V
// 41
staticMethodRef 2.0.5(BB)V; // watchdata/NativeMethods/WDAPI.clearTransientObjs(BB)V
// 42
staticMethodRef PrivAccess/findApplet(Ljavacard/framework/AID;)B;
.descriptor Ljavacard/framework/AID; 1.6;
// 43
staticMethodRef 2.0.33(BBS)V; // watchdata/NativeMethods/WDAPI.writeAppTable(BBS)V
// 44
staticMethodRef 2.0.9()S; // watchdata/NativeMethods/WDAPI.getCurrentContext()S
// 45
staticMethodRef 2.0.10()S; // watchdata/NativeMethods/WDAPI.getPreviousContext()S
// 46
staticMethodRef PrivAccess/getPackedBoolean()Lwatchdata/impl/PackedBoolean;;
// 47
virtualMethodRef PackedBoolean/allocate()B;
// 48
virtualMethodRef PackedBoolean/get(B)Z;
// 49
staticMethodRef PrivAccess/getPreviousAppID()B;
// 50
staticMethodRef 2.0.36(BB)Ljava/lang/Object;; // watchdata/NativeMethods/WDAPI.getAppletObj(BB)Ljava/lang/Object;
.descriptor Ljava/lang/Object; 0.0;
// 51
staticMethodRef 1.13.1(S)V; // javacard/framework/SystemException.throwIt(S)V
// 52
staticMethodRef 2.0.37(BBLjava/lang/Object;)V; // watchdata/NativeMethods/WDAPI.writeAppTableObj(BBLjava/lang/Object;)V
.descriptor Ljava/lang/Object; 0.0;
// 53
classRef 0.2; // java/lang/Exception
// 54
virtualMethodRef PrivAccess/getAID(B)Ljavacard/framework/AID;;
.descriptor Ljavacard/framework/AID; 1.6;
// 55
classRef 1.3; // javacard/framework/Applet
// 56
virtualMethodRef 1.3.5(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable;; // javacard/framework/Applet.getShareableInterfaceObject(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable;
.descriptor Ljavacard/framework/AID; 1.6;
.descriptor Ljavacard/framework/Shareable; 1.2;
// 57
staticMethodRef PrivAccess/findApplet([BSB)B;
// 58
virtualMethodRef 1.6.2([BSB)Z; // javacard/framework/AID.equals([BSB)Z
// 59
virtualMethodRef 1.6.0(Ljava/lang/Object;)Z; // javacard/framework/AID.equals(Ljava/lang/Object;)Z
.descriptor Ljava/lang/Object; 0.0;
}
.class public CryptoInit 0 extends 0.0 { // extends java/lang/Object
.publicMethodTable 1 {
equals(Ljava/lang/Object;)Z;
}
.packageMethodTable 0 {
}
.method public <init>()V 0 {
.stack 1;
.locals 0;
L0: aload_0;
invokespecial 2; // java/lang/Object.<init>()V
return;
}
.method public static initCryptoStorage()V 1 {
.stack 0;
.locals 0;
L0: return;
}
}
.class public PackedBoolean 1 extends 0.0 { // extends java/lang/Object
.fields {
protected byte nextId 0; // B
protected byte[] container 1; // [B
}
.publicMethodTable 1 {
equals(Ljava/lang/Object;)Z;
allocate()B;
get(B)Z;
access(BB)Z;
set(B)V;
reset(B)V;
}
.packageMethodTable 0 {
}
.method public <init>(B)V 0 {
.stack 3;
.locals 0;
L0: aload_0;
invokespecial 2; // java/lang/Object.<init>()V
aload_0;
sload_1;
sconst_1;
invokestatic 3; // javacard/framework/JCSystem.makeTransientByteArray(SB)[B
putfield_a 0; // reference watchdata/impl/PackedBoolean.container
aload_0;
sconst_0;
putfield_b 1; // byte watchdata/impl/PackedBoolean.nextId
return;
}
.method public allocate()B 1 {
.stack 4;
.locals 0;
L0: aload_0;
dup;
getfield_b 1; // byte watchdata/impl/PackedBoolean.nextId
dup_x 18;
sconst_1;
sadd;
s2b;
putfield_b 1; // byte watchdata/impl/PackedBoolean.nextId
sreturn;
}
.method public get(B)Z 2 {
.stack 3;
.locals 0;
L0: aload_0;
sload_1;
sconst_0;
invokevirtual 4; // watchdata/impl/PackedBoolean.access(BB)Z
sreturn;
}
.method public access(BB)Z 3 {
.stack 5;
.locals 3;
L0: sload_1;
sconst_3;
sshr;
sstore_3;
sload_1;
bspush 7;
sand;
sstore 4;
sspush 128;
sload 4;
sshr;
s2b;
sstore 5;
sload_2;
stableswitch L3 -1 1 L2 L3 L1;
L1: getfield_a_this 0; // reference watchdata/impl/PackedBoolean.container
sload_3;
dup2;
baload;
sload 5;
sor;
bastore;
goto L3;
L2: getfield_a_this 0; // reference watchdata/impl/PackedBoolean.container
sload_3;
dup2;
baload;
sload 5;
sconst_m1;
sxor;
sand;
bastore;
L3: getfield_a_this 0; // reference watchdata/impl/PackedBoolean.container
sload_3;
baload;
sload 5;
sand;
ifeq L5;
L4: sconst_1;
sreturn;
L5: sconst_0;
sreturn;
}
.method public set(B)V 4 {
.stack 3;
.locals 0;
L0: aload_0;
sload_1;
sconst_1;
invokevirtual 4; // watchdata/impl/PackedBoolean.access(BB)Z
pop;
return;
}
.method public reset(B)V 5 {
.stack 3;
.locals 0;
L0: aload_0;
sload_1;
sconst_m1;
invokevirtual 4; // watchdata/impl/PackedBoolean.access(BB)Z
pop;
return;
}
}
.class public PrivAccess 2 extends 0.0 { // extends java/lang/Object
.fields {
public static final byte APP_FIRST = 0; // B
public static final byte APPS_MAX = 16; // B
public static final byte APP_NULL = -1; // B
public static final byte JCRE_CONTEXTID = 0; // B
public static final short NULL_CONTEXTID = -1; // S
public static final short APPID_BITMASK = 255; // S
public static final byte APP_STATE_NONE = 0; // B
public static final byte APP_STATE_REGISTERED = 1; // B
public static final byte APP_STATE_SELECTABLE = 2; // B
private static byte defaultAppID; // B
private static final byte BASIC_CHANNEL = 0; // B
static final byte APPLET_MULTISELECTED = 8; // B
static final byte APPLET_ACTIVE = 4; // B
static final byte PACKAGE_MULTISELECTED = 2; // B
static final byte PACKAGE_ACTIVE = 1; // B
private static PackedBoolean thePackedBoolean; // Lwatchdata/impl/PackedBoolean;
private static PrivAccess thePrivAccess; // Lwatchdata/impl/PrivAccess;
private static final byte NUMBER_SYSTEM_BOOLS = 10; // B
private static byte selectingAppletFlag; // B
private static byte processMethodFlag; // B
}
.publicMethodTable 1 {
equals(Ljava/lang/Object;)Z;
register(Ljavacard/framework/Applet;)V;
register(Ljavacard/framework/Applet;[BSB)V;
selectingApplet()Z;
inProcessMethod()Z;
getSharedObject(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable;;
getAID([BSB)Ljavacard/framework/AID;;
getAID(B)Ljavacard/framework/AID;;
}
.packageMethodTable 0 {
}
.method public final register(Ljavacard/framework/Applet;)V 1 {
.stack 2;
.locals 0;
.descriptor Ljavacard/framework/Applet; 1.3;
L0: aload_1;
aconst_null;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -