Skip to content

m5050/tiny_tracer

 
 

Repository files navigation

tiny_tracer

GitHub release

A Pin Tool for tracing:

  • API calls
  • selected instructions: RDTSC, CPUID
  • transition between sections of the traced module (helpful in finding OEP of the packed module)

Bypasses the anti-tracing check based on RDTSC.

Generates a report in a .tag format (which can be loaded into other analysis tools):

RVA;traced event

i.e.

345c2;section: .text
58069;called: C:\Windows\SysWOW64\kernel32.dll.IsProcessorFeaturePresent
3976d;called: C:\Windows\SysWOW64\kernel32.dll.LoadLibraryExW
3983c;called: C:\Windows\SysWOW64\kernel32.dll.GetProcAddress
3999d;called: C:\Windows\SysWOW64\KernelBase.dll.InitializeCriticalSectionEx
398ac;called: C:\Windows\SysWOW64\KernelBase.dll.FlsAlloc
3995d;called: C:\Windows\SysWOW64\KernelBase.dll.FlsSetValue
49275;called: C:\Windows\SysWOW64\kernel32.dll.LoadLibraryExW
4934b;called: C:\Windows\SysWOW64\kernel32.dll.GetProcAddress
...

How to build?

🚧 To compile the prepared project you need to use Visual Studio >= 2012. It was tested with Intel Pin 3.19 and 3.20.
Clone this repo into \source\tools that is inside your Pin root directory. Open the project in Visual Studio and build. Detailed description available here.

📖 More details about the usage you will find on the project's Wiki.

WARNING

In order for Pin to work correctly, Kernel Debugging must be DISABLED.

About

A Pin Tool for tracing API calls etc

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 91.0%
  • Batchfile 7.1%
  • VBScript 1.9%