JonathanSalwan / Triton

Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.
https://triton-library.github.io
Apache License 2.0
3.4k stars 524 forks source link

Unable to resolve tool path error #1204

Closed antonislouca closed 1 year ago

antonislouca commented 1 year ago

I am developing a taint analysis tool using the Triton framework. I wanted to first run the ready made examples in the project. Both the Cpp and python ones result to error "E: Unable to resolve tool path./Triton/build/src/libtriton/triton.so. Check tools path and tool extension.". i am guessing this is from Pin and not Triton its self. Do you know if i should configure anything else to solve this error?

JonathanSalwan commented 1 year ago

"E: Unable to resolve tool path./Triton/build/src/libtriton/triton.so. Check tools path and tool extension.". i am guessing this is from Pin and not Triton its self.

Yes, this error comes probably from Pin not Triton =/. Maybe a dynamic linking issue? Make sure your pintool is correcly linked to the triton.so using the ldd command for example.

antonislouca commented 1 year ago

I don't use my tool to run this example. I uses the taint_reg example included in the examples directory of Triton, to make sure that the setup of triton and pin is ok. The taint_reg binary is indeed linked with triton properly. Am i missing something important here?

JonathanSalwan commented 1 year ago

How do you run the example? (the support of pin has been dropped for years now)

antonislouca commented 1 year ago

i am using this command for the python script and regular execution for the cpp programs. pin -t ./triton.so -script examples/python/forward_tainting.py -- ./binary

JonathanSalwan commented 1 year ago

I don't know what to say, it's like a 5 years old example and do not really remember how Pin works =/. One thing I'm sure of is that E: Unable to resolve tool path./Triton/build/src/libtriton/triton.so. Check tools path and tool extension. is a Pin error not a Triton one. Maybe try to define the hard path of the pintool and not a relative path.