Last Comment Bug 604302 - Windows DLL blocklist support for Windows x64
: Windows DLL blocklist support for Windows x64
Status: RESOLVED FIXED
:
Product: Firefox
Classification: Client Software
Component: General (show other bugs)
: Trunk
: x86_64 Windows Vista
: -- normal with 2 votes (vote)
: Firefox 6
Assigned To: Makoto Kato [:m_kato]
:
:
Mentors:
Depends on: 652747
Blocks: tracking_win64 606473 637123
  Show dependency treegraph
 
Reported: 2010-10-14 00:21 PDT by Makoto Kato [:m_kato]
Modified: 2011-05-11 09:16 PDT (History)
6 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
WIP v0.1 (5.38 KB, patch)
2010-10-18 19:40 PDT, Makoto Kato [:m_kato]
no flags Details | Diff | Splinter Review
fix v1 (7.96 KB, patch)
2010-12-10 02:37 PST, Makoto Kato [:m_kato]
vladimir: review+
Details | Diff | Splinter Review
fix v2 (6.83 KB, patch)
2011-02-18 00:18 PST, Makoto Kato [:m_kato]
vladimir: review+
Details | Diff | Splinter Review

Description Makoto Kato [:m_kato] 2010-10-14 00:21:49 PDT
Bug 524904 is for x86 only.  To support blocklist support for x64, we need implement this.
Comment 1 Makoto Kato [:m_kato] 2010-10-18 19:40:23 PDT
Created attachment 484211 [details] [diff] [review]
WIP v0.1

- add detect mov instruction
Comment 2 Makoto Kato [:m_kato] 2010-12-10 02:37:19 PST
Created attachment 496783 [details] [diff] [review]
fix v1

It works on Vista.  After testing on Win7, I send a review
Comment 3 Vladimir Vukicevic [:vlad] [:vladv] 2010-12-14 12:28:11 PST
Comment on attachment 496783 [details] [diff] [review]
fix v1

Hmm, looks fine; I didn't look into the instruction decode in detail, though.  Also, I assume that the assumption we're making is that the PULONG argument showed up on 64-bit systems, and that on 32-bit it doesn't matter?
Comment 4 Makoto Kato [:m_kato] 2010-12-15 03:11:41 PST
(In reply to comment #3)
> Comment on attachment 496783 [details] [diff] [review]
> fix v1
> 
> Hmm, looks fine; I didn't look into the instruction decode in detail, though. 
> Also, I assume that the assumption we're making is that the PULONG argument
> showed up on 64-bit systems, and that on 32-bit it doesn't matter?

When disassembling LdrLoadDll on Win7, 2nd parameter uses as 64-bit (PULONG is 64-bit).  If using ULONG instead, flag comparing may be fail since upper 32bit is garbage.
Comment 5 Makoto Kato [:m_kato] 2011-02-18 00:18:38 PST
Created attachment 513396 [details] [diff] [review]
fix v2

we should not use RAX becuase RAX is used by syscall, so injecting TrackPopupMenu doesn't work well.
Comment 6 Makoto Kato [:m_kato] 2011-04-24 23:19:06 PDT
http://hg.mozilla.org/mozilla-central/rev/c062731105cf

Note You need to log in before you can comment on or make changes to this bug.