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

MethodSignatureAddress
Java_io_card_payment_CardScanner_nUseNeon0x1753
Java_io_card_payment_CardScanner_nUseTegra0x175f
Java_io_card_payment_CardScanner_nUseX860x176b

File lib/armeabi-v7a/libcardioRecognizer.so:

MethodSignatureAddress
Java_io_card_payment_CardScanner_nCleanup0x2ad01
Java_io_card_payment_CardScanner_nGetGuideFrame0x2ad45
Java_io_card_payment_CardScanner_nGetNumFramesScanned0x2b4cd
Java_io_card_payment_CardScanner_nResetAnalytics0x2acf5
Java_io_card_payment_CardScanner_nScanFrame0x2b195
Java_io_card_payment_CardScanner_nSetup__ZF0x2ac95
Java_io_card_payment_CardScanner_nSetup__ZFI0x2ac31

File lib/armeabi-v7a/libcardioRecognizer_tegra2.so:

MethodSignatureAddress
Java_io_card_payment_CardScanner_nCleanup0x16c21
Java_io_card_payment_CardScanner_nGetGuideFrame0x16c65
Java_io_card_payment_CardScanner_nGetNumFramesScanned0x173a1
Java_io_card_payment_CardScanner_nResetAnalytics0x16c15
Java_io_card_payment_CardScanner_nScanFrame0x17065
Java_io_card_payment_CardScanner_nSetup__ZF0x16bb5
Java_io_card_payment_CardScanner_nSetup__ZFI0x16b51

File lib/armeabi-v7a/libfb.so:

MethodSignatureAddress
dispose()V0x13c18

File lib/armeabi-v7a/libimagepipeline.so:

MethodSignatureAddress
nativeTranscodeJpeg(Ljava/io/InputStream;Ljava/io/OutputStream;III)V0x3e00c
nativeTranscodeJpegWithExifOrientation(Ljava/io/InputStream;Ljava/io/OutputStream;III)V0x3e018
nativePinBitmap(Landroid/graphics/Bitmap;)V0x3e028
nativeReleaseByteBuffer(Landroid/graphics/Bitmap;)V0x3e04c
nativeToCircleFilter(Landroid/graphics/Bitmap;)V0x3e064
nativeCopyBitmap(Landroid/graphics/Bitmap;ILandroid/graphics/Bitmap;II)V0x3e034
nativeGetByteBuffer(Landroid/graphics/Bitmap;JJ)Ljava/nio/ByteBuffer;0x3e040
nativeIterativeBoxBlur(Landroid/graphics/Bitmap;II)V0x3e058
nativeAllocate(I)J0x3e070
nativeFree(J)V0x3e07c
nativeCopyToByteArray(J[BII)V0x3e088
nativeCopyFromByteArray(J[BII)V0x3e094
nativeMemcpy(JJI)V0x3e0a0
nativeReadByte(J)B0x3e0ac

File lib/x86/libcardioDecider.so:

MethodSignatureAddress
Java_io_card_payment_CardScanner_nUseNeon0xa50
Java_io_card_payment_CardScanner_nUseTegra0xa80
Java_io_card_payment_CardScanner_nUseX860xab0

File lib/x86/libcardioRecognizer.so:

MethodSignatureAddress
Java_io_card_payment_CardScanner_nCleanup0x388e0
Java_io_card_payment_CardScanner_nGetGuideFrame0x38940
Java_io_card_payment_CardScanner_nGetNumFramesScanned0x394a0
Java_io_card_payment_CardScanner_nResetAnalytics0x388b0
Java_io_card_payment_CardScanner_nScanFrame0x38f50
Java_io_card_payment_CardScanner_nSetup__ZF0x38830
Java_io_card_payment_CardScanner_nSetup__ZFI0x387a0

File lib/x86/libfb.so:

MethodSignatureAddress
dispose()V0x1fc58

File lib/x86/libimagepipeline.so:

MethodSignatureAddress
nativeTranscodeJpeg(Ljava/io/InputStream;Ljava/io/OutputStream;III)V0x7300c
nativeTranscodeJpegWithExifOrientation(Ljava/io/InputStream;Ljava/io/OutputStream;III)V0x73018
nativePinBitmap(Landroid/graphics/Bitmap;)V0x73024
nativeReleaseByteBuffer(Landroid/graphics/Bitmap;)V0x73048
nativeToCircleFilter(Landroid/graphics/Bitmap;)V0x73060
nativeCopyBitmap(Landroid/graphics/Bitmap;ILandroid/graphics/Bitmap;II)V0x73030
nativeGetByteBuffer(Landroid/graphics/Bitmap;JJ)Ljava/nio/ByteBuffer;0x7303c
nativeIterativeBoxBlur(Landroid/graphics/Bitmap;II)V0x73054
nativeAllocate(I)J0x7306c
nativeFree(J)V0x73078
nativeCopyToByteArray(J[BII)V0x73084
nativeCopyFromByteArray(J[BII)V0x73090
nativeMemcpy(JJI)V0x7309c
nativeReadByte(J)B0x730a8