diff options
Diffstat (limited to 'nosession_libc/src/main/cpp/libc.cpp')
-rw-r--r-- | nosession_libc/src/main/cpp/libc.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/nosession_libc/src/main/cpp/libc.cpp b/nosession_libc/src/main/cpp/libc.cpp new file mode 100644 index 0000000..060e83e --- /dev/null +++ b/nosession_libc/src/main/cpp/libc.cpp @@ -0,0 +1,31 @@ +#include <jni.h> +#include "unistd.h" +#include <fcntl.h> +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: gq_malwarefight_nosession_linux_libc_Libc + * Method: geteuid + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_gq_malwarefight_nosession_linux_libc_Libc_geteuid + (JNIEnv *, jclass) { + return (int) geteuid(); +} + +/* + * Class: gq_malwarefight_nosession_linux_libc_Libc + * Method: unlink + * Signature: (Ljava/lang/String;)I + */ +JNIEXPORT void JNICALL Java_gq_malwarefight_nosession_linux_libc_Libc_unlink + (JNIEnv* env, jclass, jstring string) { + const char* path = env->GetStringUTFChars(string, NULL); + unlink(path); + env->ReleaseStringUTFChars(string, path); +} + +#ifdef __cplusplus +} +#endif |