Announcement

Collapse
No announcement yet.

JTFE and Data Execution Prevention

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • JTFE and Data Execution Prevention

    Hi,

    I don't know if this has been mentioned before, but I searched and didn't find anything.

    Currently, the "Jump To File Extra" plugin does not load when Windows XP's Data Execution Prevention (DEP) feature is used in conjunction with a processor that natively supports it. Adding Winamp to DEP's exclusion list allows the plugin to start normally, but many would consider this a (slight) security risk.

    I am using Winamp 5.08c (full) with an AMD Athlon 64 3500+.

  • #2
    well i've never heard about this before (and currently i've no way of checking/reproducing personally since i use Win2k plus the code is in a full state of re-code at the moment so i couldn't test any builds anyway )

    only thing off hand i can think of is to try an older build (0.94te) to narrow down what could be causing it (since i did come across one issue with the auto-update feature which was causing a memory exception though i'd thought i'd fixed it) but that older build is a stable(ish) one without it in that can be used for testing with.

    if that still gives the same issue then i'm not too sure what else can be altered, etc since the way the plugin internal works involves overriding some OS api calls and that may be the cause though i've not seen any reports of things like that causing issues from what i can see from the search i just did *shrugs*

    -daz
    WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

    Comment


    • #3
      Hi,

      I've just tried the older build and the problem exists with that one also.

      For now, I've excluded Winamp from DEP and everything's working fine, so it's not a really big deal. Technically I guess it's a bug though, so I thought I should let you know.

      Comment


      • #4
        Aha.. after a bit more searching I've found someone else with the same problem:

        Comment


        • #5
          heh, i remember that thread now. hmm, well when i ever get my copy of xp installed i'll have a look into fixing this somehow if i can (though i think i've found some info on what causes the issue but i can't test for certain at the moment).

          i've made a note of this and will check it out when it's feasible for me between work, etc

          -daz
          WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

          Comment


          • #6
            Hi DrO,

            Not having loads of hardware/software to test with are issues facing many devs out there, but they can be overcome by considering to provide your plugin as Open Source.

            I ran across the problem on my AMD64 system as well and it took forever to figure out why it wasn't working. When I did, I really wanted to have a look at the source and try and fix it.

            I know you might decide otherwise, but please consider it, a patch would certainly have been made by someone by now.

            Cheers

            Comment


            • #7
              DrO

              Are you using ATL/WTL, overwriting any memory or code in the OS's address space, or using some sort of thunking code that might jmp or call into memory allocated for a data structure?

              These all will make DEP unhappy.

              If you're doing thunking and doing it yourself, try using VirtualAlloc() and then VirtualProtect() to give yourself permission to execute in a data section.

              Comment


              • #8
                no atl/wtl in my stuff, all pure c/c++ and i'm using VirtualAlloc()/VirtualProtect() when i apihijack the DrawTextA() function (which i use the same code for a few other plugins and they don't have the issue). since i'm re-writing the plugin my guess is that i should find the issue out.

                elixxir: i can understand where you're coming from (and maybe one day i'll consider open sourcing it) but as the project has stood for a while, open sourcing wouldn't be beneficial since my code is a bit all over the place

                -daz
                WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

                Comment

                Working...
                X