インストール済みのアドオンはプロファイル フォルダのextensions/フォルダ※1 に、xpiファイル※2 として保存されています。このファイルの実体はzipファイルであるため、拡張子をxpiからzipに変更することで、圧縮ファイルとして展開できるようになります。アドオンのソースやリソースは、そこにあります。≫XPIパッケージング
※1 グローバル インストールされたアドオンのインストール場所は異なります。インストールされていないアドオンのソースについては、まずAdd-ons for Firefoxからそのアドオンのページを開きます。そして[Add to Firefox]のボタンを右クリックしてリンク先を保存することで、インストールせずにソースをダウンロードできます。
xpiファイルの展開後のchromeフォルダにjarという拡張子のファイルがある場合には、それも圧縮ファイルです。これはJARと呼ばれる圧縮ファイルで、これもxpiファイルと同様に拡張子をzipに変更することで展開できます。
xpiファイルの名前は、アドオンIDで表示されます。
ファイル名からアドオンが推定できないときには、ファイルを展開した後にinstall.rdfを開きます。そして<em:name>を探すことで、アドオン名を確認できます。またはaboutプロトコルのabout:support (トラブルシューティング情報) の[拡張機能]の項目で、アドオンの名前とIDを一覧できます。

| アドオン名 | アドオンID | 
|---|---|
| NoScript | 73a6fe31-595d-460b-a920-fcc0f8843232 | 
| Adblock Plus | d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d | 
Java Consoleなどの一部のアドオンは、通常とは異なる場所にインストールされます。それらのアドオンは、Firefoxのインストール フォルダのextensionsフォルダにあります。アドオンを削除できない | Firefox ヘルプ
ファイルを展開せずとも、ブラウザツールボックスならば直接コードを閲覧できます。アドオンのソースコードを特定するにはChrome URIを把握している必要がありますが、スクリプトフィルタでアドオンの名前を入力すれば、 たいていそれを発見できます。
デバッガではブレークポイントを設定できるので、より詳細にアドオンを調べられます。
Add-ons for Firefoxからアドオンのxpiファイルをダウンロードすることで、インストールしていないアドオンのソースも入手できます。
それにはアドオンのインストール ページで[Firefoxへ追加]を右クリックし、[名前を付けてリンク先を保存 (Save Link As)]を実行します。そうすることで、xpiファイルをダウンロードできます。

この方法ならば、互換性がなくインストールできないアドオンのソースも入手できます。
たとえばフォルダ構成が次のようになっているとすると、
:.
|
\---chrome
|   +---content
|   |
|   +---locale
|   |   +---en-US
|   |   |
|   |   \---ja
|   |
|   \---skin
|       \---classic
|
+---components
|
+---defaults
|   \---preferences
|
\---platform
    \---WINNT
			これらのフォルダは以下の意味を持ちます。
| フォルダ | 説明 | |||
|---|---|---|---|---|
| ルート | 
 
 | |||
| chrome | UI要素のセット 
 | |||
| + | content※1 | UIの構造と振る舞い
						(ユーザー設定なども含む) 
 ※3 CSSは、通常skinフォルダに配置します。 | ||
| locale※1 | UIの地域化 | |||
| + | en-US | 英語 (合衆国) | ||
| ja | 日本語 
 | |||
| skin※1 | UIのスキン。CSSやアイコンの画像など | |||
| + | classic | 標準テーマのスキン 
 | ||
| components | 
 | |||
| defaults | 既定の設定 | |||
| + | preferences | ユーザー設定の既定値 
 | ||
