[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

(nobody)

8/10/2011 9:29:00 PM

"Mayayana" <mayayana@invalid.nospam> wrote in message
news:j1urpe$846$1@dont-email.me...
> Mime filter project:
>
> It's worked fine on XP but now testing on XP IE8
> with NTFS file system and on Win7 with IE8. In
> both cases the DLL loads, but crashes. In IE8
> on XP NTFS I got an error 5 with this as the
> error line:
>
> movzx dx,byte ptr [ecx+eax]
>
> I'm wondering if I might be running afoul of DEP. I
> keep DEP disabled on my own system, but haven't
> made any changes on the other systems.
>
> The only culprit I can think of is the use of
> ReplaceVTableEntry to redirect vTable pointers.
> But there's no assembly involved, so I don't see
> where I'd be executing from a data address.
>
> Any thoughts from the C++ crowd?

Try calling VirtualQuery(), then set PAGE_EXECUTE_READWRITE on the call to
VirtualProtect(), then restore the original value.


3 Answers

(nobody)

8/10/2011 9:37:00 PM

0

"Nobody" <nobody@nobody.com> wrote in message
news:j1ut7q$1sb$1@speranza.aioe.org...
> Try calling VirtualQuery(), then set PAGE_EXECUTE_READWRITE on the call to
> VirtualProtect(), then restore the original value.

You also need to call FlushInstructionCache() afterward.


Mayayana

8/10/2011 11:03:00 PM

0

Thanks. I'll have to look those up. They're unfamilar
to me. With further research it looks like I might just
have an old-fashioned oversight in calling CopyMemory.
Some pages crash. Others don't. But it never happens
on my main box, so I guess there has to be some
other factor.

| > Try calling VirtualQuery(), then set PAGE_EXECUTE_READWRITE on the call
to
| > VirtualProtect(), then restore the original value.
|
| You also need to call FlushInstructionCache() afterward.
|
|


Mayayana

8/21/2011 9:40:00 PM

0

I finally got around to trying this. No luck. I doubted
it would help. VirualProtect returns the same access
protection value that VirtualQuery gets, and from
what I can find, FlushInstructionCache is a mainly
outdated function only useful with multi-core
processors whem function code is cached.

What I do know now, though, is that Win7 has a lot
of problems with browser extensions. The problem of IE
crashing with a message of "Internet Explorer has stopped
working" has been caused by Google toolbar, among others.
IE8 on XP is OK. But IE8 on Win7 crashes. If I remove my
mime filter Registry entry it's fine. Oddly, though, I also
have a browser extension as part of the package, and
that works fine. The only problem is the mime filter on
Win7. And the protected mode setting in Win7 IE has no
effect.

I ran ProcMon and can't see any sign of issues. IE loads
my extension and mime filter without problem. But then
after a few seconds it crashes.

I'm posting this explanation in hopes that it might ring
a bell for someone. I've found a lot online about people
getting the "Internet Explorer has stopped working"
message, but mostly people are only coming up with the
"solution" of disabling browser extensions.