HyperDbg / gui

HyperDbg's Graphical User Interface (GUI)
Apache License 2.0
63 stars 10 forks source link

Action needed from Sina #76

Closed SinaKarvandi closed 2 months ago

SinaKarvandi commented 3 months ago

I noticed there are many issues in this repo, and I'm not sure which ones require my action. To improve our communication, I've created this Issue. Please post anything that needs my attention here, so I won't miss any of them.

我注意到这个 repo 中有很多问题,我不确定哪些需要我处理。为了改善我们的沟通,我创建了这个 Issue。请在此处发布任何需要我注意的内容,这样我就不会错过任何内容。

ddkwork commented 3 months ago

I noticed there are many issues in this repo, and I'm not sure which ones require my action. To improve our communication, I've created this Issue. Please post anything that needs my attention here, so I won't miss any of them.

我注意到这个 repo 中有很多问题,我不确定哪些需要我处理。为了改善我们的沟通,我创建了这个 Issue。请在此处发布任何需要我注意的内容,这样我就不会错过任何内容。

先来研究这个 https://github.com/HyperDbg/gui/issues/59

ddkwork commented 3 months ago

are you online? See https://github.com/HyperDbg/gui/issues/59 again please.

SinaKarvandi commented 3 months ago

Hi, Yes, I just came online. I'll check it now.

ddkwork commented 3 months ago

Hi, Yes, I just came online. I'll check it now.

Hello you, please try build gui and handle https://github.com/HyperDbg/gui/issues/60 now.

SinaKarvandi commented 3 months ago

I will build it now.

SinaKarvandi commented 3 months ago

Could you please send me a link to which version of GCC you use? How do you install it on Windows?

SinaKarvandi commented 3 months ago

I've got this error compiling it:

C:\Users\Sina\Desktop\gui>go build .
go: downloading github.com/ddkwork/app v0.0.0-20240615140632-acdad7498240
go: downloading github.com/ddkwork/golibrary v0.0.62
go: downloading github.com/richardwilkes/unison v0.70.1
go: downloading github.com/dc0d/caseconv v0.5.0
go: downloading github.com/fatih/color v1.17.0
go: downloading github.com/rivo/uniseg v0.4.7
go: downloading golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8
go: downloading golang.org/x/text v0.16.0
go: downloading golang.org/x/tools v0.22.0
go: downloading mvdan.cc/gofumpt v0.6.0
go: downloading github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394
go: downloading github.com/richardwilkes/toolbox v1.114.1
go: downloading github.com/zzl/go-win32api/v2 v2.2.0
go: downloading golang.org/x/sys v0.21.0
go: downloading github.com/alecthomas/chroma/v2 v2.14.0
go: downloading github.com/google/uuid v1.6.0
go: downloading github.com/cespare/xxhash/v2 v2.3.0
go: downloading github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71
go: downloading github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240506104042-037f3cc74f2a
go: downloading github.com/richardwilkes/json v0.2.0
go: downloading github.com/yuin/goldmark v1.7.2
go: downloading golang.org/x/image v0.17.0
go: downloading github.com/mattn/go-colorable v0.1.13
go: downloading github.com/mattn/go-isatty v0.0.20
go: downloading github.com/google/go-cmp v0.6.0
go: downloading golang.org/x/mod v0.18.0
go: downloading github.com/dlclark/regexp2 v1.11.0
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/winlabs/gowin32 v0.0.0-20221003142512-0d265587d3c9
package github.com/ddkwork/hyperdbgui
        imports github.com/ddkwork/hyperdbgui/ux
        imports github.com/ddkwork/app
        imports github.com/richardwilkes/unison
        imports github.com/go-gl/gl/v3.2-core/gl: build constraints exclude all Go files in C:\Users\Sina\go\pkg\mod\github.com\go-gl\gl@v0.0.0-20231021071112-07e5d0ea2e71\v3.2-core\gl