| platform | プラットフォーム依存のコンポーネント | |||
| + | WINNT | WINNT用のコンポーネント | ||
フォルダの構成は、必ずしも上記の通りではありません。
+---{73a6fe31-595d-460b-a920-fcc0f8843232}
|   |   chrome.manifest
|   |   GPL.txt
|   |   install.rdf
|   |   mozilla.cfg
|   |   NoScript_License.txt
|   |
|   +---chrome
|   |   \---noscript
|   |       +---content
|   |       |   \---noscript
|   |       |           ABE.g
|   |       |           ABE.js
|   |       |           ABELexer.js
|   |       |           ABEParser.js
|   |       |           about.xul
|   |       |           antlr.js
|   |       |           ASPIdiocy.js
|   |       |           ChannelReplacement.js
|   |       |           clearClick.js
|   |       |           clearClick.xul
|   |       |           ClearClickHandler.js
|   |       |           ClearClickHandlerLegacy.js
|   |       |           Cookie.js
|   |       |           DNS.js
|   |       |           DOM.js
|   |       |           ExternalFilters.js
|   |       |           frameOptErr.xhtml
|   |       |           HTTPS.js
|   |       |           iaUI.js
|   |       |           Lang.js
|   |       |           noscript.js
|   |       |           noscript.xbl
|   |       |           noscriptBM.js
|   |       |           noscriptBMOverlay.xul
|   |       |           noscriptOptions.js
|   |       |           noscriptOptions.xul
|   |       |           noscriptOverlay.js
|   |       |           noscriptOverlay.xul
|   |       |           NoScript_License.txt
|   |       |           options-mobile.xul
|   |       |           overlay-mobile.xul
|   |       |           PlacesPrefs.js
|   |       |           Plugins.js
|   |       |           Policy.js
|   |       |           Profiler.js
|   |       |           Removal.js
|   |       |           RequestWatchdog.js
|   |       |           ScriptSurrogate.js
|   |       |           Strings.js
|   |       |           STS.js
|   |       |           URIValidator.js
|   |       |
|   |       +---locale
|   |       |   +---en-GB
|   |       |   |   \---noscript
|   |       |   |           about.properties
|   |       |   |           noscript.dtd
|   |       |   |           noscript.properties
|   |       |   |
|   |       |   +---en-US
|   |       |   |   \---noscript
|   |       |   |           about.properties
|   |       |   |           noscript.dtd
|   |       |   |           noscript.properties
|   |       |   |
|   |       |   +---ja-JP
|   |       |   |   \---noscript
|   |       |   |           about.properties
|   |       |   |           noscript.dtd
|   |       |   |           noscript.properties
|   |       |   |
|   |       \---skin
|   |           \---classic
|   |               \---noscript
|   |                       abe16.png
|   |                       about.css
|   |                       block.wav
|   |                       browser.css
|   |                       close.png
|   |                       console16.png
|   |                       content.css
|   |                       ef-no16.png
|   |                       ef16.png
|   |                       emb16.png
|   |                       embed-no16.png
|   |                       embed16.png
|   |                       faq16.png
|   |                       flash16.png
|   |                       flash32.png
|   |                       folder_closed.png
|   |                       folder_open.png
|   |                       font.png
|   |                       glb-emb16.png
|   |                       glb-no16.png
|   |                       glb16.png
|   |                       https16.png
|   |                       ia.png
|   |                       icon24.png
|   |                       icon32.png
|   |                       icon64.png
|   |                       icon80.png
|   |                       inactive-emb16.png
|   |                       inactive-glb16.png
|   |                       inactive-no-emb16.png
|   |                       inactive-no16.png
|   |                       inactive-prt16.png
|   |                       inactive-yes16.png
|   |                       inactive-yu16.png
|   |                       java16.png
|   |                       java32.png
|   |                       mobile.css
|   |                       no-emb16.png
|   |                       no16.png
|   |                       options.css
|   |                       prt16.png
|   |                       redirect16.png
|   |                       revtemp16.png
|   |                       somelight16.png
|   |                       somelight32.png
|   |                       subprt16.png
|   |                       temp16.png
|   |                       unsafe-reload16.png
|   |                       untrusted-glb16.png
|   |                       untrusted16.png
|   |                       webgl16.png
|   |                       webgl32.png
|   |                       xss16.png
|   |                       yes16.png
|   |                       yu-emb16.png
|   |                       yu-glb16.png
|   |                       yu16.png
|   |
|   +---components
|   |       noscriptService.js
|   |
|   +---defaults
|   |   \---preferences
|   |           noscript.js
|   |
|   \---META-INF
|           manifest.mf
|           zigbert.rsa
|           zigbert.sf
			NoScript Security Suite :: Add-ons for Firefox
		+---firegestures@xuldev.org | | chrome.manifest | | FireGestures.idl | | icon.png | | icon64.png | | install.rdf | | LICENSE.txt | | | +---chrome | | +---content | | | \---firegestures | | | browser.js | | | browser.rdf | | | browser.xul | | | edit.js | | | edit.xul | | | prefs-generic.xul | | | prefs.js | | | prefs.xul | | | viewSource.js | | | viewSource.rdf | | | viewSource.xul | | | | | +---locale | | | | BZ_localized.txt | | | | | | | +---en-US | | | | \---firegestures | | | | firegestures.properties | | | | mapping.dtd | | | | prefs.dtd | | | | | | | +---ja | | | | \---firegestures | | | | firegestures.properties | | | | mapping.dtd | | | | prefs.dtd | | | | | | | \---zh-TW | | | \---firegestures | | | firegestures.properties | | | mapping.dtd | | | prefs.dtd | | | | | \---skin | | \---classic | | \---firegestures | | icon.png | | prefs.css | | prefs.png | | | +---components | | FireGestures.xpt | | xdGestureHandler.js | | xdGestureMapping.js | | xdGestureService.js | | | \---defaults | \---preferences | firegestures-prefs.jsFireGestures :: Add-ons for Firefox
