mirror of
https://github.com/reactos/syzkaller.git
synced 2024-11-26 21:00:30 +00:00
Android: Add simple test harness for Sandbox
This commit is contained in:
parent
751b7baf94
commit
caf1290068
18
tools/android/Makefile
Normal file
18
tools/android/Makefile
Normal file
@ -0,0 +1,18 @@
|
||||
TARGET := libs/arm64-v8a/sandbox_test
|
||||
SRC := jni/sandbox_test.c
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): $(SRC)
|
||||
ndk-build
|
||||
|
||||
push: $(TARGET)
|
||||
adb push "$^" /data/local/tmp
|
||||
|
||||
run: push
|
||||
adb shell /data/local/tmp/sandbox_test
|
||||
|
||||
clean:
|
||||
rm -rf libs obj
|
||||
|
||||
.PHONY: all push run
|
8
tools/android/jni/Android.mk
Normal file
8
tools/android/jni/Android.mk
Normal file
@ -0,0 +1,8 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := sandbox_test
|
||||
LOCAL_SRC_FILES := sandbox_test.c
|
||||
LOCAL_C_INCLUDES := ../../
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
5
tools/android/jni/Application.mk
Normal file
5
tools/android/jni/Application.mk
Normal file
@ -0,0 +1,5 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
APP_ABI:= arm64-v8a
|
||||
APP_PLATFORM:=latest
|
43
tools/android/jni/sandbox_test.c
Normal file
43
tools/android/jni/sandbox_test.c
Normal file
@ -0,0 +1,43 @@
|
||||
#define GOOS_linux 1
|
||||
#define SYZ_SANDBOX_ANDROID_UNTRUSTED_APP 1
|
||||
#define SYZ_USE_TMP_DIR 1
|
||||
#define fail(...) do { dprintf(2, __VA_ARGS__); dprintf(2, "\n"); perror("errno"); exit(1); } while(0)
|
||||
#define error(...) do { dprintf(2, __VA_ARGS__); } while(0)
|
||||
#define debug(...) do { dprintf(2, __VA_ARGS__); } while(0)
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
void doexit(int status)
|
||||
{
|
||||
exit(status);
|
||||
}
|
||||
|
||||
static void loop() {
|
||||
exit(system("id"));
|
||||
}
|
||||
|
||||
static void use_temporary_dir(void)
|
||||
{
|
||||
#if SYZ_SANDBOX_ANDROID_UNTRUSTED_APP
|
||||
char tmpdir_template[] = "/data/data/syzkaller/syzkaller.XXXXXX";
|
||||
#else
|
||||
char tmpdir_template[] = "./syzkaller.XXXXXX";
|
||||
#endif
|
||||
char* tmpdir = mkdtemp(tmpdir_template);
|
||||
if (!tmpdir)
|
||||
fail("failed to mkdtemp");
|
||||
if (chmod(tmpdir, 0777))
|
||||
fail("failed to chmod");
|
||||
if (chdir(tmpdir))
|
||||
fail("failed to chdir");
|
||||
}
|
||||
|
||||
|
||||
|
||||
#include "executor/common_linux.h"
|
||||
|
||||
int main() {
|
||||
use_temporary_dir();
|
||||
do_sandbox_android_untrusted_app();
|
||||
}
|
Loading…
Reference in New Issue
Block a user