Bios NX/XD, Windows Data Execution Prevention (DEP) & LoadLibraryA & Error 998

When functions that are supposed to work fine don’t work then it is probably the problem started before that function, perhaps by calling other functions using wrong prototypes. Any chance you have functions with omittable parameters of numeric type passes by value with pascal calling convention?

That is a possibility, but for now I’m in the process of wiping this computer because it first started to playup when I installed the Win10 SDK from a USB from another PC.

I was using the search facility in Explorer searching through the SDK folders for info and it killed Explorer. This has happened a few times now when searching for equates and api’s in the SDK folders. So I’m writing an app to audit the pc, ie log the folder structure, hash every file, log every registry setting, and hopefully I’ll be able to start spotting changes so that I can investigate whether they are genuine or not.

Other problems I’ve had, include the settings in Clarion getting messed around so I have to keep a separate copy of the clarion ini file to copy back over the one thats been messed up, the debugger not working properly so I need to know of every change that occurs on the pc.

I am conscious that malware running virtually might be to access windows files independently, but I also saw this blog from a few weeks ago which highlights how malware could operate. Dont know when this actually took place, it might have been from a few years ago or some changes made in the last few months.
The Import Address Table is now write-protected, and what that means for rogue patching - The Old New Thing (microsoft.com)

I’m just fed up with getting close to finishing an app and then the computer messes up again. I have so many unfinished apps, that its driving me nuts that this same thing keeps happening so I’m going to concentrate of hunting down whats going on.

Thanks for your concern though. :smiley:

1st - when 2+ programs try to monitor Debug Output only ONE will show.

So when nothing is showing in your Debug viewer look for another running, or a debugger open.

2nd - the programs often have an On/Off or Pause that can be easy to miss and STOPS showing output.

image

Try the simplest of code like below … that I know works:

   PROGRAM
   MAP 
     MODULE('WinAPI')
        OutputDebugString(*cstring Msg),PASCAL,RAW,DLL(1),NAME('OutputDebugStringA')
     END 
   END 
c CSTRING(100)
    CODE
    C='Hello ' & Format(CLOCK(),@t6)
    OutputDebugString(C)

3rd the Debug viewer can have elaborate filters that can be easy to get wrong so nothing shows. The original DebugView is easier to use and not configure to filter everything. Don’t try to run original and DebugView++ or as I said in “1st” only ONE will display.

Only got the original MS debugview on here.