question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Shellcode mode as an option within IDA plugin

See original GitHub issue

Summary

It would be useful if it were possible to run the IDA plugin against Shellcode within IDA. One potential place to add this option might be where we currently have file, function, basic block or somewhere else within settings.

Motivation

I noticed today whilst working on a shellcode sample that the Capa plugin within IDA threw the following error

[ERROR] Failed to extract capabilities from database (error: ('file format: %s', 'Binary file')) (form:load_capa_results)

I ran capa in -sc32 mode outside of IDA against the same sample and received a few results.

My current understanding is that this happens because shellcode is a different “mode” to Windows or ELF analysis. But if this is by the unexpected behavior when running the plugin against Windows x86 shellcode and it should actually just run then feel free to close this request.

Describe alternatives you’ve considered

Manually translating capa json output results into IDA by defining code at block locations matched as containing certain functionality.

Additional context

One sample that this applies to is the following

Warning, this sample is potentially malicious if ran

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:5

github_iconTop GitHub Comments

1reaction
mike-hunhoffcommented, Mar 21, 2022

This is addressed by #918. Please re-open if you continue to experience problems. Thank you!

0reactions
mike-hunhoffcommented, Mar 21, 2022

Our thoughts exactly. The expected behavior is for capa explorer to process PE, ELF, and binary files. We check the architecture (as seen by IDA) for all three file types to ensure 32- or 64-bit Intel.

To process shellcode a user can import as a binary file and set the architecture to 32- or 64-bit Intel. If a user sets the architecture to something like ARM or MIPS capa explorer should fail.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Reversing encoded shellcode [IDA debugging, tiny_tracer ...
In this video I will be showing encoded shellcode reversing in IDA with help of new feature of tiny_tracer tool.You can see very...
Read more >
Debugging Shellcode with Bochs and IDA Pro
I am using the Local Bochs Debugger along with IDA Pro to debug a shellcode. This shellcode disassembles properly in IDA Pro, however,...
Read more >
ida-plugins/README.md at main - GitHub
Dynlib: This is an IDA Pro plugin to aid in reverse engineering PS4 user mode elf's by loading the PS4 specific DYNLIBDATA segment....
Read more >
PDF file loader to extract and analyse shellcode - Hex Rays
This script (bios_image.idc) is installed with IDA Pro 5.6 in the loaders directory. Now that we know how to write a simple file...
Read more >
Shellcoding ARM: part 3 - Virus Bulletin
Analysing polymorphic ARM shellcode · Compile the shellcode wrapper and dump the shellcode to file with the IDAPython script provided. · Start a ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found