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/libimagepipeline.so:

MethodSignatureAddress
nativeTranscodeJpeg(Ljava/io/InputStream;Ljava/io/OutputStream;III)V0x3900c
nativePinBitmap(Landroid/graphics/Bitmap;)V0x39020
nativeReleaseByteBuffer(Landroid/graphics/Bitmap;)V0x39044
nativeCopyBitmap(Landroid/graphics/Bitmap;ILandroid/graphics/Bitmap;II)V0x3902c
nativeGetByteBuffer(Landroid/graphics/Bitmap;JJ)Ljava/nio/ByteBuffer;0x39038
nativeIterativeBoxBlur(Landroid/graphics/Bitmap;II)V0x39050
nativeAllocate(I)J0x3905c
nativeFree(J)V0x39068
nativeCopyToByteArray(J[BII)V0x39074
nativeCopyFromByteArray(J[BII)V0x39080
nativeMemcpy(JJI)V0x3908c
nativeReadByte(J)B0x39098

File lib/armeabi/libimagepipeline.so:

MethodSignatureAddress
nativeTranscodeJpeg(Ljava/io/InputStream;Ljava/io/OutputStream;III)V0x4800c
nativePinBitmap(Landroid/graphics/Bitmap;)V0x48018
nativeReleaseByteBuffer(Landroid/graphics/Bitmap;)V0x4803c
nativeCopyBitmap(Landroid/graphics/Bitmap;ILandroid/graphics/Bitmap;II)V0x48024
nativeGetByteBuffer(Landroid/graphics/Bitmap;JJ)Ljava/nio/ByteBuffer;0x48030
nativeIterativeBoxBlur(Landroid/graphics/Bitmap;II)V0x48048
nativeAllocate(I)J0x48054
nativeFree(J)V0x48060
nativeCopyToByteArray(J[BII)V0x4806c
nativeCopyFromByteArray(J[BII)V0x48078
nativeMemcpy(JJI)V0x48084
nativeReadByte(J)B0x48090

File lib/x86/libimagepipeline.so:

MethodSignatureAddress
nativePinBitmap(Landroid/graphics/Bitmap;)V0x81028
nativeReleaseByteBuffer(Landroid/graphics/Bitmap;)V0x8104c
nativeAllocate(I)J0x81088
nativeFree(J)V0x81094
nativeCopyToByteArray(J[BII)V0x810a0
nativeCopyFromByteArray(J[BII)V0x810ac
nativeMemcpy(JJI)V0x810b8
nativeReadByte(J)B0x810c4
nativeTranscodeJpeg(Ljava/io/InputStream;Ljava/io/OutputStream;III)V0x8100c
nativeCopyBitmap(Landroid/graphics/Bitmap;ILandroid/graphics/Bitmap;II)V0x81034
nativeGetByteBuffer(Landroid/graphics/Bitmap;JJ)Ljava/nio/ByteBuffer;0x81040
nativeIterativeBoxBlur(Landroid/graphics/Bitmap;II)V0x81058