+---nosquint@urandom.ca | | chrome.manifest | | icon.png | | icon64.png | | install.rdf | | | +---chrome | | nosquint.jar | | | +---components | | about-handler.js | | | \---defaults | \---preferences | nosquint.jsNoSquint :: Add-ons for Firefox
+---{26FD1F83-A45B-4c74-AF5A-F2EE0EE4D691}
|   |   chrome.manifest
|   |   install.rdf
|   |
|   +---chrome
|   |       highlightall.jar
|   |
|   \---defaults
|       \---preferences
|               highlightall_pref.js
			HighlightAll :: Add-ons for Firefox
		
+---{D4DD63FA-01E4-46a7-B6B1-EDAB7D6AD389}
|   |   chrome.manifest
|   |   downbarPackage.jar
|   |   install.rdf
|   |   license.txt
|   |
|   +---components
|   |       downbar.js
|   |
|   \---defaults
|       \---preferences
|               downbarconfig.js
			Download Statusbar :: Add-ons for Firefox
		Firefoxに同梱されているツール類は、Firefoxのインストール フォルダのbrowser\omni.jaにまとめられています。これも圧縮ファイルですので、拡張子をzipに変更することで展開できます。
Firefox 21.0では、以下のフォルダ構成となっています。
C:.
+---chrome
|   +---browser
|   |   +---content
|   |   |   +---branding
|   |   |   \---browser
|   |   |       +---abouthealthreport
|   |   |       +---abouthome
|   |   |       +---bookmarks
|   |   |       +---certerror
|   |   |       +---devtools
|   |   |       |   +---framework
|   |   |       |   +---inspector
|   |   |       |   +---layoutview
|   |   |       |   \---profiler
|   |   |       |       \---cleopatra
|   |   |       |           +---css
|   |   |       |           +---images
|   |   |       |           \---js
|   |   |       +---downloads
|   |   |       +---feeds
|   |   |       +---history
|   |   |       +---migration
|   |   |       +---newtab
|   |   |       +---pageinfo
|   |   |       +---places
|   |   |       +---preferences
|   |   |       |   \---in-content
|   |   |       +---search
|   |   |       \---sync
|   |   \---skin
|   |       \---classic
|   |           +---aero
|   |           |   \---browser
|   |           |       +---devtools
|   |           |       |   \---breadcrumbs
|   |           |       +---downloads
|   |           |       +---feeds
|   |           |       +---newtab
|   |           |       +---places
|   |           |       +---preferences
|   |           |       |   \---in-content
|   |           |       +---social
|   |           |       +---tabbrowser
|   |           |       \---tabview
|   |           +---browser
|   |           |   +---devtools
|   |           |   |   \---breadcrumbs
|   |           |   +---downloads
|   |           |   +---feeds
|   |           |   +---newtab
|   |           |   +---places
|   |           |   +---preferences
|   |           |   |   \---in-content
|   |           |   +---social
|   |           |   +---tabbrowser
|   |           |   \---tabview
|   |           \---communicator
|   +---ja
|   |   \---locale
|   |       +---branding
|   |       +---browser
|   |       |   +---devtools
|   |       |   +---downloads
|   |       |   +---feeds
|   |       |   +---migration
|   |       |   +---places
|   |       |   +---preferences
|   |       |   \---safebrowsing
|   |       +---browser-region
|   |       +---feedback
|   |       \---pdfviewer
|   \---pdfjs
|       +---components
|       \---content
|           +---build
|           \---web
|               \---images
+---components
+---defaults
|   +---preferences
|   \---profile
|       \---chrome
+---jsloader
|   \---resource
|       \---app
|           +---components
|           \---modules
|               +---devtools
|               +---sessionstore
|               \---tabview
\---modules
    +---devtools
    +---sessionstore
    \---tabview