diff options
author | Fabian Meumertzheim <fabian@meumertzhe.im> | 2021-03-22 14:49:05 +0100 |
---|---|---|
committer | Fabian Meumertzheim <fabian@meumertzhe.im> | 2021-03-22 14:57:55 +0100 |
commit | f938920a37042376e56c7ac771886565bcfe8b5e (patch) | |
tree | c07b7a79e35e0999b59d81d563da948ec542666e /agent | |
parent | 71ac55c6fc9d808bcc8a8e8d895f7f20141bec86 (diff) | |
download | jazzer-api-f938920a37042376e56c7ac771886565bcfe8b5e.tar.gz |
Revert "Do not intercept JVM-internal C stdlib calls (#45)"
This reverts commit 71ac55c6fc9d808bcc8a8e8d895f7f20141bec86.
Diffstat (limited to 'agent')
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(); } |