aboutsummaryrefslogtreecommitdiff
path: root/agent/src/main/java/com/code_intelligence/jazzer
diff options
context:
space:
mode:
authorFabian Meumertzheim <fabian@meumertzhe.im>2021-03-22 14:49:05 +0100
committerFabian Meumertzheim <fabian@meumertzhe.im>2021-03-22 14:57:55 +0100
commitf938920a37042376e56c7ac771886565bcfe8b5e (patch)
treec07b7a79e35e0999b59d81d563da948ec542666e /agent/src/main/java/com/code_intelligence/jazzer
parent71ac55c6fc9d808bcc8a8e8d895f7f20141bec86 (diff)
downloadjazzer-api-f938920a37042376e56c7ac771886565bcfe8b5e.tar.gz
Revert "Do not intercept JVM-internal C stdlib calls (#45)"
This reverts commit 71ac55c6fc9d808bcc8a8e8d895f7f20141bec86.
Diffstat (limited to 'agent/src/main/java/com/code_intelligence/jazzer')
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt1
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/agent/RuntimeInstrumentor.kt2
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/generated/BUILD.bazel1
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/instrumentor/Instrumentor.kt1
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/runtime/NativeLibHooks.java35
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/runtime/TraceDataFlowNativeCallbacks.java2
6 files changed, 0 insertions, 42 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt b/agent/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt
index 47ebab3c..43e8a488 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt
+++ b/agent/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt
@@ -69,7 +69,6 @@ fun premain(agentArgs: String?, instrumentation: Instrumentation) {
"div" -> setOf(InstrumentationType.DIV)
"gep" -> setOf(InstrumentationType.GEP)
"indir" -> setOf(InstrumentationType.INDIR)
- "native" -> setOf(InstrumentationType.NATIVE)
"all" -> InstrumentationType.values().toSet()
else -> {
println("WARN: Skipping unknown instrumentation type $it")
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/agent/RuntimeInstrumentor.kt b/agent/src/main/java/com/code_intelligence/jazzer/agent/RuntimeInstrumentor.kt
index 35ee3959..0e304f45 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/agent/RuntimeInstrumentor.kt
+++ b/agent/src/main/java/com/code_intelligence/jazzer/agent/RuntimeInstrumentor.kt
@@ -18,7 +18,6 @@ import com.code_intelligence.jazzer.instrumentor.ClassInstrumentor
import com.code_intelligence.jazzer.instrumentor.Hook
import com.code_intelligence.jazzer.instrumentor.InstrumentationType
import com.code_intelligence.jazzer.instrumentor.loadHooks
-import com.code_intelligence.jazzer.runtime.NativeLibHooks
import com.code_intelligence.jazzer.runtime.TraceCmpHooks
import com.code_intelligence.jazzer.runtime.TraceDivHooks
import com.code_intelligence.jazzer.runtime.TraceIndirHooks
@@ -82,7 +81,6 @@ internal class RuntimeInstrumentor(
InstrumentationType.CMP -> TraceCmpHooks::class.java
InstrumentationType.DIV -> TraceDivHooks::class.java
InstrumentationType.INDIR -> TraceIndirHooks::class.java
- InstrumentationType.NATIVE -> NativeLibHooks::class.java
else -> null
}
}
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/generated/BUILD.bazel b/agent/src/main/java/com/code_intelligence/jazzer/generated/BUILD.bazel
index ee16b40c..d68ec102 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/generated/BUILD.bazel
+++ b/agent/src/main/java/com/code_intelligence/jazzer/generated/BUILD.bazel
@@ -1,4 +1,3 @@
-load("@rules_java//java:defs.bzl", "java_binary", "java_library")
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_jvm_library")
java_binary(
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/Instrumentor.kt b/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/Instrumentor.kt
index 78793842..50904e61 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/Instrumentor.kt
+++ b/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/Instrumentor.kt
@@ -23,7 +23,6 @@ enum class InstrumentationType {
DIV,
GEP,
INDIR,
- NATIVE,
}
internal interface Instrumentor {
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/runtime/NativeLibHooks.java b/agent/src/main/java/com/code_intelligence/jazzer/runtime/NativeLibHooks.java
deleted file mode 100644
index 495cad7c..00000000
--- a/agent/src/main/java/com/code_intelligence/jazzer/runtime/NativeLibHooks.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2021 Code Intelligence GmbH
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.code_intelligence.jazzer.runtime;
-
-import com.code_intelligence.jazzer.api.HookType;
-import com.code_intelligence.jazzer.api.MethodHook;
-import java.lang.invoke.MethodHandle;
-
-@SuppressWarnings("unused")
-final public class NativeLibHooks {
- @MethodHook(type = HookType.BEFORE, targetClassName = "java.lang.Runtime",
- targetMethod = "loadLibrary", targetMethodDescriptor = "(Ljava/lang/String;)V")
- @MethodHook(type = HookType.BEFORE, targetClassName = "java.lang.System",
- targetMethod = "loadLibrary", targetMethodDescriptor = "(Ljava/lang/String;)V")
- @MethodHook(type = HookType.BEFORE, targetClassName = "java.lang.Runtime", targetMethod = "load",
- targetMethodDescriptor = "(Ljava/lang/String;)V")
- @MethodHook(type = HookType.BEFORE, targetClassName = "java.lang.System", targetMethod = "load",
- targetMethodDescriptor = "(Ljava/lang/String;)V")
- public static void
- loadLibraryHook(MethodHandle method, Object thisObject, Object[] arguments, int hookId) {
- TraceDataFlowNativeCallbacks.handleLibraryLoad();
- }
-}
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/runtime/TraceDataFlowNativeCallbacks.java b/agent/src/main/java/com/code_intelligence/jazzer/runtime/TraceDataFlowNativeCallbacks.java
index f779cec6..147386ae 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/runtime/TraceDataFlowNativeCallbacks.java
+++ b/agent/src/main/java/com/code_intelligence/jazzer/runtime/TraceDataFlowNativeCallbacks.java
@@ -73,6 +73,4 @@ final public class TraceDataFlowNativeCallbacks {
// as the stack layout required for the call can't be achieved without local variables.
return Long.compare(arg1, arg2);
}
-
- public static native void handleLibraryLoad();
}