..\..\go\pkg\mod\github.com\ddkwork\app@v0.0.0-20240615140632-acdad7498240\ms\xed\pe.go:4:2: missing go.sum entry for module providing package github.com/saferwall/pe (imported by github.com/ddkwork/app/ms/xed); to add:
        go get github.com/ddkwork/app/ms/xed@v0.0.0-20240615140632-acdad7498240
..\..\go\pkg\mod\github.com\ddkwork\app@v0.0.0-20240615140632-acdad7498240\ms\xed\xed.go:6:2: missing go.sum entry for module providing package golang.org/x/arch/x86/x86asm (imported by github.com/ddkwork/app/ms/xed); to add:
        go get github.com/ddkwork/app/ms/xed@v0.0.0-20240615140632-acdad7498240
ddkwork commented 3 months ago

Could you please send me a link to which version of GCC you use? How do you install it on Windows?

https://github.com/jmeubank/tdm-gcc

ddkwork commented 3 months ago

wait me check agin

ddkwork commented 3 months ago

try again

ddkwork commented 3 months ago

Screenshot_20240615_225907_com.microsoft.emmx.jpg

随便一个gcc都可以的

SinaKarvandi commented 3 months ago

image

ddkwork commented 3 months ago

这个看似是gcc不正确,尝试 gcc -v .返回什么

---Original--- From: "Sina @.> Date: Sat, Jun 15, 2024 23:00 PM To: @.>; Cc: @.**@.>; Subject: Re: [HyperDbg/gui] Action needed from Sina (Issue #76)

image.png (view on web)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

ddkwork commented 3 months ago

新开一个cmd窗口试试,我感觉是gcc环境变量不生效

---Original--- From: "Sina @.> Date: Sat, Jun 15, 2024 23:00 PM To: @.>; Cc: @.**@.>; Subject: Re: [HyperDbg/gui] Action needed from Sina (Issue #76)

image.png (view on web)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

ddkwork commented 3 months ago

构建成功了吗?

SinaKarvandi commented 3 months ago

Another error:

C:\Users\Sina\Desktop\gui>go build .
^C
C:\Users\Sina\Desktop\gui>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/TDM-GCC-64/bin/../libexec/gcc/x86_64-w64-mingw32/10.3.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-git-10.3.0/configure --build=x86_64-w64-mingw32 --enable-targets=all --enable-languages=ada,c,c++,fortran,jit,lto,objc,obj-c++ --enable-libgomp --enable-lto --enable-graphite --enable-cxx-flags=-DWINPTHREAD_STATIC --disable-build-with-cxx --disable-build-poststage1-with-cxx --enable-libstdcxx-debug --enable-threads=posix --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts=yes --disable-libstdcxx-pch --enable-libstdcxx-threads --enable-libstdcxx-time=yes --enable-mingw-wildcard --with-gnu-ld --disable-werror --enable-nls --disable-win32-registry --enable-large-address-aware --disable-rpath --disable-symvers --prefix=/mingw64tdm --with-local-prefix=/mingw64tdm --with-pkgversion=tdm64-1 --with-bugurl=https://github.com/jmeubank/tdm-gcc/issues
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.3.0 (tdm64-1)

C:\Users\Sina\Desktop\gui>go build .

