mirror of
https://github.com/mandiant/capa.git
synced 2025-12-23 07:28:34 -08:00
usage: more words
This commit is contained in:
72
doc/usage.md
72
doc/usage.md
@@ -1,35 +1,65 @@
|
|||||||
# capa usage
|
# capa usage
|
||||||
|
|
||||||
|
|
||||||
# command line
|
|
||||||
After you have downloaded the standalone version of capa or installed it via `pip` (see the [installation](installation.md) documentation) you can run capa directly from your terminal shell.
|
|
||||||
|
|
||||||
- `$ capa -h`
|
|
||||||
- `$ capa malware.exe`
|
|
||||||
|
|
||||||
In this mode capa relies on vivisect which only runs under Python 2.
|
|
||||||
|
|
||||||
## only run selected rules
|
|
||||||
Use the `-t` option to only run selected rules. This is the preferred method over specifying a rule path which fails if dependent rules reside in other directories.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
$ capa -t communication malware.exe
|
usage: capa [-h] [-r RULES] [-t TAG] [--version] [-j] [-v] [-vv] [-d] [-q]
|
||||||
|
[-f {auto,pe,sc32,sc64,freeze}]
|
||||||
|
sample
|
||||||
|
|
||||||
|
detect capabilities in programs.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
sample Path to sample to analyze
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
-r RULES, --rules RULES
|
||||||
|
Path to rule file or directory, use embedded rules by
|
||||||
|
default
|
||||||
|
-t TAG, --tag TAG Filter on rule meta field values
|
||||||
|
--version Print the executable version and exit
|
||||||
|
-j, --json Emit JSON instead of text
|
||||||
|
-v, --verbose Enable verbose result document (no effect with --json)
|
||||||
|
-vv, --vverbose Enable very verbose result document (no effect with
|
||||||
|
--json)
|
||||||
|
-d, --debug Enable debugging output on STDERR
|
||||||
|
-q, --quiet Disable all output but errors
|
||||||
|
-f {auto,pe,sc32,sc64,freeze}, --format {auto,pe,sc32,sc64,freeze}
|
||||||
|
Select sample format, auto: (default) detect file type
|
||||||
|
automatically, pe: Windows PE file, sc32: 32-bit
|
||||||
|
shellcode, sc64: 64-bit shellcode, freeze: features
|
||||||
|
previously frozen by capa
|
||||||
```
|
```
|
||||||
|
|
||||||
# IDA Pro
|
## tips and tricks
|
||||||
capa runs from within IDA Pro. Run `capa/main.py` via File - Script file... (ALT + F7).
|
|
||||||
|
|
||||||
When running in IDA, capa uses IDA's disassembly and file analysis as its backend. These results may vary from the standalone version that uses vivisect.
|
- [match only rules by given author or namespace](#only-run-selected-rules)
|
||||||
|
- [IDA Pro capa explorer](#capa-explorer)
|
||||||
|
- [IDA Pro rule generator](#rule-generator)
|
||||||
|
|
||||||
In IDA, capa supports Python 2 and Python 3. If you encounter issues with your specific setup, please open a new [Issue](https://github.com/fireeye/capa/issues).
|
### only run selected rules
|
||||||
|
Use the `-t` option to run rules with the given metadata value (see therule fields `rule.meta.*`).
|
||||||
|
For example, `capa -t william.ballenthin@mandiant.com` runs rules that reference Willi's email address (probably as the author), or
|
||||||
|
`capa -t communication` runs rules with the namespace `communication`.
|
||||||
|
|
||||||
## IDA Pro plugins
|
### IDA Pro integrations
|
||||||
capa comes with two IDA Pro plugins located in the `capa/ida` directory.
|
You can run capa from within IDA Pro. Run `capa/main.py` via `File - Script file...` (or ALT + F7).
|
||||||
|
When running in IDA, capa uses IDA's disassembly and file analysis as its backend.
|
||||||
|
These results may vary from the standalone version that uses vivisect.
|
||||||
|
IDA's analysis is generally a bit faster and more thorough than vivisect's, so you might prefer this mode.
|
||||||
|
|
||||||
### capa explorer
|
When run under IDA, capa supports both Python 2 and Python 3 interpreters.
|
||||||
|
If you encounter issues with your specific setup, please open a new [Issue](https://github.com/fireeye/capa/issues).
|
||||||
|
|
||||||
|
Additionally, capa comes with two IDA Pro plugins located in the `capa/ida` directory: the explorer and the rule generator.
|
||||||
|
|
||||||
|
#### capa explorer
|
||||||
The capa explorer allows you to interactively display and browse capabilities capa identified in a binary.
|
The capa explorer allows you to interactively display and browse capabilities capa identified in a binary.
|
||||||
|
As you select rules or logic, capa will highlight the addresses that support its analysis conclusions.
|
||||||
|
We like to use capa to help find the most interesting parts of a program, such as where the C2 mechanism might be.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### rule generator
|
#### rule generator
|
||||||
The rule generator helps you to easily write new rules based on the function you are currently analyzing in your IDA disassembly view.
|
The rule generator helps you to easily write new rules based on the function you are currently analyzing in your IDA disassembly view.
|
||||||
|
It shows the features that capa can extract from the function, and lets you quickly pull these into a rule template.
|
||||||
|
You'll still have to provide the logic structures (`and`, `or`, `not`, etc.) but the features will be prepared for you.
|
||||||
|
|||||||
Reference in New Issue
Block a user