What's New!

Chat with
Hackers

How to Defend
Your Computer 

The Guides
to (mostly) 
Harmless Hacking

Happy Hacker 
Digests (old stuff) 

Hacker Links 

Hacker
Wargames 

Meet the 
Happy Hacksters 

Help for 
Beginners 

Hacker 
Bookstore 

Humor 

It Sucks 
to Be Me!

How to Commit
Computer Crime (not)! 

What Is a 
Hacker, Anyhow? 

Have a 
Great Life! 

News from the 
Hacker War Front

More Fun with Firefox

Here's another cool file, chrome://global/content/xul.css, which I discovered with a hex editor and put into the URI window. This one also turned out to be located inside the file
C:/Program%20Files/Mozilla%20Firefox/chrome/toolkit.jar.

Here's some of what I found in the file xul.css:

/** this should only contain XUL dialog and document window widget
defaults. Defaults for widgets of a particular application should be
in that application's style sheet. For example style definitions for
navigator can be found in navigator.css

THIS FILE IS LOCKED DOWN. YOU ARE NOT ALLOWED TO MODIFY IT WITHOUT
FIRST HAVING YOUR CHANGES REVIEWED BY mconnor@steelgryphon.com
**/

@namespace
url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* set default namespace to XUL */
@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for
HTML elements */
@namespace xbl url("http://www.mozilla.org/xbl"); /* namespace for XBL
elements */

* {
-moz-user-focus: ignore;
-moz-user-select: -moz-none;
display: -moz-box;
}

/* hide the content and destroy the frame */
*[hidden="true"] {
display: none;
}

/* hide the content, but don't destroy the frames */
*[collapsed="true"],
*[moz-collapsed="true"] {
visibility: collapse;
}

/* ::::::::::
:: Rules for 'hiding' portions of the chrome for special
:: kinds of windows (not JUST browser windows) with toolbars
::::: */

(End of snippet of this file)

Here's a little bit about how to read this file. Anything that appears between /* and */ is a comment. Comments are notes a programmer writes to explain his or her source code to a human. The computer ignores comments when it runs a program.

Does that stuff about "THIS FILE IS LOCKED DOWN" intimidate you? Heh, heh, what if you were to change it yourself? I dare you! You would have to stick it back into the Java .jar file. Would it then run, or is there some way Firefox could detect that you changed it? Don't email me asking what would happen. You're a hacker, right? Try it
yourself!

Well, what is stopping you from changing this program? It's located on your own hard drive, and Firefox is free for anyone to change, according to what it says about being a GNU licensed program on the "about:" page.

Robin Sheats adds that I was in error in an earlier version of this Guide when I called it a Java program.

"It's a CSS file. Anyone with a reasonable amount of web CSS programming should be able to make some headway in understanding the contents of this file. However, it doesn't style HTML, it styles XUL. XUL is an XML-based user-interface language. That's how all the user interface stuff in Firefox and Mozilla are written, and it's what makes it easy to do things like write plugins, too.

"If anyone is curious, this is what Java looks like (from an open source Java
program I wrote): (Click here for the link)

"I would also like to see more uses of XUL out there, it's a really good idea. For those who don't know, XUL is basically a user-interface language. XUL code describes a user interface like HTML describes a page (in fact, from a distance they actually look somewhat similar). You tie that in with Javascript to give it behaviour. It's a great way to do applications where the user just has to go to a URL. A great demo is this :http://www.faser.net/mab/chrome/content/mab.xul (will only work in Firefox, and probably Mozilla. Duh :)

"Finally, the easiest way to mess with firefox settings is to simply type 'about:config' into the URI bar. It gives you a huge list of settings. Be aware that changing some of these may make firefox behave badly, so remember what you changed and what they were originally in case you need to change them back."

Carolyn again here: Be sure to have no spaces in "about:config" or it won't work. If you double click on a config item you get a box that allows you to type in soemthing different. You get more options if you right click: copy name, copy value, new (which in turn gives the options of string, integer or Boolen, eithert modify or toggle -- and for those of use who really mess up Firefox playing with about:config -- reset!

OK, now we can finally discuss how to find those .png files and alter them. The best one of them all is the Firefox brand image itself. You see it at the top of the page when you type about: in the URI window. However, finding where it is stored is not so simple. Normally you can find the location of an image by right clicking on it and choosing "view image." In the case of the Firefox brand image, this doesn't work. However, by poking around the page source for the about: page, I found that the page called up the image with the command "chrome://branding/content/about.png". I placed this inside the URI window and then did a view page source command. This revealed that the Firefox brand image, too, is stored inside /chrome/toolkit.jar.

How You Can Become a Mozilla Volunteer Programmer


Are you ready for the big time? If you can program in C or Java, and if you love to discover and fix bugs, or to write new features, you can submit your changes to Firefox to the Mozilla team. You can read about how to work with them at http://www.mozilla.org/developer/

Happy hacking!

Where are those back issues of GTMHHs? Check out the official Happy Hacker Web page at http://www.happyhacker.org.

We are against computer crime. We support good, old-fashioned hacking of the kind that led to the creation of the Internet and a new era of freedom of information. But we hate  computer crime. So don't email us about any crimes you may have committed or may want to commit!


Back to the Guides to (mostly) Harmless Hacking --->>  
Carolyn's most
popular book,
in 4th edition now!
For advanced
hacker studies,
read Carolyn's
Google Groups
Subscribe to Happy Hacker
Email:
Visit this group

© 2013 Happy Hacker All rights reserved.