[mmloader ]Add new port (#11381)

* Add new port mmloader

* update the SHA512

* update the version

* Address PR comments
This commit is contained in:
Sheen Tian 2020-05-22 02:25:25 +08:00 committed by GitHub
parent 875821cd80
commit 3dd53aae33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 57 additions and 0 deletions

8
ports/mmloader/CONTROL Normal file
View File

@ -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

View File

@ -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)

View File

@ -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