Twenty-Four Pixels of Sweet, Sweet Sticking it to the Man
January 31, 2010 11:18 AM   Subscribe

How does one (or can one) spoof reported screen resolution from IE6 and up?

I am trying to set up some specialized software on my wife's netbook under WinXP. The software is browser-integrated, and when we point the netbook at the software supplier's website, it presents a 'minimum requirements not met' FAIL screen. I'm not mentioning the software or supplier because I am interested in violating their TOS in order to use the software and services.

The specific line item that produces the FAIL is the screen resolution:

Our netbook max is 1024x576. The reported min is 800x600. I strongly suspect we can deal with the missing 24 pixels without being bitchslap-denied by a large and liability averse-corporation.

If there is a way to get IE to report arbitrary spoofed values in the UserAgent string, I'm reasonably confident we can get past the FAIL screen. Any hints?
posted by mwhybark to Computers & Internet (9 answers total)
If you install Proxomitron, you can use it to change values in outgoing frames, such as the one that the browser uses to announce its resolution.
posted by Chocolate Pickle at 11:25 AM on January 31, 2010

Do you need javascript to use the site? If not I'd try disabling JS entirely and see what happens. AFAIK this isn't something in the UA string sent in headers its a Javascript function, you'd probably want to use something like Greasemonkey for IE to override the offending function.
posted by bitdamaged at 11:29 AM on January 31, 2010

Response by poster: Proximitron sounds interesting, but may be too complex for my user.

The target website uses BrowserHawk to gather and evaluate a whole bunch of info. Trying a no-JS approach is a good thought and I will do and report back.

Simply installing the Firefox addon User Agent Switcher completely defeats BrowserHawk, BUT, as noted, the screen.height and screen.width variables the browser is passing along are NOT in the User Agent, as I incorrectly assumed at first.

The host site certainly insists on IE, as that is part of the function BrowserHawk is performing. However, the service the site provides is in Java and may very well work fine with other browsers. In order to use the service, one must permit the browser-embedded program to install a hardware driver for a USB dongle which provides (presumably Bluetooth) connectivity to the manufacturer's device.

Without going into more detail, the device and services are technology offerings originating in a very large, very lucrative, and very inefficient sector of the American economy for which a comprehensive reform package is now stalled in Congress. So imagine output of the worst liability-avoidance bullshit and the longest, most bloated and user-unfriendly engineering process imaginable and you have a cutting-edge product which is just achieving critical mass in terms of user base, but which is completely unsupported on any Mac OS or any Windows OS after XP. As near as I can tell it was released with the XP restriction AFTER Microsoft stopped selling XP. Hurrah for American bureaucratic ingenutiy!
posted by mwhybark at 1:18 PM on January 31, 2010

Response by poster: yeah, turning off JS blocks the reported values, but the BH test does check for JS and reports the disabled status as a fail. It also treats the blocked values as fails.
posted by mwhybark at 1:23 PM on January 31, 2010

Best answer: Maybe there's another way: install display drivers than allow for an oversized screen resolution that you can pan around with the mouse?
posted by turkeyphant at 1:35 PM on January 31, 2010

Setting up Proxomitron is complicated. Once it's going, though, it's completely transparent. The only time the user will know it's there is if he tries to access a web site and the access times out. Then he gets a timeout screen from Proxomitron instead of from IE.
posted by Chocolate Pickle at 1:50 PM on January 31, 2010

By the way, another thing Proxomitron will do for you is allow you to watch all the HTTP traffic going both ways. There's a window you can open that shows it all as it's happening.

So if you don't know when or how the screen resolution is being transferred, you can copy all of the contents of that screen (cut/paste) into something like Notepad, and then do a string search for "576" and see where it shows up.
posted by Chocolate Pickle at 1:52 PM on January 31, 2010

Response by poster: turkeyphant, I'm all ears. Where might I obtain such a beast?

The onboard video appears to support the physical screen at up to 1024x576 as well as a second monitor. Without actually hooking the second monitor port up to anything, Windows sizing options for the theoretical second monitor go quite large, over 1440 in the long axis, so my suspicion is that the card has the horsepower needed.

Chocolate Pickle, I may do that.

Current possible workaround includes just hooking up the outboard and running the setup that way. In experimenting, we learned that the BrowserHawk verification features are invoked at every pageload, so we can't even just upload the data and access the information from our normal non-Win machines. MOTHERFUCKERS.
posted by mwhybark at 3:18 PM on January 31, 2010

Best answer: Turkeyphant had it.

In the display control panel, there's a checkbox to hide or display 'non-supported' resolutions. Enabling the 'non-supported' resolutions included the regular old faves such as 1024x768, and switching into that mode instantly enabled cursor-position-based virtual desktop sliding display mode.

BAM! I stick it to THEE, Intel, Lenovo, and that industry which-shall-not-be-named!
posted by mwhybark at 6:56 PM on February 1, 2010

« Older Should I buy an Ipod Touch or wait for the Ipad   |   Hey, kids! Let's put on a show! Newer »
This thread is closed to new comments.