public class com.jcraft.jsch.DHG1 extends com.jcraft.jsch.KeyExchange
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jcraft.jsch.DHG1
super_class: com.jcraft.jsch.KeyExchange
{
static final byte[] g;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final byte[] p;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final int SSH_MSG_KEXDH_INIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 30
private static final int SSH_MSG_KEXDH_REPLY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 31
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
com.jcraft.jsch.DH dh;
descriptor: Lcom/jcraft/jsch/DH;
flags: (0x0000)
byte[] V_S;
descriptor: [B
flags: (0x0000)
byte[] V_C;
descriptor: [B
flags: (0x0000)
byte[] I_S;
descriptor: [B
flags: (0x0000)
byte[] I_C;
descriptor: [B
flags: (0x0000)
byte[] e;
descriptor: [B
flags: (0x0000)
private com.jcraft.jsch.Buffer buf;
descriptor: Lcom/jcraft/jsch/Buffer;
flags: (0x0002) ACC_PRIVATE
private com.jcraft.jsch.Packet packet;
descriptor: Lcom/jcraft/jsch/Packet;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
newarray 8
dup
iconst_0
iconst_2
bastore
putstatic com.jcraft.jsch.DHG1.g:[B
1: sipush 129
newarray 8
dup
iconst_1
2: iconst_m1
bastore
dup
iconst_2
iconst_m1
bastore
dup
iconst_3
iconst_m1
bastore
dup
iconst_4
iconst_m1
bastore
dup
iconst_5
iconst_m1
bastore
dup
bipush 6
iconst_m1
bastore
dup
bipush 7
iconst_m1
bastore
dup
bipush 8
iconst_m1
bastore
dup
bipush 9
3: bipush -55
bastore
dup
bipush 10
bipush 15
bastore
dup
bipush 11
bipush -38
bastore
dup
bipush 12
bipush -94
bastore
dup
bipush 13
bipush 33
bastore
dup
bipush 14
bipush 104
bastore
dup
bipush 15
bipush -62
bastore
dup
bipush 16
bipush 52
bastore
dup
bipush 17
4: bipush -60
bastore
dup
bipush 18
bipush -58
bastore
dup
bipush 19
bipush 98
bastore
dup
bipush 20
bipush -117
bastore
dup
bipush 21
bipush -128
bastore
dup
bipush 22
bipush -36
bastore
dup
bipush 23
bipush 28
bastore
dup
bipush 24
bipush -47
bastore
dup
bipush 25
5: bipush 41
bastore
dup
bipush 26
iconst_2
bastore
dup
bipush 27
bipush 78
bastore
dup
bipush 28
bipush 8
bastore
dup
bipush 29
bipush -118
bastore
dup
bipush 30
bipush 103
bastore
dup
bipush 31
bipush -52
bastore
dup
bipush 32
bipush 116
bastore
dup
bipush 33
6: iconst_2
bastore
dup
bipush 34
bipush 11
bastore
dup
bipush 35
bipush -66
bastore
dup
bipush 36
bipush -90
bastore
dup
bipush 37
bipush 59
bastore
dup
bipush 38
bipush 19
bastore
dup
bipush 39
bipush -101
bastore
dup
bipush 40
bipush 34
bastore
dup
bipush 41
7: bipush 81
bastore
dup
bipush 42
bipush 74
bastore
dup
bipush 43
bipush 8
bastore
dup
bipush 44
bipush 121
bastore
dup
bipush 45
bipush -114
bastore
dup
bipush 46
bipush 52
bastore
dup
bipush 47
iconst_4
bastore
dup
bipush 48
bipush -35
bastore
dup
bipush 49
8: bipush -17
bastore
dup
bipush 50
bipush -107
bastore
dup
bipush 51
bipush 25
bastore
dup
bipush 52
bipush -77
bastore
dup
bipush 53
bipush -51
bastore
dup
bipush 54
bipush 58
bastore
dup
bipush 55
bipush 67
bastore
dup
bipush 56
bipush 27
bastore
dup
bipush 57
9: bipush 48
bastore
dup
bipush 58
bipush 43
bastore
dup
bipush 59
bipush 10
bastore
dup
bipush 60
bipush 109
bastore
dup
bipush 61
bipush -14
bastore
dup
bipush 62
bipush 95
bastore
dup
bipush 63
bipush 20
bastore
dup
bipush 64
bipush 55
bastore
dup
bipush 65
10: bipush 79
bastore
dup
bipush 66
bipush -31
bastore
dup
bipush 67
bipush 53
bastore
dup
bipush 68
bipush 109
bastore
dup
bipush 69
bipush 109
bastore
dup
bipush 70
bipush 81
bastore
dup
bipush 71
bipush -62
bastore
dup
bipush 72
bipush 69
bastore
dup
bipush 73
11: bipush -28
bastore
dup
bipush 74
bipush -123
bastore
dup
bipush 75
bipush -75
bastore
dup
bipush 76
bipush 118
bastore
dup
bipush 77
bipush 98
bastore
dup
bipush 78
bipush 94
bastore
dup
bipush 79
bipush 126
bastore
dup
bipush 80
bipush -58
bastore
dup
bipush 81
12: bipush -12
bastore
dup
bipush 82
bipush 76
bastore
dup
bipush 83
bipush 66
bastore
dup
bipush 84
bipush -23
bastore
dup
bipush 85
bipush -90
bastore
dup
bipush 86
bipush 55
bastore
dup
bipush 87
bipush -19
bastore
dup
bipush 88
bipush 107
bastore
dup
bipush 89
13: bipush 11
bastore
dup
bipush 90
iconst_m1
bastore
dup
bipush 91
bipush 92
bastore
dup
bipush 92
bipush -74
bastore
dup
bipush 93
bipush -12
bastore
dup
bipush 94
bipush 6
bastore
dup
bipush 95
bipush -73
bastore
dup
bipush 96
bipush -19
bastore
dup
bipush 97
14: bipush -18
bastore
dup
bipush 98
bipush 56
bastore
dup
bipush 99
bipush 107
bastore
dup
bipush 100
bipush -5
bastore
dup
bipush 101
bipush 90
bastore
dup
bipush 102
bipush -119
bastore
dup
bipush 103
bipush -97
bastore
dup
bipush 104
bipush -91
bastore
dup
bipush 105
15: bipush -82
bastore
dup
bipush 106
bipush -97
bastore
dup
bipush 107
bipush 36
bastore
dup
bipush 108
bipush 17
bastore
dup
bipush 109
bipush 124
bastore
dup
bipush 110
bipush 75
bastore
dup
bipush 111
bipush 31
bastore
dup
bipush 112
bipush -26
bastore
dup
bipush 113
16: bipush 73
bastore
dup
bipush 114
bipush 40
bastore
dup
bipush 115
bipush 102
bastore
dup
bipush 116
bipush 81
bastore
dup
bipush 117
bipush -20
bastore
dup
bipush 118
bipush -26
bastore
dup
bipush 119
bipush 83
bastore
dup
bipush 120
bipush -127
bastore
dup
bipush 121
17: iconst_m1
bastore
dup
bipush 122
iconst_m1
bastore
dup
bipush 123
iconst_m1
bastore
dup
bipush 124
iconst_m1
bastore
dup
bipush 125
iconst_m1
bastore
dup
bipush 126
iconst_m1
bastore
dup
bipush 127
iconst_m1
bastore
dup
sipush 128
iconst_m1
bastore
18: putstatic com.jcraft.jsch.DHG1.p:[B
19: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.jcraft.jsch.KeyExchange.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/DHG1;
public void init(com.jcraft.jsch.Session, byte[], byte[], byte[], byte[]);
descriptor: (Lcom/jcraft/jsch/Session;[B[B[B[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield com.jcraft.jsch.DHG1.session:Lcom/jcraft/jsch/Session;
1: aload 0
aload 2
putfield com.jcraft.jsch.DHG1.V_S:[B
2: aload 0
aload 3
putfield com.jcraft.jsch.DHG1.V_C:[B
3: aload 0
aload 4
putfield com.jcraft.jsch.DHG1.I_S:[B
4: aload 0
aload 5
putfield com.jcraft.jsch.DHG1.I_C:[B
5: aload 1
ldc "sha-1"
invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 6: aload 0
aload 6
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.jcraft.jsch.HASH
putfield com.jcraft.jsch.DHG1.sha:Lcom/jcraft/jsch/HASH;
7: aload 0
getfield com.jcraft.jsch.DHG1.sha:Lcom/jcraft/jsch/HASH;
invokeinterface com.jcraft.jsch.HASH.init:()V
end local 6 8: goto 11
9: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 10: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
end local 6 11: StackMap locals:
StackMap stack:
aload 0
new com.jcraft.jsch.Buffer
dup
invokespecial com.jcraft.jsch.Buffer.<init>:()V
putfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
12: aload 0
new com.jcraft.jsch.Packet
dup
aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
putfield com.jcraft.jsch.DHG1.packet:Lcom/jcraft/jsch/Packet;
13: aload 1
ldc "dh"
invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 14: aload 0
aload 6
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.jcraft.jsch.DH
putfield com.jcraft.jsch.DHG1.dh:Lcom/jcraft/jsch/DH;
15: aload 0
getfield com.jcraft.jsch.DHG1.dh:Lcom/jcraft/jsch/DH;
invokeinterface com.jcraft.jsch.DH.init:()V
end local 6 16: goto 19
17: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 18: aload 6
athrow
end local 6 19: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.DHG1.dh:Lcom/jcraft/jsch/DH;
getstatic com.jcraft.jsch.DHG1.p:[B
invokeinterface com.jcraft.jsch.DH.setP:([B)V
20: aload 0
getfield com.jcraft.jsch.DHG1.dh:Lcom/jcraft/jsch/DH;
getstatic com.jcraft.jsch.DHG1.g:[B
invokeinterface com.jcraft.jsch.DH.setG:([B)V
21: aload 0
aload 0
getfield com.jcraft.jsch.DHG1.dh:Lcom/jcraft/jsch/DH;
invokeinterface com.jcraft.jsch.DH.getE:()[B
putfield com.jcraft.jsch.DHG1.e:[B
22: aload 0
getfield com.jcraft.jsch.DHG1.packet:Lcom/jcraft/jsch/Packet;
invokevirtual com.jcraft.jsch.Packet.reset:()V
23: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
bipush 30
invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
24: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 0
getfield com.jcraft.jsch.DHG1.e:[B
invokevirtual com.jcraft.jsch.Buffer.putMPInt:([B)V
25: aload 1
aload 0
getfield com.jcraft.jsch.DHG1.packet:Lcom/jcraft/jsch/Packet;
invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
26: invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
iconst_1
invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
ifeq 33
27: invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
iconst_1
28: ldc "SSH_MSG_KEXDH_INIT sent"
29: invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
30: invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
iconst_1
31: ldc "expecting SSH_MSG_KEXDH_REPLY"
32: invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
33: StackMap locals:
StackMap stack:
aload 0
bipush 31
putfield com.jcraft.jsch.DHG1.state:I
34: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/jcraft/jsch/DHG1;
0 35 1 session Lcom/jcraft/jsch/Session;
0 35 2 V_S [B
0 35 3 V_C [B
0 35 4 I_S [B
0 35 5 I_C [B
6 8 6 c Ljava/lang/Class;
10 11 6 e Ljava/lang/Exception;
14 16 6 c Ljava/lang/Class;
18 19 6 e Ljava/lang/Exception;
Exception table:
from to target type
5 8 9 Class java.lang.Exception
13 16 17 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
session
V_S
V_C
I_S
I_C
public boolean next(com.jcraft.jsch.Buffer);
descriptor: (Lcom/jcraft/jsch/Buffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jcraft.jsch.DHG1.state:I
tableswitch { // 31 - 31
31: 1
default: 35
}
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.jcraft.jsch.Buffer.getInt:()I
istore 3
start local 3 2: aload 1
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
istore 3
3: aload 1
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
istore 3
4: iload 3
bipush 31
if_icmpeq 7
5: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "type: must be 31 "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: iconst_0
ireturn
7: StackMap locals: com.jcraft.jsch.DHG1 com.jcraft.jsch.Buffer top int
StackMap stack:
aload 0
aload 1
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
putfield com.jcraft.jsch.DHG1.K_S:[B
8: aload 1
invokevirtual com.jcraft.jsch.Buffer.getMPInt:()[B
astore 4
start local 4 9: aload 1
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
astore 5
start local 5 10: aload 0
getfield com.jcraft.jsch.DHG1.dh:Lcom/jcraft/jsch/DH;
aload 4
invokeinterface com.jcraft.jsch.DH.setF:([B)V
11: aload 0
getfield com.jcraft.jsch.DHG1.dh:Lcom/jcraft/jsch/DH;
invokeinterface com.jcraft.jsch.DH.checkRange:()V
12: aload 0
aload 0
aload 0
getfield com.jcraft.jsch.DHG1.dh:Lcom/jcraft/jsch/DH;
invokeinterface com.jcraft.jsch.DH.getK:()[B
invokevirtual com.jcraft.jsch.DHG1.normalize:([B)[B
putfield com.jcraft.jsch.DHG1.K:[B
13: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.reset:()V
14: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 0
getfield com.jcraft.jsch.DHG1.V_C:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 0
getfield com.jcraft.jsch.DHG1.V_S:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
15: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 0
getfield com.jcraft.jsch.DHG1.I_C:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 0
getfield com.jcraft.jsch.DHG1.I_S:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
16: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 0
getfield com.jcraft.jsch.DHG1.K_S:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
17: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 0
getfield com.jcraft.jsch.DHG1.e:[B
invokevirtual com.jcraft.jsch.Buffer.putMPInt:([B)V
aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 4
invokevirtual com.jcraft.jsch.Buffer.putMPInt:([B)V
18: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 0
getfield com.jcraft.jsch.DHG1.K:[B
invokevirtual com.jcraft.jsch.Buffer.putMPInt:([B)V
19: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getLength:()I
newarray 8
astore 6
start local 6 20: aload 0
getfield com.jcraft.jsch.DHG1.buf:Lcom/jcraft/jsch/Buffer;
aload 6
invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
21: aload 0
getfield com.jcraft.jsch.DHG1.sha:Lcom/jcraft/jsch/HASH;
aload 6
iconst_0
aload 6
arraylength
invokeinterface com.jcraft.jsch.HASH.update:([BII)V
22: aload 0
aload 0
getfield com.jcraft.jsch.DHG1.sha:Lcom/jcraft/jsch/HASH;
invokeinterface com.jcraft.jsch.HASH.digest:()[B
putfield com.jcraft.jsch.DHG1.H:[B
23: iconst_0
istore 2
start local 2 24: iconst_0
istore 3
25: aload 0
getfield com.jcraft.jsch.DHG1.K_S:[B
iload 2
iinc 2 1
baload
bipush 24
ishl
ldc -16777216
iand
aload 0
getfield com.jcraft.jsch.DHG1.K_S:[B
iload 2
iinc 2 1
baload
bipush 16
ishl
ldc 16711680
iand
ior
26: aload 0
getfield com.jcraft.jsch.DHG1.K_S:[B
iload 2
iinc 2 1
baload
bipush 8
ishl
ldc 65280
iand
27: ior
28: aload 0
getfield com.jcraft.jsch.DHG1.K_S:[B
iload 2
iinc 2 1
baload
sipush 255
iand
29: ior
istore 3
30: aload 0
getfield com.jcraft.jsch.DHG1.K_S:[B
iload 2
iload 3
invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
astore 7
start local 7 31: iload 2
iload 3
iadd
istore 2
32: aload 0
aload 7
aload 0
getfield com.jcraft.jsch.DHG1.K_S:[B
iload 2
aload 5
invokevirtual com.jcraft.jsch.DHG1.verify:(Ljava/lang/String;[BI[B)Z
istore 8
start local 8 33: aload 0
iconst_0
putfield com.jcraft.jsch.DHG1.state:I
34: iload 8
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 35: StackMap locals: com.jcraft.jsch.DHG1 com.jcraft.jsch.Buffer
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/jcraft/jsch/DHG1;
0 36 1 _buf Lcom/jcraft/jsch/Buffer;
24 35 2 i I
2 35 3 j I
9 35 4 f [B
10 35 5 sig_of_H [B
20 35 6 foo [B
31 35 7 alg Ljava/lang/String;
33 35 8 result Z
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
_buf
public int getState();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jcraft.jsch.DHG1.state:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/DHG1;
}
SourceFile: "DHG1.java"