diff --git a/files/leechcore.dylib b/files/leechcore.dylib deleted file mode 100644 index bf99ad2..0000000 Binary files a/files/leechcore.dylib and /dev/null differ diff --git a/m_vmemd/Makefile.macos b/m_vmemd/Makefile.macos index d3770d0..37ac1a3 100644 --- a/m_vmemd/Makefile.macos +++ b/m_vmemd/Makefile.macos @@ -18,23 +18,47 @@ CFLAGS += -mmacosx-version-min=11.0 LDFLAGS += -dynamiclib -L. ./leechcore.dylib ./vmm.dylib -lm LDFLAGS += -Wl,-rpath,@loader_path LDFLAGS += -g -mmacosx-version-min=11.0 -DEPS = vmmdll.h + +DEPS = OBJ = m_vmemd.o oscompatibility.o -%.o: %.c $(DEPS) - $(CC) -c -o $@ $< $(CFLAGS) +# ARCH SPECIFIC FLAGS: +CFLAGS_X86_64 = $(CFLAGS) -arch x86_64 +CFLAGS_ARM64 = $(CFLAGS) -arch arm64 +LDFLAGS_X86_64 = $(LDFLAGS) -arch x86_64 +LDFLAGS_ARM64 = $(LDFLAGS) -arch arm64 +OBJ_X86_64 = $(OBJ:.o=.o.x86_64) +OBJ_ARM64 = $(OBJ:.o=.o.arm64) -m_vmemd: $(OBJ) +all: m_vmemd.dylib + +%.o.x86_64: %.c $(DEPS) + $(CC) $(CFLAGS_X86_64) -c -o $@ $< + +%.o.arm64: %.c $(DEPS) + $(CC) $(CFLAGS_ARM64) -c -o $@ $< + +m_vmemd_x86_64.dylib: $(OBJ_X86_64) + cp ../files/vmm.dylib . || cp ../../LeechCore*/files/vmm.dylib . || true cp ../files/leechcore.dylib . || cp ../../LeechCore*/files/leechcore.dylib . || true - cp ../files/vmm.dylib . || cp ../../MemProcFS*/files/vmm.dylib . || true - $(CC) $(CFLAGS) $(LDFLAGS) -o m_vmemd.dylib $^ + $(CC) $(LDFLAGS_X86_64) -o $@ $^ + +m_vmemd_arm64.dylib: $(OBJ_ARM64) + cp ../files/vmm.dylib . || cp ../../LeechCore*/files/vmm.dylib . || true + cp ../files/leechcore.dylib . || cp ../../LeechCore*/files/leechcore.dylib . || true + $(CC) $(LDFLAGS_ARM64) -o $@ $^ + +m_vmemd.dylib: m_vmemd_x86_64.dylib m_vmemd_arm64.dylib + lipo -create -output m_vmemd.dylib m_vmemd_x86_64.dylib m_vmemd_arm64.dylib + install_name_tool -id @rpath/m_vmemd.dylib m_vmemd.dylib + mkdir -p ../files/plugins mv m_vmemd.dylib ../files/plugins/ - rm -f *.o || true - rm -f */*.o || true + rm -f *.o *.o.x86_64 *.o.arm64 || true + rm -f */*.o */*.o.x86_64 */*.o.arm64 || true rm -f *.dylib || true true clean: - rm -f *.o || true - rm -f */*.o || true + rm -f *.o *.o.x86_64 *.o.arm64 || true + rm -f */*.o */*.o.x86_64 */*.o.arm64 || true rm -f *.dylib || true diff --git a/m_vmemd/version.h b/m_vmemd/version.h index 12e6ec3..8ccb135 100644 --- a/m_vmemd/version.h +++ b/m_vmemd/version.h @@ -3,8 +3,8 @@ #define VERSION_MAJOR 5 #define VERSION_MINOR 14 -#define VERSION_REVISION 0 -#define VERSION_BUILD 190 +#define VERSION_REVISION 1 +#define VERSION_BUILD 191 #define VER_FILE_DESCRIPTION_STR "MemProcFS : Plugin vmemd" #define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD diff --git a/memprocfs/Makefile.macos b/memprocfs/Makefile.macos index 13aa29f..49d08ae 100644 --- a/memprocfs/Makefile.macos +++ b/memprocfs/Makefile.macos @@ -1,9 +1,7 @@ -# brew install pkg-config macfuse openssl CC=clang -CFLAGS += -I. -I../includes -D MACOS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -CFLAGS += -I/usr/local/include/fuse -D_FILE_OFFSET_BITS=64 +CFLAGS += -I. -I../includes -D MACOS -D _GNU_SOURCE -D _FILE_OFFSET_BITS=64 -pthread +CFLAGS += -fPIE -fPIC -fstack-protector -D_FORTIFY_SOURCE=2 -O1 #CFLAGS += `pkg-config fuse --cflags` -CFLAGS += -fPIC -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -O1 CFLAGS += -Wall -Wno-enum-compare -Wno-pointer-sign -Wno-multichar -Wno-unused-variable -Wno-unused-value CFLAGS += -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast CFLAGS += -mmacosx-version-min=11.0 @@ -16,25 +14,48 @@ LDFLAGS += -ldl -L. ./leechcore.dylib ./vmm.dylib LDFLAGS += -L/usr/local/lib -lfuse -pthread LDFLAGS += -Wl,-rpath,@loader_path LDFLAGS += -mmacosx-version-min=11.0 -DEPS = vfs.h + +DEPS = vfslist.h OBJ = oscompatibility.o charutil.o vfslist.o memprocfs_fuse.o ob/ob_cachemap.o ob/ob_core.o ob/ob_map.o ob/ob_set.o -%.o: %.c $(DEPS) - $(CC) -c -o $@ $< $(CFLAGS) +# ARCH SPECIFIC FLAGS: +CFLAGS_X86_64 = $(CFLAGS) -arch x86_64 +CFLAGS_ARM64 = $(CFLAGS) -arch arm64 +LDFLAGS_X86_64 = $(LDFLAGS) -arch x86_64 +LDFLAGS_ARM64 = $(LDFLAGS) -arch arm64 +OBJ_X86_64 = $(OBJ:.o=.o.x86_64) +OBJ_ARM64 = $(OBJ:.o=.o.arm64) -memprocfs: $(OBJ) +all: memprocfs + +%.o.x86_64: %.c $(DEPS) + $(CC) $(CFLAGS_X86_64) -c -o $@ $< + +%.o.arm64: %.c $(DEPS) + $(CC) $(CFLAGS_ARM64) -c -o $@ $< + +memprocfs_x86_64: $(OBJ_X86_64) cp ../files/vmm.dylib . || cp ../../MemProcFS*/files/vmm.dylib . || true cp ../files/leechcore.dylib . || cp ../../LeechCore*/files/leechcore.dylib . || true - $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) + $(CC) $(LDFLAGS_X86_64) -o $@ $^ + +memprocfs_arm64: $(OBJ_ARM64) + cp ../files/vmm.dylib . || cp ../../MemProcFS*/files/vmm.dylib . || true + cp ../files/leechcore.dylib . || cp ../../LeechCore*/files/leechcore.dylib . || true + $(CC) $(LDFLAGS_ARM64) -o $@ $^ + +memprocfs: memprocfs_x86_64 memprocfs_arm64 + lipo -create -output memprocfs memprocfs_x86_64 memprocfs_arm64 + install_name_tool -id @rpath/memprocfs memprocfs mv memprocfs ../files/ |true mv vmm.dylib ../files/ |true mv leechcore.dylib ../files/ |true - rm -f *.o || true - rm -f */*.o || true + rm -f *.o *.o.x86_64 *.o.arm64 || true + rm -f */*.o */*.o.x86_64 */*.o.arm64 || true rm -f *.dylib || true true clean: - rm -f *.o || true - rm -f */*.o || true + rm -f *.o *.o.x86_64 *.o.arm64 || true + rm -f */*.o */*.o.x86_64 */*.o.arm64 || true rm -f *.dylib || true diff --git a/memprocfs/version.h b/memprocfs/version.h index 0f08d03..cbeeba3 100644 --- a/memprocfs/version.h +++ b/memprocfs/version.h @@ -3,8 +3,8 @@ #define VERSION_MAJOR 5 #define VERSION_MINOR 14 -#define VERSION_REVISION 0 -#define VERSION_BUILD 190 +#define VERSION_REVISION 1 +#define VERSION_BUILD 191 #define VER_FILE_DESCRIPTION_STR "MemProcFS" #define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD diff --git a/vmm/Makefile.macos b/vmm/Makefile.macos index e1f6bc6..c464407 100644 --- a/vmm/Makefile.macos +++ b/vmm/Makefile.macos @@ -11,6 +11,7 @@ CFLAGS += -mmacosx-version-min=11.0 LDFLAGS += -dynamiclib -L. ./leechcore.dylib -lm LDFLAGS += -Wl,-rpath,@loader_path LDFLAGS += -g -mmacosx-version-min=11.0 + DEPS = vmmdll.h OBJ = oscompatibility.o charutil.o util.o pe.o vmmdll.o vmmdll_core.o \ vmmdll_remote.o vmmdll_scatter.o vmm.o fc.o \ @@ -49,20 +50,41 @@ OBJ = oscompatibility.o charutil.o util.o pe.o vmmdll.o vmmdll_core.o \ modules/m_proc_thread.o modules/m_proc_token.o \ modules/m_proc_virt2phys.o -%.o: %.c $(DEPS) - $(CC) -c -o $@ $< $(CFLAGS) +# ARCH SPECIFIC FLAGS: +CFLAGS_X86_64 = $(CFLAGS) -arch x86_64 +CFLAGS_ARM64 = $(CFLAGS) -arch arm64 +LDFLAGS_X86_64 = $(LDFLAGS) -arch x86_64 +LDFLAGS_ARM64 = $(LDFLAGS) -arch arm64 +OBJ_X86_64 = $(OBJ:.o=.o.x86_64) +OBJ_ARM64 = $(OBJ:.o=.o.arm64) -leechcore: $(OBJ) +all: vmm.dylib + +%.o.x86_64: %.c $(DEPS) + $(CC) $(CFLAGS_X86_64) -c -o $@ $< + +%.o.arm64: %.c $(DEPS) + $(CC) $(CFLAGS_ARM64) -c -o $@ $< + +vmm_x86_64.dylib: $(OBJ_X86_64) cp ../files/leechcore.dylib . || cp ../../LeechCore*/files/leechcore.dylib . || true - $(CC) $(CFLAGS) $(LDFLAGS) -o vmm.dylib $^ + $(CC) $(LDFLAGS_X86_64) -o $@ $^ + +vmm_arm64.dylib: $(OBJ_ARM64) + cp ../files/leechcore.dylib . || cp ../../LeechCore*/files/leechcore.dylib . || true + $(CC) $(LDFLAGS_ARM64) -o $@ $^ + +vmm.dylib: vmm_x86_64.dylib vmm_arm64.dylib + lipo -create -output vmm.dylib vmm_x86_64.dylib vmm_arm64.dylib + install_name_tool -id @rpath/vmm.dylib vmm.dylib mv vmm.dylib ../files/ mv leechcore.dylib ../files/ - rm -f *.o || true - rm -f */*.o || true + rm -f *.o *.o.x86_64 *.o.arm64 || true + rm -f */*.o */*.o.x86_64 */*.o.arm64 || true rm -f *.dylib || true true clean: - rm -f *.o || true - rm -f */*.o || true + rm -f *.o *.o.x86_64 *.o.arm64 || true + rm -f */*.o */*.o.x86_64 */*.o.arm64 || true rm -f *.dylib || true diff --git a/vmm/version.h b/vmm/version.h index 3027a8a..9803727 100644 --- a/vmm/version.h +++ b/vmm/version.h @@ -3,8 +3,8 @@ #define VERSION_MAJOR 5 #define VERSION_MINOR 14 -#define VERSION_REVISION 0 -#define VERSION_BUILD 190 +#define VERSION_REVISION 1 +#define VERSION_BUILD 191 #define VER_FILE_DESCRIPTION_STR "MemProcFS : Core" #define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD diff --git a/vmmpyc/version.h b/vmmpyc/version.h index 62b49cd..26a4e55 100644 --- a/vmmpyc/version.h +++ b/vmmpyc/version.h @@ -3,8 +3,8 @@ #define VERSION_MAJOR 5 #define VERSION_MINOR 14 -#define VERSION_REVISION 0 -#define VERSION_BUILD 190 +#define VERSION_REVISION 1 +#define VERSION_BUILD 191 #define VER_FILE_DESCRIPTION_STR "MemProcFS : Python API" #define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD diff --git a/vmmrust/leechcore_example/Cargo.toml b/vmmrust/leechcore_example/Cargo.toml index 65538fa..23ecf95 100644 --- a/vmmrust/leechcore_example/Cargo.toml +++ b/vmmrust/leechcore_example/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "leechcore_example" -version = "5.14.0" +version = "5.14.1" edition = "2021" publish = false diff --git a/vmmrust/m_example_plugin/Cargo.toml b/vmmrust/m_example_plugin/Cargo.toml index 429334c..a7e8679 100644 --- a/vmmrust/m_example_plugin/Cargo.toml +++ b/vmmrust/m_example_plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "m_example_plugin" -version = "5.14.0" +version = "5.14.1" edition = "2021" publish = false diff --git a/vmmrust/memprocfs/Cargo.toml b/vmmrust/memprocfs/Cargo.toml index 8b15f2c..db7bc3a 100644 --- a/vmmrust/memprocfs/Cargo.toml +++ b/vmmrust/memprocfs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "memprocfs" -version = "5.14.0" +version = "5.14.1" edition = "2021" description = "MemProcFS - Physical Memory Analysis Framework" documentation = "https://docs.rs/memprocfs" diff --git a/vmmrust/memprocfs_example/Cargo.toml b/vmmrust/memprocfs_example/Cargo.toml index c39f5e0..81471da 100644 --- a/vmmrust/memprocfs_example/Cargo.toml +++ b/vmmrust/memprocfs_example/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "memprocfs_example" -version = "5.14.0" +version = "5.14.1" edition = "2021" publish = false diff --git a/vmmsharp/vmmsharp/Properties/AssemblyInfo.cs b/vmmsharp/vmmsharp/Properties/AssemblyInfo.cs index d9d8c1d..7a5519b 100644 --- a/vmmsharp/vmmsharp/Properties/AssemblyInfo.cs +++ b/vmmsharp/vmmsharp/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.Versioning; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("5.14.0.190")] -[assembly: AssemblyFileVersion("5.14.0.190")] +[assembly: AssemblyVersion("5.14.1.191")] +[assembly: AssemblyFileVersion("5.14.1.191")] diff --git a/vmmsharp/vmmsharp/vmmsharp.csproj b/vmmsharp/vmmsharp/vmmsharp.csproj index 20bda09..e2c0b8d 100644 --- a/vmmsharp/vmmsharp/vmmsharp.csproj +++ b/vmmsharp/vmmsharp/vmmsharp.csproj @@ -109,7 +109,7 @@ - 5.14.0 + 5.14.1 https://github.com/ufrisk/MemProcFS git LICENSE