summaryrefslogtreecommitdiff
path: root/sandbox/win/src/sidestep_resolver.h
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/win/src/sidestep_resolver.h')
-rw-r--r--sandbox/win/src/sidestep_resolver.h73
1 files changed, 0 insertions, 73 deletions
diff --git a/sandbox/win/src/sidestep_resolver.h b/sandbox/win/src/sidestep_resolver.h
deleted file mode 100644
index cf03d6e812..0000000000
--- a/sandbox/win/src/sidestep_resolver.h
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef SANDBOX_SRC_SIDESTEP_RESOLVER_H__
-#define SANDBOX_SRC_SIDESTEP_RESOLVER_H__
-
-#include "base/basictypes.h"
-#include "sandbox/win/src/nt_internals.h"
-#include "sandbox/win/src/resolver.h"
-
-namespace sandbox {
-
-// This is the concrete resolver used to perform sidestep interceptions.
-class SidestepResolverThunk : public ResolverThunk {
- public:
- SidestepResolverThunk() {}
- ~SidestepResolverThunk() override {}
-
- // Implementation of Resolver::Setup.
- NTSTATUS Setup(const void* target_module,
- const void* interceptor_module,
- const char* target_name,
- const char* interceptor_name,
- const void* interceptor_entry_point,
- void* thunk_storage,
- size_t storage_bytes,
- size_t* storage_used) override;
-
- // Implementation of Resolver::GetThunkSize.
- size_t GetThunkSize() const override;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(SidestepResolverThunk);
-};
-
-// This is the concrete resolver used to perform smart sidestep interceptions.
-// This means basically a sidestep interception that skips the interceptor when
-// the caller resides on the same dll being intercepted. It is intended as
-// a helper only, because that determination is not infallible.
-class SmartSidestepResolverThunk : public SidestepResolverThunk {
- public:
- SmartSidestepResolverThunk() {}
- ~SmartSidestepResolverThunk() override {}
-
- // Implementation of Resolver::Setup.
- NTSTATUS Setup(const void* target_module,
- const void* interceptor_module,
- const char* target_name,
- const char* interceptor_name,
- const void* interceptor_entry_point,
- void* thunk_storage,
- size_t storage_bytes,
- size_t* storage_used) override;
-
- // Implementation of Resolver::GetThunkSize.
- size_t GetThunkSize() const override;
-
- private:
- // Performs the actual call to the interceptor if the conditions are correct
- // (as determined by IsInternalCall).
- static void SmartStub();
-
- // Returns true if return_address is inside the module loaded at base.
- static bool IsInternalCall(const void* base, void* return_address);
-
- DISALLOW_COPY_AND_ASSIGN(SmartSidestepResolverThunk);
-};
-
-} // namespace sandbox
-
-
-#endif // SANDBOX_SRC_SIDESTEP_RESOLVER_H__