Skip navigation.

exploreopera

| Help

Sign up | Help

function(p,a,c,k,e,r) de-mystify trick

,

If you ever came across code that starts
eval(function(p,a,c,k,e,r)

here's a small demonstration of how to turn that code into something sensible..

A word of warning: I'm experimenting with Wink for creating Flash screencast-type demonstrations. That means you agree to receive a 1.5 M .swf file of screenshots and text by clicking through to the post.

I haven't quite mastered Wink, some unintentional mouse movement might occur but anything in the spirit of experimentation.. Feel free to tell me in comments whether you like more of those Flash-based visual demonstrations or prefer the old-fashioned screenshot approach.










enforcing a stricter Flash security policycaptured in India

Comments

avatar
Seems the my.opera CSS enforces a maxwidth that makes things somewhat unreadable. I don't have time to tweak that now, here's a link to the HTML Wink itself wrapped the SWF in, which should show it correctly scaled:
http://www.hallvord.com/opera/unpack.htm

By hallvors, # 21. September 2007, 17:44:03

avatar
:up:
But it's mutch better to see this demo through Opera RSS reader. :wink:

By FataL, # 21. September 2007, 18:53:01

avatar
Other than being hard to read, I find this method of demonstrating to be very interesting and effective. However, I somewhat prefer old fashioned screenshots more, just so I can study each shot and see more of what is going on. I know this is a very simple demo, but for example you yahoo blog earlier would be hard to follow in a video imho.

By kyleabaker, # 21. September 2007, 19:20:25

avatar
My problem with this was also that the video continued without my interaction (I stopped it though when I saw the stop-button).

I kind of liked those flash tutorials that explain Opera functionality... they have a "next" button in the lower right corner imho.

"Normal" screenshots will do just fine, though :D


edit: Oh, nearly forgotten to add: I like this trick very much :smile: I have actually seen code like that and been unable to do anything with it (not that it was important).

By _Grey_, # 21. September 2007, 20:17:51

avatar
Wink is what I used for these visual tutorials: http://operawiki.info/visualtutorials — and yes you can add buttons that wait for the user before moving on which makes it easier to parse the information...

I've already made some buttons to use here: http://operawiki.info/MakingFlashTutorials

By non-troppo, # 21. September 2007, 23:47:40

avatar
I actually like text posts better. With this flash movie I wasn't always sure where to look and felt like I might miss stuff. And it went on pretty fast which didn't make it easier. With text+screenshots one can just take oneself more time.

By larskl, # 21. September 2007, 23:53:13

avatar
Thanks for the tip, although I hope something like this will be built into the Opera Dev Tools in the end. Not only for JS, but (X)HTML as well as CSS.

As I wrote about a long time ago, Firefox has an extension like this. It formats the source, and you can see the CSS applied to any element with it. Really helpful tool. Together with the CSSViewer you save yourself a lot of time.

Except that, I really hope you will show us more tricks of the trade Hallvord. This blog gets better every day!!!


- ØØ -

By NoteMe, # 22. September 2007, 00:17:12

avatar
Good trick! :up:

By scipio, # 22. September 2007, 07:36:21

avatar
Hm, thats a nice trick :smile:

I knew of CTRL+A, CTRL+C in alert boxes. It is terrible annoying that this does not work in other browsers!

By Smir, # 22. September 2007, 13:56:49

avatar
Good points on speed and interaction, thanks. Non-troppo, I will definititely look at your Wink resources :smile:

NoteMe: the "eval=alert" trick is somewhat beyond the scope of the Firefox tool (presuming it is a code beautifier only). This script is compressed in a way that means the original source code makes no sense, and you get source that makes sense to read only by actually running it. To see meaningful source here you'd need a combined JS debugger (to run the decompress routine and stop afterwards) and code beautifier (to format the generated scripts nicely).

By hallvors, # 22. September 2007, 20:07:22

avatar
I must have missed the point when I gave up on reading any of the words in the Flash file. Please don't tell me that you can? I can't handle going blind at this age.

Even though I can't read the code in the flash movie, I should have taken a hint if I had read the first line again and understood it was the "re-compilation"/interpretation you where on about. Neither the less, thanks for correcting me back to the stone age there.

Firefox do have an uneval function as well for some reason. Although I can't see much use for it except doubling the amount of Fuzzytest bugs++.


- ØØ -

By NoteMe, # 22. September 2007, 21:54:10

avatar
Actually this looks like Dean Edwards' Packer...

By _Grey_, # 23. September 2007, 01:28:38

avatar
My name Pham hai in vietnamese please contact with me at phamgiagia1992@yahoo.com

By phamgiagia, # 26. October 2007, 00:18:38

avatar
A firefox-compliant version is to add
var n=document.createElement('textarea');document.body.appendChild(n);eval=function(s){n.value+=s;};
instead. :smile:
http://www.arachnoid.com/arachnophilia/index.html contains a beautifier, and http://www.prettyprinter.de/ usually works just fine. What is it Hallvord is using? No public script I assume?

By Ohwzay, # 2. April 2008, 12:53:24

avatar
Haven't tried prettyprinter.de, if it can beautify, say, Y!Mail or GMail's JS libs I'll be quite impressed.
I mostly use ad-hoc stuff, I've written one PHP script that does a pretty good job at being a minimal JS pretty-printer - knows just enough syntax to parse it - and I'm going to make that public at some point. When I get around to it.

By hallvors, # 2. April 2008, 18:42:08

Write a comment

You must be logged in to write a comment. if you're not a registered member, please sign up.