Info List of JNI methods

Description

Java Native Interface (JNI) allows Java code to interact with native applications and libraries written in Rust, C, C++ and assembly

Improper use of the Java Native Interface renders the application vulnerable to security flaws present in other programming languages, like memory corruption.

Recommendation

Native code must adhere to Secure Coding best practices to protect against vulnerabilities in unmanaged code like memory corruption.

Technical details

File lib/armeabi-v7a/librsjni.so:

MethodSignatureAddress
nLoadSO(ZILjava/lang/String;)Z0xd00c
nLoadIOSO()Z0xd018
nDeviceCreate()J0xd024
nIncDeviceCreate()J0xd3e4
nDeviceDestroy(J)V0xd030
nContextInitToClient(J)V0xd06c
nContextDeinitToClient(J)V0xd078
rsnContextFinish(J)V0xd090
rsnContextDestroy(J)V0xd0a8
nIncDeviceDestroy(J)V0xd3f0
rsnIncContextFinish(J)V0xd408
rsnIncContextDestroy(J)V0xd414
nDeviceSetConfig(JII)V0xd03c
nContextGetUserMessage(J[I)I0xd048
nContextPeekMessage(J[I)I0xd060
nContextGetErrorMessage(J)Ljava/lang/String;0xd054
rsnContextCreate(JIIILjava/lang/String;)J0xd084
rsnContextSetPriority(JI)V0xd09c
rsnContextDump(JI)V0xd0b4
rsnContextSendMessage(JI[I)V0xd0c0
rsnClosureCreate(JJJ[J[J[I[J[J)J0xd0cc
rsnInvokeClosureCreate(JJ[B[J[J[I)J0xd0d8
rsnClosureSetArg(JJIJI)V0xd0e4
rsnClosureSetGlobal(JJJJI)V0xd0f0
rsnObjDestroy(JJ)V0xd0fc
rsnAllocationIoSend(JJ)V0xd198
rsnAllocationGenerateMipmaps(JJ)V0xd228
rsnScriptGroupExecute(JJ)V0xd36c
rsnScriptGroup2Execute(JJ)V0xd378
rsnIncObjDestroy(JJ)V0xd420
rsnElementCreate(JJIZI)J0xd108
rsnIncElementCreate(JJIZI)J0xd42c
rsnElementCreate2(J[J[Ljava/lang/String;[I)J0xd114
rsnElementGetSubElements(JJ[J[Ljava/lang/String;[I)V0xd120
rsnTypeCreate(JJIIIZZI)J0xd12c
rsnIncTypeCreate(JJIIIZZI)J0xd438
rsnAllocationCreateTyped(JJIIJ)J0xd138
rsnAllocationCreateFromBitmap(JJILandroid/graphics/Bitmap;I)J0xd144
rsnAllocationCreateBitmapBackedAllocation(JJILandroid/graphics/Bitmap;I)J0xd150
rsnAllocationCubeCreateFromBitmap(JJILandroid/graphics/Bitmap;I)J0xd15c
rsnAllocationCopyFromBitmap(JJLandroid/graphics/Bitmap;)V0xd168
rsnAllocationCopyToBitmap(JJLandroid/graphics/Bitmap;)V0xd174
rsnAllocationSyncAll(JJI)V0xd180
rsnAllocationResize1D(JJI)V0xd21c
rsnAllocationSetSurface(JJLandroid/view/Surface;)V0xd18c
rsnAllocationData1D(JJIIILjava/lang/Object;IIIZ)V0xd1a4
rsnAllocationRead1D(JJIIILjava/lang/Object;IIIZ)V0xd1f8
rsnAllocationElementData1D(JJIII[BI)V0xd1b0
rsnAllocationData2D(JJIIIIIILjava/lang/Object;IIIZ)V0xd1bc
rsnAllocationRead2D(JJIIIIIILjava/lang/Object;IIIZ)V0xd204
rsnAllocationData2D(JJIIIIIIJIIII)V0xd1c8
rsnAllocationData3D(JJIIIIIIILjava/lang/Object;IIIZ)V0xd1d4
rsnAllocationData3D(JJIIIIIIIJIIII)V0xd1e0
rsnAllocationRead(JJLjava/lang/Object;IIZ)V0xd1ec
rsnAllocationGetType(JJ)J0xd210
rsnAllocationGetStride(JJ)J0xd45c
rsnScriptBindAllocation(JJJIZ)V0xd234
rsnScriptSetTimeZone(JJ[BZ)V0xd240
rsnScriptInvoke(JJIZ)V0xd24c
te(JJI[BZ)V0x4a18
rsnScriptInvokeV(JJI[BZ)V0xd258
rsnScriptSetVarV(JJI[BZ)V0xd2dc
rsnScriptForEach(JJJIJJZ)V0xd264
rsnScriptForEach(JJJIJJ[BZ)V0xd270
rsnScriptForEach(JJI[JJ[B[I)V0xd27c
rsnScriptForEachClipped(JJJIJJIIIIIIZ)V0xd288
rsnScriptForEachClipped(JJJIJJ[BIIIIIIZ)V0xd294
rsnScriptReduce(JJI[JJ[I)V0xd2a0
rsnScriptSetVarI(JJIIZ)V0xd2ac
rsnScriptSetVarJ(JJIJZ)V0xd2b8
rsnScriptSetVarObj(JJIJZ)V0xd2f4
rsnScriptSetVarF(JJIFZ)V0xd2c4
rsnScriptSetVarD(JJIDZ)V0xd2d0
rsnScriptSetVarVE(JJI[BJ[IZ)V0xd2e8
rsnScriptCCreate(JLjava/lang/String;Ljava/lang/String;[BI)J0xd300
rsnScriptIntrinsicCreate(JIJZ)J0xd30c
rsnScriptKernelIDCreate(JJIIZ)J0xd318
rsnScriptInvokeIDCreate(JJI)J0xd324
rsnScriptFieldIDCreate(JJIZ)J0xd330
rsnScriptGroupCreate(J[J[J[J[J[J)J0xd33c
rsnScriptGroup2Create(JLjava/lang/String;Ljava/lang/String;[J)J0xd348
rsnScriptGroupSetInput(JJJJ)V0xd354
rsnScriptGroupSetOutput(JJJJ)V0xd360
rsnScriptIntrinsicBLAS_Single(JJJIIIIIIIIIFJJFJIIIIZ)V0xd384
rsnScriptIntrinsicBLAS_Double(JJJIIIIIIIIIDJJDJIIIIZ)V0xd390
rsnScriptIntrinsicBLAS_Complex(JJJIIIIIIIIIFFJJFFJIIIIZ)V0xd39c
rsnScriptIntrinsicBLAS_Z(JJJIIIIIIIIIDDJJDDJIIIIZ)V0xd3a8
rsnScriptIntrinsicBLAS_BNNM(JJJIIIJIJIJIIZ)V0xd3b4
rsnSamplerCreate(JIIIIIF)J0xd3c0
rsnSystemGetPointerSize()I0xd3cc
nIncLoadSO(ILjava/lang/String;)Z0xd3d8
rsnIncContextCreate(JIII)J0xd3fc
rsnIncAllocationCreateTyped(JJJJI)J0xd444
rsnAllocationGetByteBuffer(JJIII)Ljava/nio/ByteBuffer;0xd450

File lib/mips/librsjni.so:

MethodSignatureAddress
nLoadSO(ZILjava/lang/String;)Z0x11018
nLoadIOSO()Z0x11024
nDeviceCreate()J0x11030
nIncDeviceCreate()J0x113f0
nDeviceDestroy(J)V0x1103c
nContextInitToClient(J)V0x11078
nContextDeinitToClient(J)V0x11084
rsnContextFinish(J)V0x1109c
rsnContextDestroy(J)V0x110b4
nIncDeviceDestroy(J)V0x113fc
rsnIncContextFinish(J)V0x11414
rsnIncContextDestroy(J)V0x11420
nDeviceSetConfig(JII)V0x11048
nContextGetUserMessage(J[I)I0x11054
nContextPeekMessage(J[I)I0x1106c
nContextGetErrorMessage(J)Ljava/lang/String;0x11060
rsnContextCreate(JIIILjava/lang/String;)J0x11090
rsnContextSetPriority(JI)V0x110a8
rsnContextDump(JI)V0x110c0
rsnContextSendMessage(JI[I)V0x110cc
rsnClosureCreate(JJJ[J[J[I[J[J)J0x110d8
rsnInvokeClosureCreate(JJ[B[J[J[I)J0x110e4
rsnClosureSetArg(JJIJI)V0x110f0
rsnClosureSetGlobal(JJJJI)V0x110fc
rsnObjDestroy(JJ)V0x11108
rsnAllocationIoSend(JJ)V0x111a4
rsnAllocationGenerateMipmaps(JJ)V0x11234
rsnScriptGroupExecute(JJ)V0x11378
rsnScriptGroup2Execute(JJ)V0x11384
rsnIncObjDestroy(JJ)V0x1142c
rsnElementCreate(JJIZI)J0x11114
rsnIncElementCreate(JJIZI)J0x11438
rsnElementCreate2(J[J[Ljava/lang/String;[I)J0x11120
rsnElementGetSubElements(JJ[J[Ljava/lang/String;[I)V0x1112c
rsnTypeCreate(JJIIIZZI)J0x11138
rsnIncTypeCreate(JJIIIZZI)J0x11444
rsnAllocationCreateTyped(JJIIJ)J0x11144
rsnAllocationCreateFromBitmap(JJILandroid/graphics/Bitmap;I)J0x11150
rsnAllocationCreateBitmapBackedAllocation(JJILandroid/graphics/Bitmap;I)J0x1115c
rsnAllocationCubeCreateFromBitmap(JJILandroid/graphics/Bitmap;I)J0x11168
rsnAllocationCopyFromBitmap(JJLandroid/graphics/Bitmap;)V0x11174
rsnAllocationCopyToBitmap(JJLandroid/graphics/Bitmap;)V0x11180
rsnAllocationSyncAll(JJI)V0x1118c
rsnAllocationResize1D(JJI)V0x11228
rsnAllocationSetSurface(JJLandroid/view/Surface;)V0x11198
rsnAllocationData1D(JJIIILjava/lang/Object;IIIZ)V0x111b0
rsnAllocationRead1D(JJIIILjava/lang/Object;IIIZ)V0x11204
rsnAllocationElementData1D(JJIII[BI)V0x111bc
rsnAllocationData2D(JJIIIIIILjava/lang/Object;IIIZ)V0x111c8
rsnAllocationRead2D(JJIIIIIILjava/lang/Object;IIIZ)V0x11210
rsnAllocationData2D(JJIIIIIIJIIII)V0x111d4
rsnAllocationData3D(JJIIIIIIILjava/lang/Object;IIIZ)V0x111e0
rsnAllocationData3D(JJIIIIIIIJIIII)V0x111ec
rsnAllocationRead(JJLjava/lang/Object;IIZ)V0x111f8
rsnAllocationGetType(JJ)J0x1121c
rsnAllocationGetStride(JJ)J0x11468
rsnScriptBindAllocation(JJJIZ)V0x11240
rsnScriptSetTimeZone(JJ[BZ)V0x1124c
rsnScriptInvoke(JJIZ)V0x11258
rsnScriptInvokeV(JJI[BZ)V0x11264
rsnScriptSetVarV(JJI[BZ)V0x112e8
rsnScriptForEach(JJJIJJZ)V0x11270
rsnScriptForEach(JJJIJJ[BZ)V0x1127c
rsnScriptForEach(JJI[JJ[B[I)V0x11288
rsnScriptForEachClipped(JJJIJJIIIIIIZ)V0x11294
rsnScriptForEachClipped(JJJIJJ[BIIIIIIZ)V0x112a0
rsnScriptReduce(JJI[JJ[I)V0x112ac
rsnScriptSetVarI(JJIIZ)V0x112b8
rsnScriptSetVarJ(JJIJZ)V0x112c4
rsnScriptSetVarObj(JJIJZ)V0x11300
rsnScriptSetVarF(JJIFZ)V0x112d0
rsnScriptSetVarD(JJIDZ)V0x112dc
rsnScriptSetVarVE(JJI[BJ[IZ)V0x112f4
rsnScriptCCreate(JLjava/lang/String;Ljava/lang/String;[BI)J0x1130c
rsnScriptIntrinsicCreate(JIJZ)J0x11318
rsnScriptKernelIDCreate(JJIIZ)J0x11324
rsnScriptInvokeIDCreate(JJI)J0x11330
rsnScriptFieldIDCreate(JJIZ)J0x1133c
rsnScriptGroupCreate(J[J[J[J[J[J)J0x11348
rsnScriptGroup2Create(JLjava/lang/String;Ljava/lang/String;[J)J0x11354
rsnScriptGroupSetInput(JJJJ)V0x11360
rsnScriptGroupSetOutput(JJJJ)V0x1136c
rsnScriptIntrinsicBLAS_Single(JJJIIIIIIIIIFJJFJIIIIZ)V0x11390
rsnScriptIntrinsicBLAS_Double(JJJIIIIIIIIIDJJDJIIIIZ)V0x1139c
rsnScriptIntrinsicBLAS_Complex(JJJIIIIIIIIIFFJJFFJIIIIZ)V0x113a8
rsnScriptIntrinsicBLAS_Z(JJJIIIIIIIIIDDJJDDJIIIIZ)V0x113b4
rsnScriptIntrinsicBLAS_BNNM(JJJIIIJIJIJIIZ)V0x113c0
rsnSamplerCreate(JIIIIIF)J0x113cc
rsnSystemGetPointerSize()I0x113d8
nIncLoadSO(ILjava/lang/String;)Z0x113e4
rsnIncContextCreate(JIII)J0x11408
rsnIncAllocationCreateTyped(JJJJI)J0x11450
rsnAllocationGetByteBuffer(JJIII)Ljava/nio/ByteBuffer;0x1145c

File lib/x86/librsjni.so:

MethodSignatureAddress
nLoadSO(ZILjava/lang/String;)Z0xd00c
nLoadIOSO()Z0xd018
nDeviceCreate()J0xd024
nIncDeviceCreate()J0xd3e4
nDeviceDestroy(J)V0xd030
nContextInitToClient(J)V0xd06c
nContextDeinitToClient(J)V0xd078
rsnContextFinish(J)V0xd090
rsnContextDestroy(J)V0xd0a8
nIncDeviceDestroy(J)V0xd3f0
rsnIncContextFinish(J)V0xd408
rsnIncContextDestroy(J)V0xd414
nDeviceSetConfig(JII)V0xd03c
nContextGetUserMessage(J[I)I0xd048
nContextPeekMessage(J[I)I0xd060
nContextGetErrorMessage(J)Ljava/lang/String;0xd054
rsnContextCreate(JIIILjava/lang/String;)J0xd084
rsnContextSetPriority(JI)V0xd09c
rsnContextDump(JI)V0xd0b4
rsnContextSendMessage(JI[I)V0xd0c0
rsnClosureCreate(JJJ[J[J[I[J[J)J0xd0cc
rsnInvokeClosureCreate(JJ[B[J[J[I)J0xd0d8
rsnClosureSetArg(JJIJI)V0xd0e4
rsnClosureSetGlobal(JJJJI)V0xd0f0
rsnObjDestroy(JJ)V0xd0fc
rsnAllocationIoSend(JJ)V0xd198
rsnAllocationGenerateMipmaps(JJ)V0xd228
rsnScriptGroupExecute(JJ)V0xd36c
rsnScriptGroup2Execute(JJ)V0xd378
rsnIncObjDestroy(JJ)V0xd420
rsnElementCreate(JJIZI)J0xd108
rsnIncElementCreate(JJIZI)J0xd42c
rsnElementCreate2(J[J[Ljava/lang/String;[I)J0xd114
rsnElementGetSubElements(JJ[J[Ljava/lang/String;[I)V0xd120
rsnTypeCreate(JJIIIZZI)J0xd12c
rsnIncTypeCreate(JJIIIZZI)J0xd438
rsnAllocationCreateTyped(JJIIJ)J0xd138
rsnAllocationCreateFromBitmap(JJILandroid/graphics/Bitmap;I)J0xd144
rsnAllocationCreateBitmapBackedAllocation(JJILandroid/graphics/Bitmap;I)J0xd150
rsnAllocationCubeCreateFromBitmap(JJILandroid/graphics/Bitmap;I)J0xd15c
rsnAllocationCopyFromBitmap(JJLandroid/graphics/Bitmap;)V0xd168
rsnAllocationCopyToBitmap(JJLandroid/graphics/Bitmap;)V0xd174
rsnAllocationSyncAll(JJI)V0xd180
rsnAllocationResize1D(JJI)V0xd21c
rsnAllocationSetSurface(JJLandroid/view/Surface;)V0xd18c
rsnAllocationData1D(JJIIILjava/lang/Object;IIIZ)V0xd1a4
rsnAllocationRead1D(JJIIILjava/lang/Object;IIIZ)V0xd1f8
rsnAllocationElementData1D(JJIII[BI)V0xd1b0
rsnAllocationData2D(JJIIIIIILjava/lang/Object;IIIZ)V0xd1bc
rsnAllocationRead2D(JJIIIIIILjava/lang/Object;IIIZ)V0xd204
rsnAllocationData2D(JJIIIIIIJIIII)V0xd1c8
rsnAllocationData3D(JJIIIIIIILjava/lang/Object;IIIZ)V0xd1d4
rsnAllocationData3D(JJIIIIIIIJIIII)V0xd1e0
rsnAllocationRead(JJLjava/lang/Object;IIZ)V0xd1ec
rsnAllocationGetType(JJ)J0xd210
rsnAllocationGetStride(JJ)J0xd45c
rsnScriptBindAllocation(JJJIZ)V0xd234
rsnScriptSetTimeZone(JJ[BZ)V0xd240
rsnScriptInvoke(JJIZ)V0xd24c
rsnScriptInvokeV(JJI[BZ)V0xd258
rsnScriptSetVarV(JJI[BZ)V0xd2dc
rsnScriptForEach(JJJIJJZ)V0xd264
rsnScriptForEach(JJJIJJ[BZ)V0xd270
rsnScriptForEach(JJI[JJ[B[I)V0xd27c
rsnScriptForEachClipped(JJJIJJIIIIIIZ)V0xd288
rsnScriptForEachClipped(JJJIJJ[BIIIIIIZ)V0xd294
rsnScriptReduce(JJI[JJ[I)V0xd2a0
rsnScriptSetVarI(JJIIZ)V0xd2ac
rsnScriptSetVarJ(JJIJZ)V0xd2b8
rsnScriptSetVarObj(JJIJZ)V0xd2f4
rsnScriptSetVarF(JJIFZ)V0xd2c4
rsnScriptSetVarD(JJIDZ)V0xd2d0
rsnScriptSetVarVE(JJI[BJ[IZ)V0xd2e8
rsnScriptCCreate(JLjava/lang/String;Ljava/lang/String;[BI)J0xd300
rsnScriptIntrinsicCreate(JIJZ)J0xd30c
rsnScriptKernelIDCreate(JJIIZ)J0xd318
rsnScriptInvokeIDCreate(JJI)J0xd324
rsnScriptFieldIDCreate(JJIZ)J0xd330
rsnScriptGroupCreate(J[J[J[J[J[J)J0xd33c
rsnScriptGroup2Create(JLjava/lang/String;Ljava/lang/String;[J)J0xd348
rsnScriptGroupSetInput(JJJJ)V0xd354
rsnScriptGroupSetOutput(JJJJ)V0xd360
rsnScriptIntrinsicBLAS_Single(JJJIIIIIIIIIFJJFJIIIIZ)V0xd384
rsnScriptIntrinsicBLAS_Double(JJJIIIIIIIIIDJJDJIIIIZ)V0xd390
rsnScriptIntrinsicBLAS_Complex(JJJIIIIIIIIIFFJJFFJIIIIZ)V0xd39c
rsnScriptIntrinsicBLAS_Z(JJJIIIIIIIIIDDJJDDJIIIIZ)V0xd3a8
rsnScriptIntrinsicBLAS_BNNM(JJJIIIJIJIJIIZ)V0xd3b4
rsnSamplerCreate(JIIIIIF)J0xd3c0
rsnSystemGetPointerSize()I0xd3cc
nIncLoadSO(ILjava/lang/String;)Z0xd3d8
rsnIncContextCreate(JIII)J0xd3fc
rsnIncAllocationCreateTyped(JJJJI)J0xd444
rsnAllocationGetByteBuffer(JJIII)Ljava/nio/ByteBuffer;0xd450