[GH-ISSUE #1] Issue with GoLink and VT #1

Open
opened 2026-02-26 04:36:25 +03:00 by kerem · 3 comments
Owner

Originally created by @eabase on GitHub (Jan 6, 2026).
Original GitHub issue: https://github.com/mrt-prodz/Huawei-Data-Plan-Monitor/issues/1

Looks like a cool project! Only I'm 11 years too late. :(

Was checking latest GoLink.exe on Virus Total, and that's a problem...


Image

Why are you using GoLink to link?

Can we use something else?

Any idea why this is flagged?

Originally created by @eabase on GitHub (Jan 6, 2026). Original GitHub issue: https://github.com/mrt-prodz/Huawei-Data-Plan-Monitor/issues/1 Looks like a cool project! Only I'm 11 years too late. :( Was checking latest [GoLink.exe](https://www.godevtool.com/) on Virus Total, and that's a problem... --- <img width="1534" height="657" alt="Image" src="https://github.com/user-attachments/assets/ab366c7c-e5ef-4d6a-877a-341d31611249" /> --- Why are you using `GoLink` to link? Can we use something else? Any idea why this is flagged?
Author
Owner

@mrt-prodz commented on GitHub (Jan 28, 2026):

Hi eabase,

It's been a while since I last coded something in assembly and unfortunately back then I would always use the combo nasm / golink.

I suppose golink being flagged as a virus is a false positive but you are doing the right thing to be suspicious.

I also remember back then defender and some other similar antivirus flagging my compiled assembly executables as harmful. (that's why I never distributed compiled executables)

I didn't try it but after a quick search online I saw that many people are using nasm / gcc, you could try using this toolchain but you also might have to tinker a bit with the code.

If you try nasm / gcc I would attempt compiling a simpler assembly program first calling some win32 api calls to get everything working first.

<!-- gh-comment-id:3814303521 --> @mrt-prodz commented on GitHub (Jan 28, 2026): Hi eabase, It's been a while since I last coded something in assembly and unfortunately back then I would always use the combo nasm / golink. I suppose golink being flagged as a virus is a false positive but you are doing the right thing to be suspicious. I also remember back then defender and some other similar antivirus flagging my compiled assembly executables as harmful. (that's why I never distributed compiled executables) I didn't try it but after a quick search online I saw that many people are using nasm / gcc, you could try using this toolchain but you also might have to tinker a bit with the code. If you try nasm / gcc I would attempt compiling a simpler assembly program first calling some win32 api calls to get everything working first.
Author
Owner

@eabase commented on GitHub (Jan 29, 2026):

@mrt-prodz

Yeah, I tried to ask a shitty AI to write it to be compatible with W11 x64.
It's didn't work. The MS fools have been messing with their toolbar API, now using something totally different (?) it seems. Would have been great if you could have a look.

I couldn't even get a Hello World icon on the bar using asm... :(

<!-- gh-comment-id:3815433064 --> @eabase commented on GitHub (Jan 29, 2026): @mrt-prodz Yeah, I tried to ask a shitty AI to write it to be compatible with W11 x64. It's didn't work. The MS fools have been messing with their toolbar API, now using something totally different (?) it seems. Would have been great if you could have a look. I couldn't even get a *Hello World* icon on the bar using asm... :(
Author
Owner

@mrt-prodz commented on GitHub (Jan 30, 2026):

So out of curiosity I went ahead with a simple Hello World in a MessabeBox using Nasm and Mingw (WSL - I use it for simplicity sake).

  • create a folder
  • create hello.asm and put this content:
global __start

extern _ExitProcess@4
extern _MessageBoxA@16

section .data
title db "NASM / WSL MINGW", 0
text  db "Hello World!", 0

section .text
__start:
    push    0
    push    title
    push    text
    push    0
    call    _MessageBoxA@16

    push    0
    call    _ExitProcess@4
  • create build_hello.sh and put this content:
#!/bin/bash
./nasm-3.01-win64/nasm-3.01/nasm.exe -f win32 hello.asm -o hello.obj

i686-w64-mingw32-ld \
  hello.obj \
  -o hello.exe \
  -subsystem windows \
  -entry __start \
  -lkernel32 \
  -luser32

If you run hello.exe you should see a message box appear.

I tried adapting another assembly repository I made ( NASM/GoLink OpenGL 1k Framework - https://github.com/mrt-prodz/NASM-OpenGL-1k-Framework ) but I had to change all external calls:

  • ExitProcess to _ExitProcess@4
    etc..

And it almost worked, meaning I had it running but I had to tweak the assembly code because my window was transparent and I had to change a couple calls. (however no crash)

Now for this specific repository, with much more calls, it could be a real pain to make everything work properly. (I guess this is where the fun starts 😁 )

I unfortunately don't have enough free time available to take a deeper look at this, but maybe there is still some compatible layer for the taskbar even in recent Windows to make that thing work. (I don't think I have an old compiled binary around to simply run it and see for myself)

With that info you can build assembly programs though. 😉

<!-- gh-comment-id:3825703008 --> @mrt-prodz commented on GitHub (Jan 30, 2026): So out of curiosity I went ahead with a simple Hello World in a MessabeBox using Nasm and Mingw (WSL - I use it for simplicity sake). * create a folder * create `hello.asm` and put this content: ```asm global __start extern _ExitProcess@4 extern _MessageBoxA@16 section .data title db "NASM / WSL MINGW", 0 text db "Hello World!", 0 section .text __start: push 0 push title push text push 0 call _MessageBoxA@16 push 0 call _ExitProcess@4 ``` * create `build_hello.sh` and put this content: ```sh #!/bin/bash ./nasm-3.01-win64/nasm-3.01/nasm.exe -f win32 hello.asm -o hello.obj i686-w64-mingw32-ld \ hello.obj \ -o hello.exe \ -subsystem windows \ -entry __start \ -lkernel32 \ -luser32 ``` * download https://www.nasm.us/pub/nasm/releasebuilds/3.01/win64/nasm-3.01-win64.zip * extract the zip file `nasm-3.01-win64.zip` in that folder * install WSL - Linux on Windows https://learn.microsoft.com/en-us/windows/wsl/install * once installed, run `wsl` and go to that folder you made (should be able to find it on `/mnt/c` if you made it on your primary) * set the shell script to executable: `chmod +x build_hello.sh` * run the script: `./build_hello.sh` If you run hello.exe you should see a message box appear. I tried adapting another assembly repository I made ( NASM/GoLink OpenGL 1k Framework - https://github.com/mrt-prodz/NASM-OpenGL-1k-Framework ) but I had to change all external calls: * ExitProcess to _ExitProcess@4 etc.. And it almost worked, meaning I had it running but I had to tweak the assembly code because my window was transparent and I had to change a couple calls. (however no crash) Now for this specific repository, with much more calls, it could be a real pain to make everything work properly. (I guess this is where the fun starts 😁 ) I unfortunately don't have enough free time available to take a deeper look at this, but maybe there is still some compatible layer for the taskbar even in recent Windows to make that thing work. (I don't think I have an old compiled binary around to simply run it and see for myself) With that info you can build assembly programs though. 😉
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Huawei-Data-Plan-Monitor-mrt-prodz#1
No description provided.