-
Notifications
You must be signed in to change notification settings - Fork 5.8k
/
FileSystemBrowserPlugin.html
221 lines (161 loc) · 7.78 KB
/
FileSystemBrowserPlugin.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META name="generator" content=
"HTML Tidy for Java (vers. 2009-12-01), see jtidy.sourceforge.net">
<LINK rel="stylesheet" type="text/css" href="help/shared/DefaultStyle.css">
<TITLE>FileSystem Browser</TITLE>
</HEAD>
<BODY>
<H1>FileSystem Browser</H1>
<H2><A name="FileSystemBrowserIntroduction"></A>Introduction</H2>
<BLOCKQUOTE>
<P>The file system browser is a generic tool for browsing and accessing the contents of
filesystems or container files (such as zips, tars, firmware images, etc).</P>
</BLOCKQUOTE>
<H2>GHIDRA Tool File Menu Actions</H2>
<BLOCKQUOTE>
<H3><A name="Open_File_System"></A>Open File System</H3>
<BLOCKQUOTE>
<P>Opens a file system container file (ie. a zip, tar, iso, etc) in a new browser tree.<BR>
Subdirectories of your local computer's file system can also be opened in this manner.</P>
</BLOCKQUOTE>
</BLOCKQUOTE>
<H2>Right-click Context Menu Actions</H2>
<BLOCKQUOTE>
<H3><A name="FSB_Get_Info"></A>Get Info</H3>
<BLOCKQUOTE>
<P>Returns information about the selected file. Sometimes there will not be any available
information. Generally, this information is not that useful. It will mostly consist of
meta-data from the internal file system.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Expand_All"></A>Expand All</H3>
<BLOCKQUOTE>
<P>Expands all folders below, and including, the selected node.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Collapse_All"></A>Collapse All</H3>
<BLOCKQUOTE>
<P>Collapses all folders below, and including, the selected node.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Open_File_System_Nested"></A>Open File System</H3>
<BLOCKQUOTE>
<P>Attempts to open the selected file as a sub-file-system. If this operation succeeds, the
node will turn into a folder with one or more children. If this operation fails, the node
will remain a leaf node. This operation could fail for many reasons, but generally it fails
because the node does not represent a valid sub-file-system.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Open_File_System_In_New_Window"></A>Open File System in new window</H3>
<BLOCKQUOTE>
<P>Attempts to open the selected file as a sub-file-system. If this operation succeeds, a
new file system browsing tree will be shown with the contents of the selected file.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Open_Programs"></A>Open Program(s)</H3>
<BLOCKQUOTE>
<P>Opens the GHIDRA program(s) that correspond to the selected file(s). If no program in
the current GHIDRA project is linked to the selected file, you will be able to import the
selected file.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Import_Single"></A>Import</H3>
<BLOCKQUOTE>
<P>Imports the selected file into GHIDRA as new program in your current project.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Import_Batch"></A>Batch Import</H3>
<BLOCKQUOTE>
<P>Imports the selected file(s) into GHIDRA as new programs in your current project
using the Batch Import dialog.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Add_To_Program"></A>Add To Program</H3>
<BLOCKQUOTE>
<P>Adds the selected file into the currently active program.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Export"></A>Export</H3>
<BLOCKQUOTE>
<P>Writes a copy of the selected files to a directory you select on your local
computer.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Export_All"></A>Export All</H3>
<BLOCKQUOTE>
<P>Recursively copies the contents of a selected folder to a directory you select on your
local computer.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Add_Library_Search_Path"></A>Add Library Search Path</H3>
<BLOCKQUOTE>
<P>Adds the currently selected file or folder to the list of library search paths which
is used during program import.</P>
</BLOCKQUOTE>
<H3><A name="FSB_View_As_Image"></A>View As Image</H3>
<BLOCKQUOTE>
<P>Attempts to render the selected file as an image.</P>
</BLOCKQUOTE>
<H3><A name="FSB_View_As_Text"></A>View As Text</H3>
<BLOCKQUOTE>
<P>Attempts to render the selected file as an text.</P>
</BLOCKQUOTE>
<H3><A name="FSB_List_Mounted_Filesystems"></A>List Mounted File Systems</H3>
<BLOCKQUOTE>
<P>Displays a list of the file systems that are currently open and mounted. Selecting one
of the file systems will display that file system's browser tree.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Clear_Cached_Passwords"></A>Clear Cached Passwords</H3>
<BLOCKQUOTE>
<P>Clears any cached passwords that previously entered when accessing a password
protected container file.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Refresh"></A>Refresh</H3>
<BLOCKQUOTE>
<P>Refreshes the status of the selected items.</P>
</BLOCKQUOTE>
<H3><A name="FSB_Close"></A>Close</H3>
<BLOCKQUOTE>
<P>Closes the currently highlighted file system root node. The file system itself will not
be unmounted until all open browser windows to it are closed and a caching timeout period
has passed.</P>
</BLOCKQUOTE>
</BLOCKQUOTE>
<H2>Browser Dialog Actions</H2>
<BLOCKQUOTE>
<H3><A name="FSB_Open_File_System_Chooser"></A>Open File System Chooser</H3>
<BLOCKQUOTE>
<P>Opens a new file system container file in a new browser tree. This is the same as "File
| Open File System" in the main GHIDRA window.</P>
</BLOCKQUOTE>
</BLOCKQUOTE>
<H2><A name="PasswordDialog"></A>Password Dialog</H2>
<BLOCKQUOTE>
<P>This dialog is used to prompt for a password when opening a password protected container.</P>
<P>If the password isn't known, the <b>Cancel</b> button will stop Ghidra from re-prompting
for the password for the current file during the current operation (but the user may be
re-prompted again later depending on the logic of the operation), and <b>Cancel All</b>
will stop Ghidra from prompting for passwords for any file during the current operation.</P>
<P>Passwords can also be provided via a text file specified on the java command line, useful
for headless operations. See <b>ghidra.formats.gfilesystem.crypto.CmdLinePasswordProvider</b></P>
</BLOCKQUOTE>
<H2>How To Handle Unsupported File Systems</H2>
<BLOCKQUOTE>
<P>If you receive this message: <B>No file system provider for the selected file.</B><BR>
<BR>
It means one of the following two things:</P>
<OL>
<LI>The file you attempted to open as a file-system is actually NOT a file-system</LI>
<LI>GHIDRA does not have an implementation for that file-system</LI>
</OL>
<P>If the file does not really represent a file system, then you may want to try importing
it.<BR>
<BR>
Otherwise new file-systems can easily be written by implementing the
<CODE>ghidra.formats.gfilesystem.GFileSystem</CODE> interface.</P>
</BLOCKQUOTE>
<H2><A name="FileSystemBrowserKnownIssues"></A>Known issues</H2>
<BLOCKQUOTE>
<H3>Strong Crypto Support</H3>
<BLOCKQUOTE>
<P>Your Java JVM install may not have support for strong crypto currently installed.<BR>
<BR>
In order to fix this issue, you must install Oracle's "Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files"<BR>
<BR>
</P>
</BLOCKQUOTE>
</BLOCKQUOTE>
</BODY>
</HTML>