views:

2415

answers:

3

The Problem:

You have dual monitors set up and view a Flash video (Let's say any YouTube video) in full screen mode in one of the monitors. If you work on the other monitor, the video would exit the full screen mode. Therefore, you cannot work while watching video in fullscreen mode.

The Solution:

A Google search yields this brilliant solution. http://www.youtube.com/watch?v=qwH_-C2-93E Basically, it changes the byte value at the address of '0x136340' from '74' to 'EB' of the DLL below, and it did the trick!

C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dll (for Flash v10 only)

The Question:

Why would this solution fix this issue? What does it really do by changing the byte value?

Thank you all in advance!

+3  A: 

I bet it changes if(someting) {...} to if(0) {...}.

I guess it prevents code that would exit the full screen if there's a switch to another window from working, ever.

alamar
A: 

It could like alamar states, simply change the condition of an if statement.

Though I find it more likely that its the address for at goto statement, so the code for exiting fullscreen is bypassed.

In any case, the effect is pretty much the same. Without being an expert, I just think the other think is easier to make. But there is properly someone else on StackOverflow that can tell you for sure.

Lillemanden
if statement is goto, goto is if statement.
alamar
+1  A: 

Update: So I have checked, and it works because it is replacing a conditional jump with an unconditional jump.

I believe it is a goto.

I've written this to automatically 'hack' various versions of flash (saving you the trouble of breaking out a hex editor) http://jmaxxz.com/index.php?option=com_content&view=article&id=89:flashhacker&catid=16:downloads&Itemid=32

jmaxxz
@jamxxz: Pretty cool! +1
Ryan Liang