⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 satapplet.jca

📁 基于Java开发的SATSA源代码
💻 JCA
字号:
// converted by version 1.3
// on Fri Jun 11 09:23:47 PDT 2004

.package com/sun/satsa/satapplet {
	.aid 0xA0:0x0:0x0:0x0:0x62:0x4;
	.version 0.0;

	.imports {
		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:0x4:0x1 SATApplet;
	}

	.constantPool {
		// 0
		instanceFieldRef 1.10 SATApplet/reg;
		// 1
		virtualMethodRef 0.3.1()V;		// javacard/framework/Applet.register()V
		// 2
		staticMethodRef 1.10.0()Lsim/toolkit/ToolkitRegistry;;		// sim/toolkit/ToolkitRegistry.getEntry()Lsim/toolkit/ToolkitRegistry;
			.descriptor	Lsim/toolkit/ToolkitRegistry;	1.10;

		// 3
		staticMethodRef 0.3.0()V;		// javacard/framework/Applet.<init>()V
		// 4
		virtualMethodRef 1.10.1(B)V;		// sim/toolkit/ToolkitRegistry.setEvent(B)V
		// 5
		classRef SATApplet;
		// 6
		staticMethodRef SATApplet/<init>()V;
		// 7
		staticMethodRef 1.9.0()Lsim/toolkit/EnvelopeHandler;;		// sim/toolkit/EnvelopeHandler.getTheHandler()Lsim/toolkit/EnvelopeHandler;
			.descriptor	Lsim/toolkit/EnvelopeHandler;	1.9;

		// 8
		staticMethodRef 1.7.0()Lsim/toolkit/EnvelopeResponseHandler;;		// sim/toolkit/EnvelopeResponseHandler.getTheHandler()Lsim/toolkit/EnvelopeResponseHandler;
			.descriptor	Lsim/toolkit/EnvelopeResponseHandler;	1.7;

		// 9
		virtualMethodRef 1.3.3(BB)B;		// sim/toolkit/ViewHandler.findTLV(BB)B
		// 10
		virtualMethodRef 1.3.1()S;		// sim/toolkit/ViewHandler.getLength()S
		// 11
		virtualMethodRef 1.3.8(B[BS)S;		// sim/toolkit/ViewHandler.findAndCopyValue(B[BS)S
		// 12
		virtualMethodRef 1.5.15([BSS)V;		// sim/toolkit/EditHandler.appendArray([BSS)V
		// 13
		virtualMethodRef 1.7.20(B)V;		// sim/toolkit/EnvelopeResponseHandler.post(B)V
	}

	.class public SATApplet 0 extends 0.3 {		// extends javacard/framework/Applet

		.shareable;

		.fields {
			private 1.10 reg 0;		// Lsim/toolkit/ToolkitRegistry;
		}

		.publicMethodTable 5 {
			equals(Ljava/lang/Object;)Z;
			register()V;
			register([BSB)V;
			selectingApplet()Z;
			deselect()V;
			getShareableInterfaceObject(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable;;
			select()Z;
			process(Ljavacard/framework/APDU;)V;
			processToolkit(B)V;
		}

		.packageMethodTable 0 {
		}

		.implementedInterfaceInfoTable { 
			.interface 0.2 { 		// javacard/framework/Shareable
			}

			.interface 1.2 { 		// sim/toolkit/ToolkitInterface
				8;		// processToolkit(B)V
			}

			.interface 1.1 { 		// sim/toolkit/ToolkitConstants
			}

		}

		.method private <init>()V {
			.stack 2;
			.locals 0;

				L0:	aload_0;
					invokespecial 3;		// javacard/framework/Applet.<init>()V
					aload_0;
					invokevirtual 1;		// javacard/framework/Applet.register()V
					aload_0;
					invokestatic 2;		// sim/toolkit/ToolkitRegistry.getEntry()Lsim/toolkit/ToolkitRegistry;
					putfield_a 0;		// reference com/sun/satsa/satapplet/SATApplet.reg
					getfield_a_this 0;		// reference com/sun/satsa/satapplet/SATApplet.reg
					sconst_4;
					invokevirtual 4;		// sim/toolkit/ToolkitRegistry.setEvent(B)V
					return;
		}

		.method public static install([BSB)V 0 {
			.stack 2;
			.locals 0;

				L0:	new 5;		// com/sun/satsa/satapplet/SATApplet
					dup;
					invokespecial 6;		// com/sun/satsa/satapplet/SATApplet.<init>()V
					pop;
					return;
		}

		.method public getShareableInterfaceObject(Ljavacard/framework/AID;B)Ljavacard/framework/Shareable; 5 {
			.stack 1;
			.locals 0;

			.descriptor	Ljavacard/framework/AID;	0.6;
			.descriptor	Ljavacard/framework/Shareable;	0.2;

				L0:	aload_0;
					areturn;
		}

		.method public process(Ljavacard/framework/APDU;)V 7 {
			.stack 0;
			.locals 0;

			.descriptor	Ljavacard/framework/APDU;	0.10;

				L0:	return;
		}

		.method public processToolkit(B)V 8 {
			.stack 4;
			.locals 6;

				L0:	invokestatic 7;		// sim/toolkit/EnvelopeHandler.getTheHandler()Lsim/toolkit/EnvelopeHandler;
					astore_2;
					invokestatic 8;		// sim/toolkit/EnvelopeResponseHandler.getTheHandler()Lsim/toolkit/EnvelopeResponseHandler;
					astore_3;
					sload_1;
					slookupswitch L2 1 4 L1;
				L1:	aload_2;
					bspush 11;
					sconst_1;
					invokevirtual 9;		// sim/toolkit/ViewHandler.findTLV(BB)B
					sstore 4;
					aload_2;
					invokevirtual 10;		// sim/toolkit/ViewHandler.getLength()S
					sstore 5;
					sload 5;
					newarray 11;
					astore 6;
					aload_2;
					bspush 11;
					aload 6;
					sconst_0;
					invokevirtual 11;		// sim/toolkit/ViewHandler.findAndCopyValue(B[BS)S
					sstore 7;
					aload_3;
					aload 6;
					sconst_0;
					sload 7;
					invokevirtual 12;		// sim/toolkit/EditHandler.appendArray([BSS)V
					aload_3;
					aload 6;
					sload 5;
					sconst_1;
					ssub;
					baload;
					invokevirtual 13;		// sim/toolkit/EnvelopeResponseHandler.post(B)V
				L2:	return;
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -