Questions tagged [intel-pin]

Pin is a dynamic binary instrumentation framework for the IA-32 and x86-64 instruction-set architectures that enables the creation of dynamic program analysis tools.

"Pin is a dynamic binary instrumentation framework for the IA-32 and x86-64 instruction-set architectures that enables the creation of dynamic program analysis tools."

Pin resources:

237 questions
0
votes
0 answers

Using boost library with Intel Pin

I am trying to use the Boost 1.60.0 library with Intel Pin 2.14-71313-msvc12-windows. The following piece of code is the simple implementation I did to try things out: #define _CRT_SECURE_NO_WARNINGS #include "pin.H" #include #include…
user6632254
0
votes
1 answer

Memory reference traces with Intel Pin of packet processing applications

I'm learning how to use Intel Pin and I have a couple of questions regarding the instrumentation process for a particular usecase. I would like to create a memory reference trace of a simple packet processing application. I have developed the…
Antonis
  • 35
  • 5
0
votes
1 answer

Global variable in intel Pin

I have this global variable in my pintool and i want to get its content inside Instruction (my instrumentation function). UINT32 windowCnt=0; LOCALFUN VOID Instruction(INS ins, VOID *v) { const AFUNPTR InsRefFun = ((wcount % 2)==0 ? (AFUNPTR)…
Orion Papadakis
  • 398
  • 1
  • 14
0
votes
0 answers

Intel Pin under Valgrind. Library error?

When i run intel pin under valgrind i get the following error: ERROR: ld.so: object '/usr/lib/valgrind/vgpreload_core-x86-linux.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object…
Orion Papadakis
  • 398
  • 1
  • 14
0
votes
2 answers

Line numbers in malloc trace using Pin

I am working on Pintool for tracing malloc/free operations. From the ManualExamples/malloc_trace.cpp I was able to print out malloc/free in a sample code. I was wondering if there is a way to print the line numbers in the source code where…
marc
  • 949
  • 14
  • 33
0
votes
1 answer

PIN 3.0 compilation error because of '__value' symbol

I am porting my tool to PIN 3.0 using Visual c++ 2012 because I now have Windows 10. I followed the porting guide provided here However, I ran into an error: error C4890: '__value': use of this keyword requires the command line option:…
Heyji
  • 1,113
  • 8
  • 26
0
votes
1 answer

Which registers can be modified with PIN_GetContextReg and PIN_SetContextReg

I want to use PIN_GetContextReg to get the value of register then change it and put it back using PIN_SetContextReg. The PIN manual says that I can do that with to an integer register but all the registers I try other than REG_INST_PTR give an error…
ankahira
  • 87
  • 1
  • 11
0
votes
1 answer

Build for Mypintool sample for x64 using visual studio 2012 fails, if "windows.h" is included

I am trying to build The Mypintool sample that comes with pin distribution for x64 architecture. I am using pin3.0 (build 76991) and Visual Studio 2012. The build is successful if I have not included windows.h. But if I include window.h (in a…
Nishant
  • 2,571
  • 1
  • 17
  • 29
0
votes
1 answer

How INS_IsProcedureCall() works?

In Pin Documentation for INS_IsProcedureCall(INS ins), it is given that true if ins is a procedure call. This filters out call instructions that are (ab)used for other purposes On the other hand, there is INS_IsCall(INS ins) which will return…
gtux
  • 538
  • 3
  • 15
0
votes
1 answer

Unresolved external symbol in windows

I am using windows8 32 bit ,visual studio 2012 and intel pintool (76991 version). I am using developer command prompt to creat dll using command: link /DLL /EXPORT:main /NODEFAULTLIB /NOLOGO /INCREMENTAL:NO /MACHINE:x86…
kunal
  • 33
  • 4
0
votes
1 answer

Get location of exception handler after an exception has occurred(in a .exe file) via Intel PinTool

Sorry for the long POST :) I would like to write a pintool for .exe files which on a exception does the following: Prints the excepting instruction address. Prints the address of the handler which will handle this exception. Prints the address of…
Nishant
  • 2,571
  • 1
  • 17
  • 29
0
votes
2 answers

Shared object missing from pin tool

When I compile my pin tool and run ldd on the pin tool shared object the shared objects libxed.so, libpin3dwarf.so, libdl-dynamic.so, libstlport-dynamic.so, and libc-dynamic.so all cannot be found. I thought it might be the makefile.rules file, as I…
TypeKazt
  • 318
  • 1
  • 13
0
votes
1 answer

Cannot find pintool's debug symbols

I have followed the guide here: debugging pintool guide, but I cannot get GDB to find the debugging symbols for my pintool. First I compiled my pintool with debug information lotus@c02-0:~/PerforceArch/home/Shadi/HLS/pin/source/tools/lotusTools$…
Lotus Fenn
  • 85
  • 7
0
votes
3 answers

Determine if instruction has indirect memory operand

Looking at PIN's Inspection API Page there is a method called INS_IsLea() which returns true if the current instruction is a LEA isntruction. This is useful, but I need to determine if one of the instruction operands are indirect references. For…
TypeKazt
  • 318
  • 1
  • 13
0
votes
0 answers

Allocate Memory on the heap of Client Process using Pin

I am a newbie to Pin, and basically, I would like to use a Pintool to initialize a memory region, which can be read/write by the user process later during run time. I would like to make the memory region on heap, as the data structure I want to…
lllllllllllll
  • 8,519
  • 9
  • 45
  • 80