diff --git a/ports/mmloader/CONTROL b/ports/mmloader/CONTROL new file mode 100644 index 000000000..e57556062 --- /dev/null +++ b/ports/mmloader/CONTROL @@ -0,0 +1,8 @@ +Source: mmloader +Version: 2020-05-15 +Description: A library for loading dll module bypassing windows PE loader from memory (x86/x64) +Homepage: http://tishion.github.io/mmLoader/ +Supports: (x86|x64)&windows&static + +Feature: shellcode +Description: Generate mmLoader shell code headers diff --git a/ports/mmloader/portfile.cmake b/ports/mmloader/portfile.cmake new file mode 100644 index 000000000..2a3411ce3 --- /dev/null +++ b/ports/mmloader/portfile.cmake @@ -0,0 +1,42 @@ + +# fail early for unsupported triplets +vcpkg_fail_port_install( + MESSAGE "mmLoader supports only x86/x64-windows-static triplets" + ON_TARGET "UWP" "LINUX" "OSX" "ANDROID" "FREEBSD" + ON_ARCH "arm" "arm64" + ON_CRT_LINKAGE "dynamic" + ON_LIBRARY_LINKAGE "dynamic" +) + +# source +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tishion/mmLoader + REF 1.0.0 + SHA512 ceb2ab4b60d74209fa46d198cde6fd87a97d911abb875ac35383288a67828d0420bb38ff8d2f17dd4a3f46ba3abf554152d1246eeb05215258e8af64ac4a39de + HEAD_REF master +) + +# feature +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + shellcode BUILD_SHELLCODE_GEN +) + +# config +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${FEATURE_OPTIONS} +) + +# pre-clean +file(REMOVE_RECURSE ${SOURCE_PATH}/output) + +# build and install +vcpkg_install_cmake(DISABLE_PARALLEL) + +# remove the debug/include directory +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# collect license files +file(INSTALL ${SOURCE_PATH}/License DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index aed1567bc..f4400b211 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1094,6 +1094,13 @@ minizip:arm-uwp=fail minizip:x64-uwp=fail mman:x64-linux=fail mman:x64-osx=fail +mmloader:arm64-windows=fail +mmloader:arm-uwp=fail +mmloader:x64-linux=fail +mmloader:x64-osx=fail +mmloader:x64-uwp=fail +mmloader:x64-windows=fail +mmloader:x86-windows=fail # mmx installs many problematic headers, such as `json.h` and `sched.h` mmx:x64-windows=skip mmx:x64-windows-static=skip