C:\Users\Sina\Desktop\gui>go run .
2024-06-15 08:09:08    Trace ->  --------- title --------- │ ------------------ info ------------------ //runtime.doInit1+0xec C:/Program Files/Go/src/runtime/proc.go:7176
ERR | 2024-06-15 | 08:09:09.042 | recovered from panic
    [github.com/ddkwork/golibrary/mylog.check[...]] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/golibrary@v0.0.62/mylog/check.go:216
    [github.com/ddkwork/golibrary/mylog.Check2[...]] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/golibrary@v0.0.62/mylog/check.go:27
    [github.com/ddkwork/app/ms/xed.ParserPe] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/ms/xed/pe.go:10
    [github.com/ddkwork/hyperdbgui/ux.LayoutDisassemblyTable.func3] C:/Users/Sina/Desktop/gui/ux/cpu.go:235
    [github.com/ddkwork/app/widget.NewTable[...]] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/widget/table.go:422
    [github.com/ddkwork/hyperdbgui/ux.LayoutDisassemblyTable] C:/Users/Sina/Desktop/gui/ux/cpu.go:214
    [github.com/ddkwork/hyperdbgui/ux.LayoutCpu] C:/Users/Sina/Desktop/gui/ux/cpu.go:25
    [github.com/ddkwork/hyperdbgui/ux.NewPage] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:118
    [main.main.Run.func1] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:31
    [github.com/ddkwork/app.RunWithIco.func1.1] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/app.go:49
    [github.com/richardwilkes/toolbox.CallWithHandler] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/toolbox@v1.114.1/call.go:24
    [github.com/richardwilkes/toolbox.Call] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/toolbox@v1.114.1/call.go:18
    [github.com/richardwilkes/unison.finishStartup] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/unison@v0.70.1/app.go:183
    [github.com/richardwilkes/toolbox.CallWithHandler] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/toolbox@v1.114.1/call.go:24
    [github.com/richardwilkes/unison.processNextTask] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/unison@v0.70.1/task.go:51
    [github.com/richardwilkes/unison.processEvents] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/unison@v0.70.1/app.go:164
    [github.com/richardwilkes/unison.Start] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/unison@v0.70.1/app.go:158
    [github.com/ddkwork/app.RunWithIco.func1] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/app.go:43
    [github.com/ddkwork/golibrary/mylog.callWithHandler] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/golibrary@v0.0.62/mylog/call.go:15
    [github.com/ddkwork/golibrary/mylog.Call] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/golibrary@v0.0.62/mylog/call.go:10
    [github.com/ddkwork/app.RunWithIco] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/app.go:42
    [github.com/ddkwork/hyperdbgui/ux.Run] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:30
    [main.main] C:/Users/Sina/Desktop/gui/main.go:9
  Caused by: open D:\workspace\workspace\branch\gui\bin\debug\hyperdbg-cli.exe: The system cannot find the path specified.
    [github.com/ddkwork/golibrary/mylog.check[...]] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/golibrary@v0.0.62/mylog/check.go:216
    [github.com/ddkwork/golibrary/mylog.Check2[...]] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/golibrary@v0.0.62/mylog/check.go:27
    [github.com/ddkwork/app/ms/xed.ParserPe] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/ms/xed/pe.go:10
    [github.com/ddkwork/hyperdbgui/ux.LayoutDisassemblyTable.func3] C:/Users/Sina/Desktop/gui/ux/cpu.go:235
    [github.com/ddkwork/app/widget.NewTable[...]] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/widget/table.go:422
    [github.com/ddkwork/hyperdbgui/ux.LayoutDisassemblyTable] C:/Users/Sina/Desktop/gui/ux/cpu.go:214
    [github.com/ddkwork/hyperdbgui/ux.LayoutCpu] C:/Users/Sina/Desktop/gui/ux/cpu.go:25
    [github.com/ddkwork/hyperdbgui/ux.NewPage] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:118
    [main.main.Run.func1] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:31
    [github.com/ddkwork/app.RunWithIco.func1.1] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/app.go:49
    [github.com/richardwilkes/toolbox.CallWithHandler] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/toolbox@v1.114.1/call.go:24
    [github.com/richardwilkes/toolbox.Call] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/toolbox@v1.114.1/call.go:18
    [github.com/richardwilkes/unison.finishStartup] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/unison@v0.70.1/app.go:183
    [github.com/richardwilkes/toolbox.CallWithHandler] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/toolbox@v1.114.1/call.go:24
    [github.com/richardwilkes/unison.processNextTask] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/unison@v0.70.1/task.go:51
    [github.com/richardwilkes/unison.processEvents] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/unison@v0.70.1/app.go:164
    [github.com/richardwilkes/unison.Start] C:/Users/Sina/go/pkg/mod/github.com/richardwilkes/unison@v0.70.1/app.go:158
    [github.com/ddkwork/app.RunWithIco.func1] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/app.go:43
    [github.com/ddkwork/golibrary/mylog.callWithHandler] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/golibrary@v0.0.62/mylog/call.go:15
    [github.com/ddkwork/golibrary/mylog.Call] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/golibrary@v0.0.62/mylog/call.go:10
    [github.com/ddkwork/app.RunWithIco] C:/Users/Sina/go/pkg/mod/github.com/ddkwork/app@v0.0.0-20240615144850-a0989c4851f0/app.go:42
    [github.com/ddkwork/hyperdbgui/ux.Run] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:30
    [main.main] C:/Users/Sina/Desktop/gui/main.go:9
