📄 impl.jca
字号:
}
.method public static selectApplet(BB)V 13 {
.stack 2;
.locals 0;
L0: sload_0;
invokestatic 20; // watchdata/impl/PrivAccess.deselectOnly(B)V
sload_0;
sload_1;
invokestatic 22; // watchdata/impl/PrivAccess.selectOnly(BB)V
return;
}
.method public static getAppState(Ljavacard/framework/AID;)B 14 {
.stack 2;
.locals 1;
.descriptor Ljavacard/framework/AID; 1.6;
L0: aload_0;
invokestatic 42; // watchdata/impl/PrivAccess.findApplet(Ljavacard/framework/AID;)B
sstore_1;
sload_1;
sconst_m1;
if_scmpeq L2;
L1: sload_1;
sconst_1;
invokestatic 18; // watchdata/NativeMethods/WDAPI.readAppTable(BB)S
s2b;
sreturn;
L2: sconst_0;
sreturn;
}
.method public static setAppState(Ljavacard/framework/AID;B)V 15 {
.stack 3;
.locals 1;
.descriptor Ljavacard/framework/AID; 1.6;
L0: aload_0;
invokestatic 42; // watchdata/impl/PrivAccess.findApplet(Ljavacard/framework/AID;)B
sstore_2;
sload_2;
sconst_m1;
if_scmpeq L2;
L1: sload_2;
sconst_1;
sload_1;
invokestatic 43; // watchdata/NativeMethods/WDAPI.writeAppTable(BBS)V
L2: return;
}
.method public static getCurrentAppID()B 16 {
.stack 2;
.locals 3;
L0: invokestatic 44; // watchdata/NativeMethods/WDAPI.getCurrentContext()S
sstore_0;
sload_0;
sconst_m1;
if_scmpne L2;
L1: sconst_m1;
sreturn;
L2: sconst_0;
sstore_1;
goto L7;
L3: sload_1;
sconst_0;
invokestatic 18; // watchdata/NativeMethods/WDAPI.readAppTable(BB)S
sstore_2;
sload_2;
sconst_m1;
if_scmpeq L6;
L4: sload_2;
sload_0;
if_scmpne L6;
L5: sload_1;
sreturn;
L6: sload_1;
sconst_1;
sadd;
s2b;
sstore_1;
L7: sload_1;
bspush 16;
if_scmplt L3;
L8: sconst_m1;
sreturn;
}
.method public static getPreviousAppID()B 17 {
.stack 2;
.locals 3;
L0: invokestatic 45; // watchdata/NativeMethods/WDAPI.getPreviousContext()S
sstore_0;
sconst_0;
sstore_1;
goto L5;
L1: sload_1;
sconst_0;
invokestatic 18; // watchdata/NativeMethods/WDAPI.readAppTable(BB)S
sstore_2;
sload_2;
sconst_m1;
if_scmpeq L4;
L2: sload_2;
sload_0;
if_scmpne L4;
L3: sload_1;
sreturn;
L4: sload_1;
sconst_1;
sadd;
s2b;
sstore_1;
L5: sload_1;
bspush 16;
if_scmplt L1;
L6: sconst_m1;
sreturn;
}
.method public static getContextId(B)S 18 {
.stack 2;
.locals 0;
L0: sload_0;
sconst_0;
invokestatic 18; // watchdata/NativeMethods/WDAPI.readAppTable(BB)S
sreturn;
}
.method public static initialize(Ljavacard/framework/APDU;)V 19 {
.stack 1;
.locals 0;
.descriptor Ljavacard/framework/APDU; 1.10;
L0: invokestatic 46; // watchdata/impl/PrivAccess.getPackedBoolean()Lwatchdata/impl/PackedBoolean;
invokevirtual 47; // watchdata/impl/PackedBoolean.allocate()B
putstatic_b 13; // byte watchdata/impl/PrivAccess.selectingAppletFlag
invokestatic 46; // watchdata/impl/PrivAccess.getPackedBoolean()Lwatchdata/impl/PackedBoolean;
invokevirtual 47; // watchdata/impl/PackedBoolean.allocate()B
putstatic_b 16; // byte watchdata/impl/PrivAccess.processMethodFlag
return;
}
.method public selectingApplet()Z 3 {
.stack 2;
.locals 0;
L0: getstatic_a 10; // reference watchdata/impl/PrivAccess.thePackedBoolean
getstatic_b 13; // byte watchdata/impl/PrivAccess.selectingAppletFlag
invokevirtual 48; // watchdata/impl/PackedBoolean.get(B)Z
sreturn;
}
.method public inProcessMethod()Z 4 {
.stack 2;
.locals 0;
L0: getstatic_a 10; // reference watchdata/impl/PrivAccess.thePackedBoolean
getstatic_b 16; // byte watchdata/impl/PrivAccess.processMethodFlag
invokevirtual 48; // watchdata/impl/PackedBoolean.get(B)Z
sreturn;
}
.method static registerApplet(Ljavacard/framework/Applet;Ljavacard/framework/AID;)V {
.stack 3;
.locals 1;
.descriptor Ljavacard/framework/Applet; 1.3;
.descriptor Ljavacard/framework/AID; 1.6;
L0: invokestatic 49; // watchdata/impl/PrivAccess.getPreviousAppID()B
sstore_2;
sload_2;
sconst_1;
invokestatic 50; // watchdata/NativeMethods/WDAPI.getAppletObj(BB)Ljava/lang/Object;
checkcast 0 6; // T_CLASSORINTERFACE javacard/framework/AID
ifnull L2;
L1: sconst_4;
invokestatic 51; // javacard/framework/SystemException.throwIt(S)V
L2: aload_1;
ifnonnull L4;
L3: sload_2;
sconst_0;
invokestatic 50; // watchdata/NativeMethods/WDAPI.getAppletObj(BB)Ljava/lang/Object;
checkcast 0 6; // T_CLASSORINTERFACE javacard/framework/AID
astore_1;
L4: aload_1;
invokestatic 42; // watchdata/impl/PrivAccess.findApplet(Ljavacard/framework/AID;)B
sconst_m1;
if_scmpeq L6;
L5: sconst_4;
invokestatic 51; // javacard/framework/SystemException.throwIt(S)V
L6: sload_2;
sconst_1;
aload_1;
invokestatic 52; // watchdata/NativeMethods/WDAPI.writeAppTableObj(BBLjava/lang/Object;)V
sload_2;
sconst_2;
aload_0;
invokestatic 52; // watchdata/NativeMethods/WDAPI.writeAppTableObj(BBLjava/lang/Object;)V
return;
}
.method public getSharedObject(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable; 5 {
.stack 3;
.locals 3;
.descriptor Ljavacard/framework/AID; 1.6;
.descriptor Ljavacard/framework/Shareable; 1.2;
L0: aload_0;
invokestatic 45; // watchdata/NativeMethods/WDAPI.getPreviousContext()S
sspush 255;
sand;
s2b;
invokevirtual 54; // watchdata/impl/PrivAccess.getAID(B)Ljavacard/framework/AID;
astore_3;
aload_3;
ifnonnull L2;
L1: aconst_null;
areturn;
L2: aload_1;
invokestatic 42; // watchdata/impl/PrivAccess.findApplet(Ljavacard/framework/AID;)B
sstore 4;
sload 4;
sconst_m1;
if_scmpeq L5;
L3: sload 4;
sconst_2;
invokestatic 50; // watchdata/NativeMethods/WDAPI.getAppletObj(BB)Ljava/lang/Object;
checkcast 0 55; // T_CLASSORINTERFACE javacard/framework/Applet
aload_3;
sload_2;
invokevirtual 56; // javacard/framework/Applet.getShareableInterfaceObject(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable;
areturn;
L4: astore 5;
L5: aconst_null;
areturn;
.exceptionTable {
// start_block end_block handler_block catch_type_index
L3 L4 L4 53;
}
}
.method public getAID([BSB)Ljavacard/framework/AID; 6 {
.stack 3;
.locals 1;
.descriptor Ljavacard/framework/AID; 1.6;
L0: aload_1;
sload_2;
sload_3;
invokestatic 57; // watchdata/impl/PrivAccess.findApplet([BSB)B
sstore 4;
sload 4;
sconst_m1;
if_scmpeq L2;
L1: sload 4;
sconst_1;
invokestatic 50; // watchdata/NativeMethods/WDAPI.getAppletObj(BB)Ljava/lang/Object;
checkcast 0 6; // T_CLASSORINTERFACE javacard/framework/AID
areturn;
L2: aconst_null;
areturn;
}
.method public getAID(B)Ljavacard/framework/AID; 7 {
.stack 2;
.locals 0;
.descriptor Ljavacard/framework/AID; 1.6;
L0: sload_1;
sconst_1;
invokestatic 50; // watchdata/NativeMethods/WDAPI.getAppletObj(BB)Ljava/lang/Object;
checkcast 0 6; // T_CLASSORINTERFACE javacard/framework/AID
areturn;
}
.method public static findApplet([BSB)B 20 {
.stack 4;
.locals 3;
L0: sconst_0;
sstore_3;
goto L6;
L1: sload_3;
invokestatic 23; // watchdata/NativeMethods/WDAPI.getAppletInstance(B)Ljavacard/framework/Applet;
astore 4;
sload_3;
sconst_1;
invokestatic 50; // watchdata/NativeMethods/WDAPI.getAppletObj(BB)Ljava/lang/Object;
checkcast 0 6; // T_CLASSORINTERFACE javacard/framework/AID
astore 5;
aload 4;
ifnull L5;
L2: aload 5;
ifnull L5;
L3: aload 5;
aload_0;
sload_1;
sload_2;
invokevirtual 58; // javacard/framework/AID.equals([BSB)Z
ifeq L5;
L4: sload_3;
sreturn;
L5: sload_3;
sconst_1;
sadd;
s2b;
sstore_3;
L6: sload_3;
bspush 16;
if_scmplt L1;
L7: sconst_m1;
sreturn;
}
.method static findApplet(Ljavacard/framework/AID;)B {
.stack 2;
.locals 3;
.descriptor Ljavacard/framework/AID; 1.6;
L0: sconst_0;
sstore_1;
goto L6;
L1: sload_1;
invokestatic 23; // watchdata/NativeMethods/WDAPI.getAppletInstance(B)Ljavacard/framework/Applet;
astore_2;
sload_1;
sconst_1;
invokestatic 50; // watchdata/NativeMethods/WDAPI.getAppletObj(BB)Ljava/lang/Object;
checkcast 0 6; // T_CLASSORINTERFACE javacard/framework/AID
astore_3;
aload_2;
ifnull L5;
L2: aload_0;
ifnull L5;
L3: aload_3;
aload_0;
invokevirtual 59; // javacard/framework/AID.equals(Ljava/lang/Object;)Z
ifeq L5;
L4: sload_1;
sreturn;
L5: sload_1;
sconst_1;
sadd;
s2b;
sstore_1;
L6: sload_1;
bspush 16;
if_scmplt L1;
L7: sconst_m1;
sreturn;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -