Liberty BASIC Community Forum
« D.E.P. stops all of JB and LB from running »

Welcome Guest. Please Login or Register.
Nov 23rd, 2017, 03:22am


Rules|Home|Help|Search|Recent Posts|Notification


« Previous Topic | Next Topic »
Pages: 1  Notify Send Topic Print
 thread  Author  Topic: D.E.P. stops all of JB and LB from running  (Read 662 times)
Chris Iverson
Administrator
ImageImageImageImageImage


member is offline

Avatar

20% Cooler


Homepage PM

Gender: Male
Posts: 2285
xx Re: D.E.P. stops all of JB and LB from running
« Reply #11 on: Jul 14th, 2017, 4:58pm »

on Jul 8th, 2017, 1:31pm, CarlGundel wrote:
I think the solution is for Microsoft to make such things as DEP either trivially easy to deal with, or to eliminate them.

-Carl


Unfortunately, "trivially easy" in this case would mean "less secure". Windows already defaults to a less secure state for this very reason: too many things are still hanging around that play games with memory manipulation, and then execute the modified memory.

Windows XP added flags to the VirtualProtect() function to modify the executable state of memory back in 2004 with SP2, it's been 13 years since then, and the answer is still "don't use DEP". undecided


As for Microsoft making it clear that DEP is the trigger on an issue, I'm not certain that it can. When DEP is enabled, the memory protection happens in the processor hardware itself, not as part of the OS. The OS might just get a generic exception from the processor when DEP is violated. In that case, the only thing it can do is terminate the process.
User IP Logged

"Do you believe in destiny?" - Pyrrha Nikos, RWBY
"With what wish will your Soul Gem shine?" - Kyubey, Puella Magi Madoka Magica
CarlGundel
Administrator
ImageImageImageImageImage


member is offline

Avatar

author of Liberty BASIC


Homepage PM


Posts: 2833
xx Re: D.E.P. stops all of JB and LB from running
« Reply #12 on: Jul 14th, 2017, 5:18pm »

If DEP were at least mentioned in the popup error for a protection fault, and to provide a a link to a help file to walk the user through the basics, that would be a big win. Also, when the user is about to change DEP settings, the operating system could inform the user about the nature of the change and how it would affect things. These things are easy to implement, and it's just silly that the user is left in a lurch.

-Carl
on Jul 14th, 2017, 4:58pm, Chris Iverson wrote:
Unfortunately, "trivially easy" in this case would mean "less secure". Windows already defaults to a less secure state for this very reason: too many things are still hanging around that play games with memory manipulation, and then execute the modified memory.

Windows XP added flags to the VirtualProtect() function to modify the executable state of memory back in 2004 with SP2, it's been 13 years since then, and the answer is still "don't use DEP". undecided


As for Microsoft making it clear that DEP is the trigger on an issue, I'm not certain that it can. When DEP is enabled, the memory protection happens in the processor hardware itself, not as part of the OS. The OS might just get a generic exception from the processor when DEP is violated. In that case, the only thing it can do is terminate the process.
User IP Logged

author of Liberty BASIC
http://www.libertybasic.com
Chris Iverson
Administrator
ImageImageImageImageImage


member is offline

Avatar

20% Cooler


Homepage PM

Gender: Male
Posts: 2285
xx Re: D.E.P. stops all of JB and LB from running
« Reply #13 on: Jul 14th, 2017, 7:52pm »

I'll agree to a bigger warning needed about DEP when turning it on, basically warning that, if anything breaks, to check DEP first.


A DEP warning on a protection violation I'm not certain would help much, though. Yes, it would help in cases where it's caused by DEP, but there's a million other things that can cause protection violations, none of which at all related to DEP. Popping up bad/wrong information can be worse than popping up no information; then you send the user on a useless wild goose chase.


It may be better nowadays, at least, when most protection faults are absorbed and handled by the OS(since they usually occur in things happening at low levels), but "Protection violation" is the most common error message I see in LB(mainly because I'm always experimenting with API calls, but still. I've seen the error hundreds of times, never related to DEP. Sometimes I wasn't sure what caused it since it wouldn't happen right away.)

I suppose hints toward it wouldn't hurt, but then you need a way to pass that hint through to every single program running that handles exceptions. The protection violation error being shown in this case isn't being displayed by Windows; it's being displayed by the Smalltalk engine, which means, even if the Windows default error message for protection errors DID include the hint about DEP, it wouldn't change anything in this case, because the Smalltalk engine is catching the exception and re-throwing it.
User IP Logged

"Do you believe in destiny?" - Pyrrha Nikos, RWBY
"With what wish will your Soul Gem shine?" - Kyubey, Puella Magi Madoka Magica
tooanalytical


member is offline

Avatar




PM


Posts: 1163
xx Re: D.E.P. stops all of JB and LB from running
« Reply #14 on: Jul 15th, 2017, 02:12am »

on Jul 14th, 2017, 4:58pm, Chris Iverson wrote:
Unfortunately, "trivially easy" in this case would mean "less secure". Windows already defaults to a less secure state for this very reason: too many things are still hanging around that play games with memory manipulation, and then execute the modified memory.

Windows XP added flags to the VirtualProtect() function to modify the executable state of memory back in 2004 with SP2, it's been 13 years since then, and the answer is still "don't use DEP". undecided


As for Microsoft making it clear that DEP is the trigger on an issue, I'm not certain that it can. When DEP is enabled, the memory protection happens in the processor hardware itself, not as part of the OS. The OS might just get a generic exception from the processor when DEP is violated. In that case, the only thing it can do is terminate the process.

That would seem to be an explanation of how or why I found my earlier problem occurring with the commercial office "suite" (which is not any Microsoft product).
User IP Logged

Pages: 1  Notify Send Topic Print
« Previous Topic | Next Topic »

Rules|Home|Help|Search|Recent Posts|Notification

Donate $6.99 for 50,000 Ad-Free Pageviews!

| |

This forum powered for FREE by Conforums ©
Sign up for your own Free Message Board today!
Terms of Service | Privacy Policy | Conforums Support | Parental Controls