SinaKarvandi commented 3 months ago

Did you put cli files in a static address?

ddkwork commented 3 months ago

 Oh my LadyGaga,等我修改下单元测试,呵呵🙂🙂🙂🙂

---Original--- From: "Sina @.> Date: Sat, Jun 15, 2024 23:10 PM To: @.>; Cc: @.**@.>; Subject: Re: [HyperDbg/gui] Action needed from Sina (Issue #76)

Another error: C:\Users\Sina\Desktop\gui>go build . ^C C:\Users\Sina\Desktop\gui>gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=C:/TDM-GCC-64/bin/../libexec/gcc/x86_64-w64-mingw32/10.3.0/lto-wrapper.exe Target: x86_64-w64-mingw32 Configured with: ../../../src/gcc-git-10.3.0/configure --build=x86_64-w64-mingw32 --enable-targets=all --enable-languages=ada,c,c++,fortran,jit,lto,objc,obj-c++ --enable-libgomp --enable-lto --enable-graphite --enable-cxx-flags=-DWINPTHREAD_STATIC --disable-build-with-cxx --disable-build-poststage1-with-cxx --enable-libstdcxx-debug --enable-threads=posix --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts=yes --disable-libstdcxx-pch --enable-libstdcxx-threads --enable-libstdcxx-time=yes --enable-mingw-wildcard --with-gnu-ld --disable-werror --enable-nls --disable-win32-registry --enable-large-address-aware --disable-rpath --disable-symvers --prefix=/mingw64tdm --with-local-prefix=/mingw64tdm --with-pkgversion=tdm64-1 --with-bugurl=https://github.com/jmeubank/tdm-gcc/issues Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 10.3.0 (tdm64-1) C:\Users\Sina\Desktop\gui>go build . C:\Users\Sina\Desktop\gui>go run . 2024-06-15 08:09:08 Trace -> --------- title --------- │ ------------------ info ------------------ //runtime.doInit1+0xec C:/Program Files/Go/src/runtime/proc.go:7176 ERR | 2024-06-15 | 08:09:09.042 | recovered from panic [github.com/ddkwork/golibrary/mylog.check[...]] @./mylog/check.go:216 [github.com/ddkwork/golibrary/mylog.Check2[...]] @./mylog/check.go:27 [github.com/ddkwork/app/ms/xed.ParserPe] @./ms/xed/pe.go:10 [github.com/ddkwork/hyperdbgui/ux.LayoutDisassemblyTable.func3] C:/Users/Sina/Desktop/gui/ux/cpu.go:235 [github.com/ddkwork/app/widget.NewTable[...]] @./widget/table.go:422 [github.com/ddkwork/hyperdbgui/ux.LayoutDisassemblyTable] C:/Users/Sina/Desktop/gui/ux/cpu.go:214 [github.com/ddkwork/hyperdbgui/ux.LayoutCpu] C:/Users/Sina/Desktop/gui/ux/cpu.go:25 [github.com/ddkwork/hyperdbgui/ux.NewPage] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:118 [main.main.Run.func1] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:31 [github.com/ddkwork/app.RunWithIco.func1.1] @./app.go:49 [github.com/richardwilkes/toolbox.CallWithHandler] @./call.go:24 [github.com/richardwilkes/toolbox.Call] @./call.go:18 [github.com/richardwilkes/unison.finishStartup] @./app.go:183 [github.com/richardwilkes/toolbox.CallWithHandler] @./call.go:24 [github.com/richardwilkes/unison.processNextTask] @./task.go:51 [github.com/richardwilkes/unison.processEvents] @./app.go:164 [github.com/richardwilkes/unison.Start] @./app.go:158 [github.com/ddkwork/app.RunWithIco.func1] @./app.go:43 [github.com/ddkwork/golibrary/mylog.callWithHandler] @./mylog/call.go:15 [github.com/ddkwork/golibrary/mylog.Call] @./mylog/call.go:10 [github.com/ddkwork/app.RunWithIco] @./app.go:42 [github.com/ddkwork/hyperdbgui/ux.Run] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:30 [main.main] C:/Users/Sina/Desktop/gui/main.go:9 Caused by: open D:\workspace\workspace\branch\gui\bin\debug\hyperdbg-cli.exe: The system cannot find the path specified. [github.com/ddkwork/golibrary/mylog.check[...]] @./mylog/check.go:216 [github.com/ddkwork/golibrary/mylog.Check2[...]] @./mylog/check.go:27 [github.com/ddkwork/app/ms/xed.ParserPe] @./ms/xed/pe.go:10 [github.com/ddkwork/hyperdbgui/ux.LayoutDisassemblyTable.func3] C:/Users/Sina/Desktop/gui/ux/cpu.go:235 [github.com/ddkwork/app/widget.NewTable[...]] @./widget/table.go:422 [github.com/ddkwork/hyperdbgui/ux.LayoutDisassemblyTable] C:/Users/Sina/Desktop/gui/ux/cpu.go:214 [github.com/ddkwork/hyperdbgui/ux.LayoutCpu] C:/Users/Sina/Desktop/gui/ux/cpu.go:25 [github.com/ddkwork/hyperdbgui/ux.NewPage] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:118 [main.main.Run.func1] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:31 [github.com/ddkwork/app.RunWithIco.func1.1] @./app.go:49 [github.com/richardwilkes/toolbox.CallWithHandler] @./call.go:24 [github.com/richardwilkes/toolbox.Call] @./call.go:18 [github.com/richardwilkes/unison.finishStartup] @./app.go:183 [github.com/richardwilkes/toolbox.CallWithHandler] @./call.go:24 [github.com/richardwilkes/unison.processNextTask] @./task.go:51 [github.com/richardwilkes/unison.processEvents] @./app.go:164 [github.com/richardwilkes/unison.Start] @./app.go:158 [github.com/ddkwork/app.RunWithIco.func1] @./app.go:43 [github.com/ddkwork/golibrary/mylog.callWithHandler] @./mylog/call.go:15 [github.com/ddkwork/golibrary/mylog.Call] @./mylog/call.go:10 [github.com/ddkwork/app.RunWithIco] @./app.go:42 [github.com/ddkwork/hyperdbgui/ux.Run] C:/Users/Sina/Desktop/gui/ux/HyperDbg.go:30 [main.main] C:/Users/Sina/Desktop/gui/main.go:9
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

