Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Render mode showing capas per function #377

Closed
mr-tz opened this issue Dec 3, 2020 · 5 comments
Closed

Render mode showing capas per function #377

mr-tz opened this issue Dec 3, 2020 · 5 comments
Labels
enhancement New feature or request gsoc Work related to Google Summer of Code project. usability Related to using capa and displaying results (CLI/GUI)

Comments

@mr-tz
Copy link
Collaborator

mr-tz commented Dec 3, 2020

Motivation

This can help to better understand what happens in individual functions. Do this for all capas and/or for "complex" functions with various hits. Example output:

<function va 1>
  - <capa 1>
  - <capa 2>
<function va 2>, <function va 3>, ...
  - <capa 3>
...

Example for PMA Lab 4:

$ capa Practical\ Malware\ Analysis\ Lab\ 01-04.exe_ -vf
0x4011FC
 create process
 extract resource via kernel32 functions
 get common file path
 write file

0x401350
 get common file path
 link function at runtime
 move file

0x401174
 acquire debug privileges
 bypass Windows File Protection
 link function at runtime

0x4010FC
 modify access privileges

For extra bonus could also display referenced strings in these functions.

@mr-tz mr-tz added the enhancement New feature or request label Dec 3, 2020
@mr-tz
Copy link
Collaborator Author

mr-tz commented Dec 3, 2020

See https://github.com/fireeye/capa/blob/master/scripts/show-capabilities-by-function.py

function at 0x4010FC with 38 features:
  - modify access privileges
function at 0x401174 with 40 features:
  - link function at runtime
  - bypass Windows File Protection
  - acquire debug privileges
function at 0x4011FC with 65 features:
  - get common file path
  - extract resource via kernel32 functions
  - write file
  - create process
function at 0x401350 with 76 features:
  - get common file path
  - move file
  - link function at runtime

Is it worth rolling this into main so it's available from the standalone version?

@williballenthin
Copy link
Collaborator

my only concern is the potential explosion of cli arguments (that few people will ever study) for all the possible ways of rendering data. by keeping the script separate, we can encourage people to build their own integrations and views into capa data.

@mr-tz
Copy link
Collaborator Author

mr-tz commented Dec 4, 2020

Right, this may be better suited for capa explorer and other interactive JSON display modes.

@williballenthin
Copy link
Collaborator

the explorer has this rendering mode and it is helpful.

@mr-tz mr-tz added gsoc Work related to Google Summer of Code project. usability Related to using capa and displaying results (CLI/GUI) labels May 22, 2024
@mr-tz
Copy link
Collaborator Author

mr-tz commented Jun 27, 2024

closing since we favor #2162

@mr-tz mr-tz closed this as completed Jun 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request gsoc Work related to Google Summer of Code project. usability Related to using capa and displaying results (CLI/GUI)
Projects
Status: Done
Development

No branches or pull requests

2 participants