Skip to content

Commit a6ae95d

Browse files
committed
Added some extra native methods just in case.
1 parent 67dd53a commit a6ae95d

3 files changed

Lines changed: 40 additions & 10 deletions

File tree

src/main/java/com/beaudoin/jmm/natives/mac/mac.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
package com.beaudoin.jmm.natives.mac;
2626

27-
import com.beaudoin.jmm.misc.MemoryBuffer;
2827
import com.sun.jna.LastErrorException;
2928
import com.sun.jna.Native;
3029
import com.sun.jna.NativeLibrary;
@@ -37,19 +36,20 @@
3736
*/
3837
public final class mac {
3938

40-
static {
41-
Native.register(NativeLibrary.getInstance("c"));
42-
}
39+
static {
40+
Native.register(NativeLibrary.getInstance("c"));
41+
}
4342

44-
public static native int task_for_pid(int taskid, int pid, IntByReference out);
43+
public static native int task_for_pid(int taskid, int pid, IntByReference out);
4544

46-
public static native int mach_task_self();
45+
public static native int mach_task_self();
4746

48-
public static native int vm_write(int taskId, Pointer address, Pointer buffer, int size);
47+
public static native int vm_write(int taskId, Pointer address, Pointer buffer, int size);
4948

50-
public static native int vm_read(int taskId, Pointer address, int size, Pointer buffer, IntByReference ref);
51-
public static native int vm_read(int taskId, Pointer address, int size, PointerByReference buffer, IntByReference ref);
49+
public static native int vm_read(int taskId, Pointer address, int size, Pointer buffer, IntByReference ref);
5250

53-
public static native String mach_error_string(int result) throws LastErrorException;
51+
public static native int vm_read(int taskId, Pointer address, int size, PointerByReference buffer, IntByReference ref);
52+
53+
public static native String mach_error_string(int result) throws LastErrorException;
5454

5555
}

src/main/java/com/beaudoin/jmm/natives/win32/Kernel32.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.sun.jna.Pointer;
3131
import com.sun.jna.platform.win32.Tlhelp32;
3232
import com.sun.jna.platform.win32.WinDef;
33+
import com.sun.jna.ptr.IntByReference;
3334
import com.sun.jna.win32.W32APIOptions;
3435

3536
public final class Kernel32 {
@@ -50,4 +51,8 @@ public final class Kernel32 {
5051

5152
public static native long WriteProcessMemory(Pointer process, Pointer address, MemoryBuffer memory, int size, int written);
5253

54+
public static native WinDef.HMODULE GetModuleHandle(String value);
55+
56+
public static native boolean GetExitCodeProcess(Pointer hProcess, IntByReference lpExitCode);
57+
5358
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.beaudoin.jmm.natives.win32;
2+
3+
import com.sun.jna.Native;
4+
import com.sun.jna.platform.win32.WinDef;
5+
import com.sun.jna.platform.win32.WinUser;
6+
7+
public final class User32 {
8+
9+
static {
10+
Native.register("user32");
11+
}
12+
13+
public static native int GetMessageW(WinUser.MSG var1, WinDef.HWND var2, int var3, int var4);
14+
15+
public static native short GetKeyState(int vKey);
16+
17+
public static native WinDef.HWND GetForegroundWindow();
18+
19+
public static native int GetWindowTextW(WinDef.HWND hWnd, char[] lpString, int nMaxCount);
20+
21+
public static native boolean UnhookWindowsHookEx(WinUser.HHOOK var1);
22+
23+
public static native WinUser.HHOOK SetWindowsHookExW(int var1, WinUser.HOOKPROC var2, WinDef.HINSTANCE var3, int var4);
24+
25+
}

0 commit comments

Comments
 (0)