SinaKarvandi commented 3 months ago

Okay, that's fine. I'll continue the building process tomorrow. I'll go to sleep now. Good night.

ddkwork commented 3 months ago

3 min only

ddkwork commented 3 months ago

Try again

SinaKarvandi commented 3 months ago

image

SinaKarvandi commented 3 months ago

Great! Nice job. 👌

ddkwork commented 3 months ago

好的,您抽空action一下,这样我每次提交都会发现错误

SinaKarvandi commented 3 months ago

Great. Meanwhile, I try to finish making the new SDK hopefully this week.

ddkwork commented 3 months ago

okay

---Original--- From: "Sina @.> Date: Sat, Jun 15, 2024 23:35 PM To: @.>; Cc: @.**@.>; Subject: Re: [HyperDbg/gui] Action needed from Sina (Issue #76)

Great. Meanwhile, I try to finish making the new SDK hopefully this week.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

ddkwork commented 3 months ago

Screenshot_20240616_044745_com.realvnc.viewer.android.jpg

ssdt tree table layout is complete, for io, the most effective hook iopxxxcontrolfile, the rest of the ntapi as well, we will implement in each nt api right-click context menu to perform the hook operation, and at the same time pop up the hook parameter panel, enter each api's input parameter, this I have previously implemented a structure to display a smallwidget that I've implemented before, and it's perfect for doing this. Now I need to pause the layout work on ark and work on the sdk side to make debugging a high priority. I desperately want the start command to work, because the subsequent loading of the disassembly and stacking of a series of operations is possible. iopxxx that function I have previously used the disassembly engine to find the correct offsets, just need the sdk to return the nt base to me, and then adjust the appropriate content in the inputbuffer to communicate with the driver.

