[JAVA] JNI Native Interface

2026. 1. 1. 16:43·분석
const struct JNINativeInterface ... = {

    NULL, // 0
    NULL, // 1
    NULL, // 2
    NULL, // 3
    GetVersion, // 4

    DefineClass, // 5
    FindClass, // 6

    FromReflectedMethod, // 7
    FromReflectedField, // 8
    ToReflectedMethod, // 9

    GetSuperclass, // 10
    IsAssignableFrom, // 11

    ToReflectedField, // 12

    Throw, // 13
    ThrowNew, // 14
    ExceptionOccurred, // 15
    ExceptionDescribe, // 16
    ExceptionClear, // 17
    FatalError, // 18

    PushLocalFrame, // 19
    PopLocalFrame, // 20

    NewGlobalRef, // 21
    DeleteGlobalRef, // 22
    DeleteLocalRef, // 23
    IsSameObject, // 24
    NewLocalRef, // 25
    EnsureLocalCapacity, // 26

    AllocObject, // 27
    NewObject, // 28
    NewObjectV, // 29
    NewObjectA, // 30

    GetObjectClass, // 31
    IsInstanceOf, // 32

    GetMethodID, // 33

    CallObjectMethod, // 34
    CallObjectMethodV, // 35
    CallObjectMethodA, // 36
    CallBooleanMethod, // 37
    CallBooleanMethodV, // 38
    CallBooleanMethodA, // 39
    CallByteMethod, // 40
    CallByteMethodV, // 41
    CallByteMethodA, // 42
    CallCharMethod, // 43
    CallCharMethodV, // 44
    CallCharMethodA, // 45
    CallShortMethod, // 46
    CallShortMethodV, // 47
    CallShortMethodA, // 48
    CallIntMethod, // 49
    CallIntMethodV, // 50
    CallIntMethodA, // 51
    CallLongMethod, // 52
    CallLongMethodV, // 53
    CallLongMethodA, // 54
    CallFloatMethod, // 55
    CallFloatMethodV, // 56
    CallFloatMethodA, // 57
    CallDoubleMethod, // 58
    CallDoubleMethodV, // 59
    CallDoubleMethodA, // 60
    CallVoidMethod, // 61
    CallVoidMethodV, // 62
    CallVoidMethodA, // 63

    CallNonvirtualObjectMethod, // 64
    CallNonvirtualObjectMethodV, // 65
    CallNonvirtualObjectMethodA, // 66
    CallNonvirtualBooleanMethod, // 67
    CallNonvirtualBooleanMethodV, // 68
    CallNonvirtualBooleanMethodA, // 69
    CallNonvirtualByteMethod, // 70
    CallNonvirtualByteMethodV, // 71
    CallNonvirtualByteMethodA, // 72
    CallNonvirtualCharMethod, // 73
    CallNonvirtualCharMethodV, // 74
    CallNonvirtualCharMethodA, // 75
    CallNonvirtualShortMethod, // 76
    CallNonvirtualShortMethodV, // 77
    CallNonvirtualShortMethodA, // 78
    CallNonvirtualIntMethod, // 79
    CallNonvirtualIntMethodV, // 80
    CallNonvirtualIntMethodA, // 81
    CallNonvirtualLongMethod, // 82
    CallNonvirtualLongMethodV, // 83
    CallNonvirtualLongMethodA, // 84
    CallNonvirtualFloatMethod, // 85
    CallNonvirtualFloatMethodV, // 86
    CallNonvirtualFloatMethodA, // 87
    CallNonvirtualDoubleMethod, // 88
    CallNonvirtualDoubleMethodV, // 89
    CallNonvirtualDoubleMethodA, // 90
    CallNonvirtualVoidMethod, // 91
    CallNonvirtualVoidMethodV, // 92
    CallNonvirtualVoidMethodA, // 93

    GetFieldID, // 94

    GetObjectField, // 95
    GetBooleanField, // 96
    GetByteField, // 97
    GetCharField, // 98
    GetShortField, // 99
    GetIntField, // 100
    GetLongField, // 101
    GetFloatField, // 102
    GetDoubleField, // 103
    SetObjectField, // 104
    SetBooleanField, // 105
    SetByteField, // 106
    SetCharField, // 107
    SetShortField, // 108
    SetIntField, // 109
    SetLongField, // 110
    SetFloatField, // 111
    SetDoubleField, // 112

    GetStaticMethodID, // 113

    CallStaticObjectMethod, // 114
    CallStaticObjectMethodV, // 115
    CallStaticObjectMethodA, // 116
    CallStaticBooleanMethod, // 117
    CallStaticBooleanMethodV, // 118
    CallStaticBooleanMethodA, // 119
    CallStaticByteMethod, // 120
    CallStaticByteMethodV, // 121
    CallStaticByteMethodA, // 122
    CallStaticCharMethod, // 123
    CallStaticCharMethodV, // 124
    CallStaticCharMethodA, // 125
    CallStaticShortMethod, // 126
    CallStaticShortMethodV, // 127
    CallStaticShortMethodA, // 128
    CallStaticIntMethod, // 129
    CallStaticIntMethodV, // 130
    CallStaticIntMethodA, // 131
    CallStaticLongMethod, // 132
    CallStaticLongMethodV, // 133
    CallStaticLongMethodA, // 134
    CallStaticFloatMethod, // 135
    CallStaticFloatMethodV, // 136
    CallStaticFloatMethodA, // 137
    CallStaticDoubleMethod, // 138
    CallStaticDoubleMethodV, // 139
    CallStaticDoubleMethodA, // 140
    CallStaticVoidMethod, // 141
    CallStaticVoidMethodV, // 142
    CallStaticVoidMethodA, // 143

    GetStaticFieldID, // 144

    GetStaticObjectField, // 145
    GetStaticBooleanField, // 146
    GetStaticByteField, // 147
    GetStaticCharField, // 148
    GetStaticShortField, // 149
    GetStaticIntField, // 150
    GetStaticLongField, // 151
    GetStaticFloatField, // 152
    GetStaticDoubleField, // 153

    SetStaticObjectField, // 154
    SetStaticBooleanField, // 155
    SetStaticByteField, // 156
    SetStaticCharField, // 157
    SetStaticShortField, // 158
    SetStaticIntField, // 159
    SetStaticLongField, // 160
    SetStaticFloatField, // 161
    SetStaticDoubleField, // 162

    NewString, // 163

    GetStringLength, // 164
    GetStringChars, // 165
    ReleaseStringChars, // 166

    NewStringUTF, // 167
    GetStringUTFLength, // 168
    GetStringUTFChars, // 169
    ReleaseStringUTFChars, // 170

    GetArrayLength, // 171

    NewObjectArray, // 172
    GetObjectArrayElement, // 173
    SetObjectArrayElement, // 174

    NewBooleanArray, // 175
    NewByteArray, // 176
    NewCharArray, // 177
    NewShortArray, // 178
    NewIntArray, // 179
    NewLongArray, // 180
    NewFloatArray, // 181
    NewDoubleArray, // 182

    GetBooleanArrayElements, // 183
    GetByteArrayElements, // 184
    GetCharArrayElements, // 185
    GetShortArrayElements, // 186
    GetIntArrayElements, // 187
    GetLongArrayElements, // 188
    GetFloatArrayElements, // 189
    GetDoubleArrayElements, // 190

    ReleaseBooleanArrayElements, // 191
    ReleaseByteArrayElements, // 192
    ReleaseCharArrayElements, // 193
    ReleaseShortArrayElements, // 194
    ReleaseIntArrayElements, // 195
    ReleaseLongArrayElements, // 196
    ReleaseFloatArrayElements, // 197
    ReleaseDoubleArrayElements, // 198

    GetBooleanArrayRegion, // 199
    GetByteArrayRegion, // 200
    GetCharArrayRegion, // 201
    GetShortArrayRegion, // 202
    GetIntArrayRegion, // 203
    GetLongArrayRegion, // 204
    GetFloatArrayRegion, // 205
    GetDoubleArrayRegion, // 206
    SetBooleanArrayRegion, // 207
    SetByteArrayRegion, // 208
    SetCharArrayRegion, // 209
    SetShortArrayRegion, // 210
    SetIntArrayRegion, // 211
    SetLongArrayRegion, // 212
    SetFloatArrayRegion, // 213
    SetDoubleArrayRegion, // 214

    RegisterNatives, // 215
    UnregisterNatives, // 216

    MonitorEnter, // 217
    MonitorExit, // 218

    GetJavaVM, // 219

    GetStringRegion, // 220
    GetStringUTFRegion, // 221

    GetPrimitiveArrayCritical, // 222
    ReleasePrimitiveArrayCritical, // 223

    GetStringCritical, // 224
    ReleaseStringCritical, // 225

    NewWeakGlobalRef, // 226
    DeleteWeakGlobalRef, // 227

    ExceptionCheck, // 228

    NewDirectByteBuffer, // 229
    GetDirectBufferAddress, // 230
    GetDirectBufferCapacity, // 231

    GetObjectRefType // 232
  };

Reference: https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/functions.html

'분석' 카테고리의 다른 글

[JAVA] JNI Invoke Interface  (0) 2026.01.01
'분석' 카테고리의 다른 글
  • [JAVA] JNI Invoke Interface
simnple
simnple
Connecting the dots
  • simnple
    다락방
    simnple
  • 전체
    오늘
    어제
    • 전체 카테고리 (24)
      • 개발 (7)
      • 분석 (9)
        • KNU (2)
        • Frida (1)
        • 좀비고 (1)
        • 네이버 (2)
        • 악성코드 (1)
      • 알고리즘 (7)
        • PS (6)
        • DP (0)
        • Sorting (0)
        • Number Theory (1)
        • Geometry (0)
      • 안드로이드 (1)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
simnple
[JAVA] JNI Native Interface
상단으로

티스토리툴바