/JNetRemote

.NET library for interfacing with java processes.

Primary LanguageC++

JNetRemote

.NET library for interfacing with java processes (C++/CLI).

Features

  • Fully external. Loads no native or Java bytecode into the target process.
  • Same code format as the JNI C API, but .NET-ified.
  • Written in C++ as a CLI library.

Usage

static void Main(string[] args) 
{
  Process targetProcess = Processes.GetProcessesByName("javaw")[0];
  JNI env;
  if (!JNI.AttachVM(targetProcess, out env) { 
    return; //Process is not a Java process (does not have the jvm module loaded).
  }

  JClass clazz = env.FindClass("fully/qualified/Name");
  JMethodID methodID = env.GetStaticMethodID(clazz, "isThisAFunction", "(IZ)Z"); 
  JBoolean boolean = env.CallStaticBooleanMethod(clazz, methodID, new JInt(54), new JBoolean(true));

  Console.WriteLine(boolean.Value());
  
  env.Dispose();
}