So the remote start command you mentioned yesterday operates under VMware? Should I loadmm first?

ddkwork commented 3 months ago

Screenshot_20240616_052242_com.realvnc.viewer.android.jpg

I don't know what the reason is, but the module is not found, and I'm thinking about implementing hyperdbgcontrol entirely in go.

https://github.com/HyperDbg/gui/blob/main/test%2Fdll%2Fdll.go#L26-L33

ddkwork commented 2 months ago

Screenshot_20240616_095035_com.tencent.mm.jpg

https://mp.weixin.qq.com/s/zISSWZf9pw1WmdH7wZabtA

我似乎明白dll初始化失败的原因了:hyperdbgControl.dll是不是还依赖别的dll才能正常初始化?如果是这样级联依赖的话,有点不好弄,除非它依赖的是ring3的dll,但是我看到hvkd.dll之类的明明是sys驱动,如果也被cotrol.dll依赖的话就很麻烦。

SinaKarvandi commented 2 months ago

the ntapi as well, we will implement in each nt api right-click context menu to perform the hook operation, and at the same time pop up the hook parameter panel, enter each api's input parameter, this I have previously implemented a structure to display a smallwidget that I've implemented before, and it's perfect for doing this. Now I need to pause the layout work on ark and work on the sdk side to make debugging a high priority. I desperately want the start command to work, because the subsequent loading of the disassembly and stacking of a series of operations is possible. iopxxx that function I have previously used the disassembly engine to find the correct offsets, just need the sdk to return the nt base to me, and then adjust the appropriate

Yes, the '.start' command works perfectly in the debugger mode (VMware).

SinaKarvandi commented 2 months ago

Screenshot_20240616_052242_com.realvnc.viewer.android.jpg

I don't know what the reason is, but the module is not found, and I'm thinking about implementing hyperdbgcontrol entirely in go.

https://github.com/HyperDbg/gui/blob/main/test%2Fdll%2Fdll.go#L26-L33

You mean HyperDbgStopVmmDriver?

SinaKarvandi commented 2 months ago

Screenshot_20240616_095035_com.tencent.mm.jpg

https://mp.weixin.qq.com/s/zISSWZf9pw1WmdH7wZabtA

我似乎明白dll初始化失败的原因了:hyperdbgControl.dll是不是还依赖别的dll才能正常初始化?如果是这样级联依赖的话,有点不好弄,除非它依赖的是ring3的dll,但是我看到hvkd.dll之类的明明是sys驱动,如果也被cotrol.dll依赖的话就很麻烦。

This is the dependency list of HyperDbg:

image

ddkwork commented 2 months ago

不,是加载sdk的dll返回这个,查阅资料显示这个问题似乎是dll互相依赖。独立的一个dll是可以被go代码正常加载的。sdk的dll目前是依赖另外的dll工作吗?

---Original--- From: "Sina @.> Date: Sun, Jun 16, 2024 20:51 PM To: @.>; Cc: @.**@.>; Subject: Re: [HyperDbg/gui] Action needed from Sina (Issue #76)

I don't know what the reason is, but the module is not found, and I'm thinking about implementing hyperdbgcontrol entirely in go.

https://github.com/HyperDbg/gui/blob/main/test%2Fdll%2Fdll.go#L26-L33

You mean HyperDbgStopVmmDriver?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

ddkwork commented 2 months ago

