Skip to content

Commit

Permalink
Open with HyperDbg
Browse files Browse the repository at this point in the history
  • Loading branch information
ddkwork committed Jul 6, 2024
1 parent 1ee7a56 commit 4384a97
Show file tree
Hide file tree
Showing 16 changed files with 200 additions and 32 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
- 0.**

env:
RELEASE_ZIP_FILE_NAME: hyperdbgui
RELEASE_ZIP_FILE_NAME: HyperDbg

jobs:
test-on-multiple-os:
Expand Down
8 changes: 5 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
module github.com/ddkwork/hyperdbgui
module github.com/ddkwork/HyperDbg

go 1.22.4

require (
github.com/ddkwork/app v0.0.0-20240705135651-15a49d4b48bd
github.com/ddkwork/golibrary v0.0.0-20240705133929-5aa35acd51d0
github.com/richardwilkes/unison v0.71.0
github.com/saferwall/pe v1.5.3
github.com/stretchr/testify v1.9.0
github.com/tc-hib/winres v0.3.1
github.com/winlabs/gowin32 v0.0.0-20221003142512-0d265587d3c9
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8
golang.org/x/image v0.18.0
golang.org/x/sys v0.21.0
)

Expand All @@ -20,7 +23,6 @@ require (
github.com/dave/dst v0.27.3 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/dc0d/caseconv v0.5.0 // indirect
github.com/ddkwork/app v0.0.0-20240705135651-15a49d4b48bd // indirect
github.com/dlclark/regexp2 v1.11.0 // indirect
github.com/ebitengine/purego v0.7.1 // indirect
github.com/edsrzf/mmap-go v1.1.0 // indirect
Expand All @@ -33,6 +35,7 @@ require (
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.15 // indirect
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
github.com/pkg/term v1.2.0-beta.2 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/richardwilkes/json v0.2.0 // indirect
Expand All @@ -46,7 +49,6 @@ require (
github.com/yuin/goldmark v1.7.2 // indirect
github.com/zzl/go-win32api/v2 v2.2.0 // indirect
golang.org/x/arch v0.8.0 // indirect
golang.org/x/image v0.18.0 // indirect
golang.org/x/mod v0.18.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/term v0.21.0 // indirect
Expand Down
26 changes: 4 additions & 22 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -22,32 +22,10 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8Yc
github.com/daviddengcn/go-colortext v1.0.0/go.mod h1:zDqEI5NVUop5QPpVJUxE9UO10hRnmkD5G4Pmri9+m4c=
github.com/dc0d/caseconv v0.5.0 h1:z3Ki2zszD03beetWyNAGa3NOAbnDJk+bX0tvcx9BKjQ=
github.com/dc0d/caseconv v0.5.0/go.mod h1:/CrBBNtMoPTPf0INHrwyyhDrDjAJ9PFE+WuxSJHU0ZE=
github.com/ddkwork/app v0.0.0-20240703091236-3282ecd729c0 h1:edP6iDZuuKmij4g3XQbHkI2lB8UThoLm3HL806RI1qg=
github.com/ddkwork/app v0.0.0-20240703091236-3282ecd729c0/go.mod h1:4LmaeE3jw722pbRSWhEiEtNR3K4XROQ1aoy3/8ayIsc=
github.com/ddkwork/app v0.0.0-20240704035815-355e43660d1c h1:zPvJnoXSFTZD+J2Im/kkS2LeDJwxNVJKiWGVcD/C1sU=
github.com/ddkwork/app v0.0.0-20240704035815-355e43660d1c/go.mod h1:9EGVZw7LOtfsViE0L9JNibQgzISuEWbnv6/Ug8cbXqQ=
github.com/ddkwork/app v0.0.0-20240704100636-e9104e720c07 h1:l8KS1D4/NUbT+QxRDVFAlJNFz0PFeQIaH/FCCGkLZLg=
github.com/ddkwork/app v0.0.0-20240704100636-e9104e720c07/go.mod h1:7flYavzzZCDkjOLDoA4RS2dajtQhMsiPiSo0opelNxI=
github.com/ddkwork/app v0.0.0-20240704121133-f24549f31c3f h1:xTFB8FUQsn9IhwPyGk/X+euTQynjvG48ZA+Vqwsq5Iw=
github.com/ddkwork/app v0.0.0-20240704121133-f24549f31c3f/go.mod h1:7flYavzzZCDkjOLDoA4RS2dajtQhMsiPiSo0opelNxI=
github.com/ddkwork/app v0.0.0-20240704181456-734462c1690c h1:zrgF4g9AfnmJMfA7M14Iy6nt9L15xdfd9Ju2VR3tWcM=
github.com/ddkwork/app v0.0.0-20240704181456-734462c1690c/go.mod h1:0mxU+wwGw9qgPKkIny4dzizBOOUEv6cONd7iBErHlkY=
github.com/ddkwork/app v0.0.0-20240704192327-4d81e813d0d7 h1:CyELoFIaYVMj916vbviPiyhgEB9EctWli83a056N2pM=
github.com/ddkwork/app v0.0.0-20240704192327-4d81e813d0d7/go.mod h1:T7B69wjRVgJNL5TaSaEo1gyd7p0jgqNGvGIijOdTvns=
github.com/ddkwork/app v0.0.0-20240705135651-15a49d4b48bd h1:HEXxT5UmsvlhqPot0Bykc0c53NvxBSMjGGHhoGltmfA=
github.com/ddkwork/app v0.0.0-20240705135651-15a49d4b48bd/go.mod h1:eeUwZGa+7bLU/AdlxdqtVGFWzkWGSdhReFmwT4GHrMg=
github.com/ddkwork/golibrary v0.0.0-20240705133929-5aa35acd51d0 h1:XPUeWUhsU7mT5Boi/bus9kOAXm27P5YsIHTxiqyUmyE=
github.com/ddkwork/golibrary v0.0.0-20240705133929-5aa35acd51d0/go.mod h1:GlLX0w5HQ9dhHS5hhwcOJNSoLUO8ud4WnrbKa41MmcE=
github.com/ddkwork/golibrary v0.0.87-0.20240703090745-d512ac498c9e h1:adnZJdO8y/hLJSKR+8XbsqMzblPmOg705uO2s3GwQCw=
github.com/ddkwork/golibrary v0.0.87-0.20240703090745-d512ac498c9e/go.mod h1:GlLX0w5HQ9dhHS5hhwcOJNSoLUO8ud4WnrbKa41MmcE=
github.com/ddkwork/golibrary v0.0.87-0.20240704035619-a2512dff848c h1:VI2eB/ey43L+4z8clzwWWGZAC6G7d20FRw0+gAkwuoo=
github.com/ddkwork/golibrary v0.0.87-0.20240704035619-a2512dff848c/go.mod h1:GlLX0w5HQ9dhHS5hhwcOJNSoLUO8ud4WnrbKa41MmcE=
github.com/ddkwork/golibrary v0.0.87-0.20240704100055-aa7c86564bda h1:/Keyw4/9FVHY/G+epCxHJOCoLWR6Yc4S/MkfhQ0ORA8=
github.com/ddkwork/golibrary v0.0.87-0.20240704100055-aa7c86564bda/go.mod h1:GlLX0w5HQ9dhHS5hhwcOJNSoLUO8ud4WnrbKa41MmcE=
github.com/ddkwork/golibrary v0.0.87-0.20240704181208-f9ab2381304f h1:MIq11OE9FfT5RScNKMzHda9yqZKI/V6RW5O/WcW7NxI=
github.com/ddkwork/golibrary v0.0.87-0.20240704181208-f9ab2381304f/go.mod h1:GlLX0w5HQ9dhHS5hhwcOJNSoLUO8ud4WnrbKa41MmcE=
github.com/ddkwork/golibrary v0.0.87-0.20240704192207-6beb35a7c353 h1:k9km0X0xsoL+Zql5JRDuA8+Ki3JPNCEPgtijerO+nvw=
github.com/ddkwork/golibrary v0.0.87-0.20240704192207-6beb35a7c353/go.mod h1:GlLX0w5HQ9dhHS5hhwcOJNSoLUO8ud4WnrbKa41MmcE=
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/ebitengine/purego v0.7.1 h1:6/55d26lG3o9VCZX8lping+bZcmShseiqlh2bnUDiPA=
Expand Down Expand Up @@ -90,6 +68,8 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
github.com/pkg/term v1.2.0-beta.2 h1:L3y/h2jkuBVFdWiJvNfYfKmzcCnILw7mJWm2JQuMppw=
Expand Down Expand Up @@ -126,6 +106,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tc-hib/winres v0.3.1 h1:CwRjEGrKdbi5CvZ4ID+iyVhgyfatxFoizjPhzez9Io4=
github.com/tc-hib/winres v0.3.1/go.mod h1:C/JaNhH3KBvhNKVbvdlDWkbMDO9H4fKKDaN7/07SSuk=
github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ=
github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY=
github.com/winlabs/gowin32 v0.0.0-20221003142512-0d265587d3c9 h1:U8aCPFEMnxAEyj9IonhMVV1gSL4nzelh8uvoXp0hrq0=
Expand Down
4 changes: 2 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package main

import (
"github.com/ddkwork/HyperDbg/sdk"
"github.com/ddkwork/HyperDbg/ux"
"github.com/ddkwork/app"
"github.com/ddkwork/hyperdbgui/sdk"
"github.com/ddkwork/hyperdbgui/ux"
"github.com/richardwilkes/unison"
)

Expand Down
Binary file added packaging/internal/embedded/app-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packaging/internal/embedded/doc-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions packaging/internal/images.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package internal

import (
"bytes"
_ "embed"
"image"

"github.com/ddkwork/golibrary/mylog"
)

//go:embed embedded/app-1024.png
var appImgBytes []byte
var appImg image.Image

//go:embed embedded/doc-1024.png
var docImgBytes []byte
var docImg image.Image

func loadBaseImages() {
appImg, _ = mylog.Check3(image.Decode(bytes.NewBuffer(appImgBytes)))
docImg, _ = mylog.Check3(image.Decode(bytes.NewBuffer(docImgBytes)))
}
17 changes: 17 additions & 0 deletions packaging/internal/package.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package internal

// Package performs the platform-specific packaging for GCS.
func Package() {
Configure()
loadBaseImages()
platformPackage()
}

func Configure() {
// AppName = "HyperDbg"
// cmdline.AppCmdName = "hyperdbg"
// cmdline.License = "Mozilla Public License, version 2.0"
// cmdline.CopyrightStartYear = "1998"
// cmdline.CopyrightHolder = "ddkwork"
// cmdline.AppIdentifier = "com.hyperdbg"
}
123 changes: 123 additions & 0 deletions packaging/internal/package_windows.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
package internal

import (
"archive/zip"
"fmt"
"image"
"io"
"os"
"strings"
"time"

"golang.org/x/image/draw"

"github.com/ddkwork/golibrary/mylog"
"github.com/tc-hib/winres"
"github.com/tc-hib/winres/version"
)

const (
AppVersion = "v0.0.5"
AppCmdName = "hyperdbg"
)

func platformPackage() {
if len(os.Args) > 1 && os.Args[1] == "-z" {
compress()
return
}
rs := &winres.ResourceSet{}
rs.SetManifest(winres.AppManifest{
Description: "HyperDbg is a debugger ",
Compatibility: winres.Win7AndAbove,
ExecutionLevel: winres.AsInvoker,
DPIAwareness: winres.DPIAware,
})
addWindowsIcon(rs)
addWindowsVersion(rs)
var f *os.File
f = mylog.Check2(os.Create("rsrc_windows_amd64.syso"))

defer func() { mylog.Check(f.Close()) }()
mylog.Check(rs.WriteObject(f, winres.ArchAMD64))
}

func compress() {
name := fmt.Sprintf("HyperDbg-%s-windows.zip", "v0.0.5")
mylog.Check(os.Remove(name))
f := mylog.Check2(os.Create(name))
defer func() { mylog.Check(f.Close()) }()
zw := zip.NewWriter(f)
var fw io.Writer
hdr := &zip.FileHeader{
Name: "HyperDbg.exe",
Method: zip.Deflate,
Modified: time.Now(),
}
hdr.SetMode(0o755)
mylog.Check2(zw.CreateHeader(hdr))
in := mylog.Check2(os.Open("HyperDbg.exe"))
defer func() { mylog.Check(in.Close()) }()
mylog.Check2(io.Copy(fw, in))
mylog.Check(zw.Close())
}

func addWindowsIcon(rs *winres.ResourceSet) {
winIcon := mylog.Check2(winres.NewIconFromImages([]image.Image{Scale(appImg, 256, 256)}))
mylog.Check(rs.SetIconTranslation(winres.Name("APP"), 0, winIcon))
}

func Scale(img image.Image, width, height int) image.Image {
bounds := img.Bounds()
w := bounds.Dx()
h := bounds.Dy()
if w == width && h == height {
return img
}
scaled := image.NewRGBA(image.Rect(0, 0, width, height))
draw.CatmullRom.Scale(scaled, scaled.Bounds(), img, bounds, draw.Over, nil)
return scaled
}

func addWindowsVersion(rs *winres.ResourceSet) {
var vi version.Info
vi.SetFileVersion(AppVersion)
vi.SetProductVersion(AppVersion)
CopyrightHolder := "xxx"
mylog.Check(vi.Set(version.LangDefault, version.CompanyName, CopyrightHolder))
mylog.Check(vi.Set(version.LangDefault, version.FileDescription, "HyperDbg is a debugger"))
mylog.Check(vi.Set(version.LangDefault, version.FileVersion, shortAppVersion()))
mylog.Check(vi.Set(version.LangDefault, version.InternalName, AppCmdName))
mylog.Check(vi.Set(version.LangDefault, version.LegalCopyright, Copyright()))
mylog.Check(vi.Set(version.LangDefault, version.LegalTrademarks, "HyperDbg is a debugger"))
mylog.Check(vi.Set(version.LangDefault, version.OriginalFilename, AppCmdName+".exe"))
mylog.Check(vi.Set(version.LangDefault, version.ProductName, "HyperDbg"))
mylog.Check(vi.Set(version.LangDefault, version.ProductVersion, shortAppVersion()))
rs.SetVersionInfo(vi)
}

func Copyright() string {
var dot string
CopyrightHolder := "xxx"
if !strings.HasSuffix(CopyrightHolder, ".") {
dot = "."
}
return fmt.Sprintf("Copyright © %[1]s by %[2]s%[3]s All rights reserved.", ResolveCopyrightYears(),
CopyrightHolder, dot)
}

func ResolveCopyrightYears() string {
return "2021"
//if CopyrightYears != "" {
// return CopyrightYears
//}
//years := CopyrightStartYear
//if CopyrightEndYear != "" && CopyrightEndYear != CopyrightStartYear {
// if years == "" {
// years = CopyrightEndYear
// } else {
// years += "-" + CopyrightEndYear
// }
//}
//return years
}
13 changes: 13 additions & 0 deletions packaging/internal/version.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package internal

import (
"strings"
)

func shortAppVersion() string {
shortVersion := strings.TrimSuffix(AppVersion, ".0")
if strings.IndexByte(shortVersion, '.') == -1 {
return AppVersion
}
return shortVersion
}
9 changes: 9 additions & 0 deletions packaging/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package main

import (
"github.com/ddkwork/HyperDbg/packaging/internal"
)

func main() {
internal.Package()
}
2 changes: 1 addition & 1 deletion plugin/hookApiMgr/hookApiMgr_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ package hookApiMgr_test
import (
"testing"

"github.com/ddkwork/HyperDbg/plugin/scriptGen"
"github.com/ddkwork/golibrary/mylog"
"github.com/ddkwork/golibrary/stream"
"github.com/ddkwork/golibrary/stream/clang"
"github.com/ddkwork/hyperdbgui/plugin/scriptGen"
)

func TestName(t *testing.T) {
Expand Down
Binary file added rsrc_windows_amd64.syso
Binary file not shown.
2 changes: 1 addition & 1 deletion sdk/bindgen/command_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"strings"
"testing"

"github.com/ddkwork/hyperdbgui/sdk"
"github.com/ddkwork/HyperDbg/sdk"

"github.com/ddkwork/golibrary/mylog"
"github.com/ddkwork/golibrary/stream"
Expand Down
2 changes: 1 addition & 1 deletion ux/cpu.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"fmt"
"os"

"github.com/ddkwork/hyperdbgui/sdk"
"github.com/ddkwork/HyperDbg/sdk"

"github.com/saferwall/pe"

Expand Down
2 changes: 1 addition & 1 deletion ux/ux.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"embed"
"path/filepath"

"github.com/ddkwork/hyperdbgui/sdk"
"github.com/ddkwork/HyperDbg/sdk"

"github.com/richardwilkes/unison/enums/align"

Expand Down

0 comments on commit 4384a97

Please sign in to comment.