Questions tagged [dynamic-analysis]

Analysis of a piece of code by letting it run (fully or step-by-step) on a real system or in a virtualized environment, as opposed to static analysis.

Dynamic analysis code means letting it run, unconstrained or stepping through it, on a real system or in a virtualized environment. This is in contrast to the related .

Tools commonly used in dynamic analysis include debuggers of all kinds. GDB or WinDbg would be pure debuggers allowing for this. IDA Pro is somewhat of a swiss army knife for the reverse code engineer when it comes to as it allows one to use various kinds of debugger back ends, but also Bochs to emulate through bits and pieces of code ad hoc (the virtualized environment mentioned above).

Debugging subject code using the VMware workstation plugin in Eclipse or Visual Studio would be another example of using inside a virtualized environment.

Advantages

  • allows to analyze malware in-vitro, such as when analyzing a malware involving kernel mode code with livekd and WinDbg.
  • allows runtime encryptors or packers to unpack and see the unpacked code.
  • it allows to see actual values arriving at points of interest, something that cannot be achieved in .

Disadvantages

  • the subject code could escape, which is particularly bad when analyzing malware.
  • anti-debugging tricks can make the code behave differently from how it would usually behave.
  • the code may have certain requirements to run which cannot be fulfilled under a debugger, dooming this approach to failure from the very start.
147 questions
9
votes
1 answer

What is MSR Tracing?

I was reading a old blog post on OpenRCE that mentions MSR tracing in the context of binary only profiling and coverage. The only Google hits for this term are a few emails on the Xen mailing list that I am not able to understand. What is MSR…
user2142
  • 1,537
  • 2
  • 14
  • 17
7
votes
4 answers

Where can someone interested in the topic learn more about Dynamic binary instrumentation?

Generally, it's a complex topic. There seems to be very little in the way of example or linear progression in to non-trivial examples. It's possible my google-fu is weak, but I can't seem to locate decent tutorials on using binary instrumentation…
RobotHumans
  • 563
  • 2
  • 16
6
votes
1 answer

Use of SSA (Single Static Assignment) while dynamic analysis

I have read that dynamic instrumentation can be done using tools like PIN or Valgrind. However Valgrind provides intermediate representation and converts the binary into SSA which makes it more convenient to perform binary analysis. Could anyone…
user1004985
  • 163
  • 4
3
votes
0 answers

Are there sampling profilers for stripped binaries?

I have a stripped binary in which I need to find the code for a particular function. I can run the binary on input which will make it spend a significant percentage of CPU time in that function. Maybe 5%-10% and the app is multi threaded. So I can…