这样依赖理论上有问题,因为我不知道control的子集依赖的3个dll如何初始化给cotrol.dll,容我在考虑一下如何处理这个。我刚刚在看一个go实现的cpp语法解析,这可能会花费一些时间,如果取得进展,我就是用cgo+lib的方式加载sdk,希望这可以甩掉嵌套依赖dll造成初始化失败的问题。

---Original--- From: "Sina @.> Date: Sun, Jun 16, 2024 20:52 PM To: @.>; Cc: @.**@.>; Subject: Re: [HyperDbg/gui] Action needed from Sina (Issue #76)

https://mp.weixin.qq.com/s/zISSWZf9pw1WmdH7wZabtA

我似乎明白dll初始化失败的原因了:hyperdbgControl.dll是不是还依赖别的dll才能正常初始化?如果是这样级联依赖的话,有点不好弄,除非它依赖的是ring3的dll,但是我看到hvkd.dll之类的明明是sys驱动,如果也被cotrol.dll依赖的话就很麻烦。

This is the dependency list of HyperDbg:

image.png (view on web)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

ddkwork commented 2 months ago

Screenshot_20240616_095035_com.tencent.mm.jpg

https://mp.weixin.qq.com/s/zISSWZf9pw1WmdH7wZabtA

我似乎明白dll初始化失败的原因了:hyperdbgControl.dll是不是还依赖别的dll才能正常初始化?如果是这样级联依赖的话,有点不好弄,除非它依赖的是ring3的dll,但是我看到hvkd.dll之类的明明是sys驱动,如果也被cotrol.dll依赖的话就很麻烦。

This is the dependency list of HyperDbg:

image

please handle https://github.com/HyperDbg/gui/issues/60

SinaKarvandi commented 2 months ago

Wait, why Scala?

SinaKarvandi commented 2 months ago

Screenshot_20240616_095035_com.tencent.mm.jpg https://mp.weixin.qq.com/s/zISSWZf9pw1WmdH7wZabtA 我似乎明白dll初始化失败的原因了:hyperdbgControl.dll是不是还依赖别的dll才能正常初始化?如果是这样级联依赖的话,有点不好弄,除非它依赖的是ring3的dll,但是我看到hvkd.dll之类的明明是sys驱动,如果也被cotrol.dll依赖的话就很麻烦。

This is the dependency list of HyperDbg: image

please handle #60

Scala is used for generating system Verilog for the hardware debugger. There is no need to handle in GUI since it's coming from a completely different topic.

SinaKarvandi commented 2 months ago

Scala is used for the chisel language: https://en.wikipedia.org/wiki/Chisel_(programming_language)

It's basically HyperDbg's support for hardware (FPGA, ASIC) debugging. The concept completely different, hardware engineer never needs to use Scala since it's just used one time for generating SystemVerilog codes.

ddkwork commented 2 months ago

Oh no,我还以为脚本是用Scala编写。没事,ds脚本也可以高亮语法,您只需要把关键字集合发给我,然后把脚本按行解析生成一个切片,制作一个token解析的过程,我就可以着色ds脚本。

---Original--- From: "Sina @.> Date: Sun, Jun 16, 2024 22:16 PM To: @.>; Cc: @.**@.>; Subject: Re: [HyperDbg/gui] Action needed from Sina (Issue #76)

https://mp.weixin.qq.com/s/zISSWZf9pw1WmdH7wZabtA 我似乎明白dll初始化失败的原因了:hyperdbgControl.dll是不是还依赖别的dll才能正常初始化?如果是这样级联依赖的话,有点不好弄,除非它依赖的是ring3的dll,但是我看到hvkd.dll之类的明明是sys驱动,如果也被cotrol.dll依赖的话就很麻烦。

This is the dependency list of HyperDbg:

please handle #60

Scala is used for generating system Verilog for the hardware debugger. There is no need to handle in GUI since it's coming from a completely different topic.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

SinaKarvandi commented 2 months ago

Oh no,我还以为脚本是用Scala编写。没事,ds脚本也可以高亮语法,您只需要把关键字集合发给我,然后把脚本按行解析生成一个切片,制作一个token解析的过程,我就可以着色ds脚本。

