Ghost.py - a webkit web client written in python.
jeanphix.me
jeanphix.me
* Cookie support (I see this is partially implemented)
* File download support
* Mouse movement API (move to pos X,Y - click)
* NSPlugins support (Flash, etc)
Of the latter ones, I cannot find a reference so I think they are not working yet. Once they are implemented, this is a nice alternative to PhantomJS.this is probably not what's happening. more likely, it's obfuscated for other reasons. curl doesn't parse or execute javascript.
Explains those NoScript people quite well.
What's very surprising is the "obfuscated eval" statement -- some term which ultimately evaluates to 'window' is queried for something crazy like:
w[(typeof 3)[4] + "va" + (document.body + "")[17]]
which ultimately is 'eval'. This is often combined with some sort of self-decrypting almost-binary-looking payload hidden in a div somewhere and requested by div.innerHTML. Replacing the "eval" with "console.log" can give you the decrypted payload, usually a redirect to another redirect to something which runs a Flash script, which is where my analysis stops.I am not sure why they do this. My first thought is "to prevent being automatically taken down by The Man", but The Man could afford to automatically dispose of a computer while monitoring its network traffic, rebooting from a fixed disk image like a LiveCD afterwards. So it shouldn't be too hard to automatically discover the domains, IPs, and malicious programs involved. I don't know why you'd obfuscate a redirection.
eval(function(p,a,c,k,e,d))...
I've seen them most commonly used in not-quite-so-legal streaming websites online where their biggest problem is blocking robots from scraping their site and losing their advertising revenue.I thought you are talking about something new.
[1] http://www.daftlogic.com/projects-online-javascript-obfuscat...
There is this streaming camera of the ocean that I check often, but it's Flash and I'd love to check it from my iPhone. Could Ghost.py be used to get the Flash video? (then turn it into images by other means). Thanks.
Good luck at it, though - seems the hard way to go about it.
Deleted comment
It powers Safari and Chrome, and a lot of smaller projects (mobile browsers, email clients, etc).
"Webkit" can refer to the browser (Apple's fork Safari, or a free version of Safari), the rendering engine (WebkitCore), or the rendering and javascript components (WebkitCore and JavaScriptCore).
Google uses WebkitCore (or maybe a fork) for rendering, but their own Javascript engine.
I'm guessing ghost.py uses WebkitCore and JavaScriptCore, so you can find out how a page will be seen by Safari (and probably Chrome, since Google's JS engine shouldn't be that different in the way it behaves).