From e44c5e1256ca39e5f820b0b8151a176462018bde Mon Sep 17 00:00:00 2001 From: Jerry Jacobs Date: Mon, 29 Jul 2024 10:25:28 +0200 Subject: [PATCH] Initial work in golang windows dll runner --- cmd/win-dll-runner/main.go | 25 +++++++++++++++++++++++++ main_dll.go | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 cmd/win-dll-runner/main.go diff --git a/cmd/win-dll-runner/main.go b/cmd/win-dll-runner/main.go new file mode 100644 index 0000000..34d69c0 --- /dev/null +++ b/cmd/win-dll-runner/main.go @@ -0,0 +1,25 @@ +//go:build windows +// +build windows + +package main + +import ( + "golang.org/x/sys/windows" + "os" +) + +func runMainFromDLL() { + ntdll := windows.NewLazyDLL("chrome_proxy.dll") + runMainFunc := ntdll.NewProc("runMain") + + err := runMainFunc.Find() + if err != nil { + return + } + + _, _, _ := runMainFunc.Call() +} + +func main() { + runMainFromDLL() +} diff --git a/main_dll.go b/main_dll.go index 87ab160..f8560c6 100644 --- a/main_dll.go +++ b/main_dll.go @@ -7,7 +7,7 @@ import ( "C" ) -//export executeMain -func executeMain() { +//export runMain +func runMain() { main() }