Here's the link + examples: https://docs.hyperdbg.org/commands/scripting-language

SinaKarvandi commented 2 months ago

我误解了,没事

Yes, you can think of Scala like the C codes that we used in HyperDbg except it generates support for Hardware Debugging. For example, if someone wants to debug an FPGA then it uses this Scala code to generate hardware logic so the FPGA also supports dslang (HyperDbg's language). So, we only need syntax highlighting for dslang.

是的,您可以将 Scala 视为我们在 HyperDbg 中使用的 C 代码,只不过它生成了对硬件调试的支持。例如,如果有人想调试 FPGA,那么它会使用此 Scala 代码生成硬件逻辑,因此 FPGA 也支持 dslang(HyperDbg 的语言)。因此,我们只需要 dslang 的语法突出显示。

ddkwork commented 2 months ago

https://blog.csdn.net/lengyue1084/article/details/123397635

我似乎找到了突破口,dll加载很有可能在今天晚些时候工作。

SinaKarvandi commented 2 months ago

https://blog.csdn.net/lengyue1084/article/details/123397635

我似乎找到了突破口,dll加载很有可能在今天晚些时候工作。

👍

ddkwork commented 2 months ago

目前来看,sdk正常加载已成为可能,不过您之前说的hyperdbg编译的bin自动完成不要预编译在gui仓库这个想法我感觉实现起来有点麻烦:我们需要维护另外一个仓库存储bin,既然都是bin,放在本仓库和其他仓库它都是已经编译过的,没什么区别啊。在另外的仓库内,写代码实现以下过程,在init函数内embed或者读取所有dll并释放到指定目录,然后gui的main函数第一步就是导入那个仓库的模块来执行init函数并得到dll路径,后续就可以执行dll初始化代码了。这个过程太麻烦了,没什么收益。你觉得呢?

SinaKarvandi commented 2 months ago

I think these things can be handled through CI/CD. Like once we want to recompile the GUI, CI/CD can download the latest version of the HyperDbg and start using it.


我认为这些事情可以通过 CI/CD 来处理。 例如,一旦我们想要重新编译 GUI,CI/CD 就可以下载最新版本的 HyperDbg 并开始使用它。

ddkwork commented 2 months ago

你好,可以把所有头文件合并为一个吗?我想做进一步测试生成绑定

SinaKarvandi commented 2 months ago

Hi, If you want to combine them you can add them all to a file in this order:

你好, 如果你想要合并它们,可以按以下顺序将它们全部添加到文件中:

image

ddkwork commented 2 months ago

目前已经取得很不错的进展,80%的绑定代码已经实现自动化生成,这对于驱动升级的同时更新sdk是个好消息。不过需要还有很多细节需要细化:

  1. 确保sdk的全部头文件都能正确被clang dump ast

  2. basetype.h 需要导入宽字符集头文件让clang识别类型以便正确得到ast

  3. 结构体位域绑定需要编写单元测试,可能需要修复gengo源代码

  4. 测试绑定zydis居然个别导出函数找不到,这是个奇怪的现象,需要更多调试。唯一成功执行的是demo目录。

  5. 绑定生成跳过了cpp的宏定义

还有很多细节需要调整,一旦sdk绑定通过单元测试,这对于hyperdbg的任何分支升级,更新,或者稳定版本,绑定操作都是自动化的。

ddkwork commented 2 months ago

全部都合并吧,因为imports目录下的头文件,也就是dll需要的,它会引用您截图目录下的头文件。example目录排除即可

---Original--- From: "Sina @.> Date: Wed, Jun 19, 2024 12:27 PM To: @.>; Cc: @.**@.>; Subject: Re: [HyperDbg/gui] Action needed from Sina (Issue #76)

Hi, If you want to combine them you can add them all to a file in this order:

你好, 如果你想要合并它们,可以按以下顺序将它们全部添加到文件中:

image.png (view on web)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

SinaKarvandi commented 2 months ago

Here I combined it for you :

https://gist.github.com/SinaKarvandi/93081c5cac5595c980312ec52e6ca8ce