Giter Site home page Giter Site logo

Injection vs Extraction about cape HOT 4 CLOSED

tsarpaul avatar tsarpaul commented on June 23, 2024
Injection vs Extraction

from cape.

Comments (4)

kevoreilly avatar kevoreilly commented on June 23, 2024

I've recently been combining these two modules into the base capemon - I'm still testing them but I've attached them in case you would like to try too. You can enable injection with the option injection=1 and extraction is just extraction=1. The distinction between them is basically inter-process vs 'intra-process' but the real reason they have been separated until now is that extraction uses debugger breakpoints and so was much more complex and error-prone to develop.

I am hoping soon to make the default to have all these enabled so as to minimise the need for multiple executions - I just need to see that they are stable enough to rely upon to work on the majority of samples without hindering the baseline analysis.

I wouldn't recommend the procmemdump feature as it's so crude but it's worth noting that this has been reimplemented and is now done in-monitor as opposed to by a separate process as in spender. I'd therefore be interested to know what you are patching to improve it.

There is a lot of power in the new 'DumpInterestingRegions' function, a lot of which can be tested with the option: verbose-dumping=1, so give that a try too.
capemon.zip

from cape.

tsarpaul avatar tsarpaul commented on June 23, 2024

I actually noticed at DumpInterestingRegions (https://github.com/kevoreilly/capemonv2/blob/master/CAPE/CAPE.c#L1657) the verbose_dumping check is done incorrectly:

 else if (!g_config.verbose_dumping && MemInfo.BaseAddress == CallerBase)
      {
          DoOutputDebugString("DumpInterestingRegions: Dumping calling region at 0x%p.\n", MemInfo.BaseA  ddress);

The condition should be "g_config.verbose_dumping && .." instead no?

from cape.

kevoreilly avatar kevoreilly commented on June 23, 2024

Ah this is intended as it's assumed that if verbose_dumping is set the calling region will already have been dumped with the first api call originating there, in hooking.c.

from cape.

kevoreilly avatar kevoreilly commented on June 23, 2024

The injection and extraction features have now been integrated into capemon and can be switched on with injection=1 and extraction=1 options respectively, and of course simultaneously. This should take care of this issue.

from cape.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.