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
1 answer

Pin memory access type in exception handling

I am implementing an exception handling function using Pin. In my exception handling code, I particularly search for memory access error, say, memory read error and memory write error. I wrote some code below: BOOL catchSignalTest(THREADID tid,…
lllllllllllll
  • 8,519
  • 9
  • 45
  • 80
0
votes
1 answer

Identifying taint sources in a program for taint propagation

In taint analysis, a taint source is a program location or statement that may produce an untrusted or external input. My Goal : Identify all external user inputs to the program such as cmdline-input , file reading , environment and network…
G Ashwin
  • 23
  • 1
  • 6
0
votes
1 answer

Using IARG_MEMORYWRITE_SIZE and IARG_MEMORYREAD_SIZE parameter in Intel Pin

I am trying to use Intel Pin for investigating memory activity of an executable. I want to modify pinatrace example from Pin kit. I tried to use IARG_MEMORYWRITE_SIZE/IARG_MEMORYREAD_SIZE parameters. Here is the source code. #include…
aGGeRReS
  • 79
  • 2
  • 11
0
votes
1 answer

Inferring type information from memory read size

I am using PIN to instrument my application binary and generating a list of addresses (more specifically memory reads) made by the application. I have an instrumentation routine, which passes the IARG_MEMORYREAD_SIZE, IARG_MEMORYREAD_EA as…
user3875690
  • 129
  • 1
  • 6
0
votes
2 answers

Profiling anti-debugging checks in linux

My main requirement is to profile the mentioned anti-debugging check program twice ( Once in the presence of a debugger and the other without it ) to collect some information for analysis during run-time (Assuming only the binary is…
G Ashwin
  • 23
  • 1
  • 6
0
votes
0 answers

Intel Xed: Suppress Disassembly output

I am currently using Intel XED (Intel's encoder/decoder) to decode and encode an application's instructions within Intel's Pin tool (binary rewriter). When I output disassembly in Pin with the Syntax mode set to XED, I get a lot of extra output than…
dannykim
  • 166
  • 1
  • 2
  • 10
0
votes
1 answer

GDB does not break on a read access to an address caught by PIN

I've captured a read memory trace (i.e. addresses of all read accesses) of a program-run by Intel PIN, ASLR was off. I can capture it several times and the trace is still exactly the same. Then I take an address from the trace (a specific address I…
fakub
  • 327
  • 2
  • 13
0
votes
2 answers

Insert an undefined instruction in X86 code to be detected by Intel PIN

I'm using a PIN based simulator to test some new architectural modifications. I need to test a "new" instruction with two operands (a register and a memory location) using my simulator. Since it's tedious to use GCC Machine description to add only…
mewais
  • 1,265
  • 3
  • 25
  • 42
0
votes
1 answer

Why some callback function can't be called in Pin?

I use the Intel-Pin to instrument pthread_mutex_lock and pthread_mutex_unlock in Linux. I insert functions before and after this two lock function's invocation respectively, so I expect that the tool will output strings before and after the lock…
wangxf
  • 160
  • 1
  • 11
0
votes
1 answer

The shared memory between threads

I use the Intel tool Pin to instrument the multi-thread process and monitor the shared memory access between thread on Linux, I develop a tool in Pin to record the shared memory address, the instrumentation code in Pin is as follow: VOID…
wangxf
  • 160
  • 1
  • 11
0
votes
0 answers

PIN with python includes tool. Ambiguous symbol

I'm having the same problem than this post. Basically I am trying to compile a PIN tool that uses Python.h. There are some types that are called the same for Windows.h and PIN.h and either of them declared a namespace for them so I'm getting error…
user1618465
  • 1,813
  • 2
  • 32
  • 58
0
votes
1 answer

How can i iterate over a basic blocks in a specific routine in intel pintool?

I tried to iterate over a basic blocks in a specific routine, but i found some problems: VOID Routine(RTN rtn, VOID *v) { RTN_Open(rtn) for (BBL bbl = RTN_BblHead(rtn); BBL_Valid(bbl); bbl = BBL_Next(bbl)) { /* some code */ } …
Mos Moh
  • 317
  • 3
  • 15
0
votes
0 answers

Get Symbol address using PIN

I am testing PIN support for symbols. I have the following code: VOID getSymbolAddressByName () { for (IMG img = APP_ImgHead(); IMG_Valid(img); img = IMG_Next(img)){ for( SYM sym = IMG_RegsymHead(img); SYM_Valid(sym); sym = SYM_Next(sym) ) { …
0
votes
1 answer

Safe Programming of Pthreads on PIN-Using Simulators

I'm using an hardware simulator which uses PIN Tools to execute the workload. As the workload, I'm using the following code. Although it works on Ubuntu with -lpthread flag, it freezes on the simulator when it comes to join threads. I think there…
0
votes
1 answer

How to use Pin tool in non JIT mode

I have written a Pintool and using it in JIT mode. I read from Pin tutorial that Pintool can be used in non JIT mode too but I cant understand how to do that. I need an example. Thanks.
1 2 3
15
16