Closed fr0g2s closed 1 year ago
I've never seen Consolidate compiler generated dependencies of target
before. However, i'm pretty sure the error is a linking/compiling issue with capstone. Make sure you have only one capstone library on your system. If not, make sure the capstone include used when compiling Triton are those from the capstone libraries used at the runtime.
This version also shows Consolidate compiler generated dependencies of target
.
But no error x8664Cpu::disassembly(): Invalid operand.
in example.
fr0g2s@LGgram14:~/src/Triton-0.6/build$ sudo make install
[ 1%] Built target gen-syscall32
[ 2%] Built target gen-syscall64
Consolidate compiler generated dependencies of target triton
[ 85%] Built target triton
[ 85%] Built target python-triton
Consolidate compiler generated dependencies of target taint_reg
[ 87%] Built target taint_reg
Consolidate compiler generated dependencies of target info_reg
[ 90%] Built target info_reg
Consolidate compiler generated dependencies of target ir
[ 92%] Built target ir
Consolidate compiler generated dependencies of target simplification
[ 95%] Built target simplification
Consolidate compiler generated dependencies of target constraint
[ 97%] Built target constraint
Consolidate compiler generated dependencies of target ctest_api
[100%] Built target ctest_api
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/lib/libtriton.so
...
-- Up-to-date: /usr/local/include/triton
-- Installing: /usr/local/include/triton/version.hpp
-- Installing: /usr/lib/python2.7/dist-packages/triton.so
fr0g2s@LGgram14:~/src/Triton-0.6/build/src/examples/cpp$ ./constraint
RAX expr: (bvxor SymVar_0 (_ bv287454020 64))
constraint: (= (bvxor SymVar_0 (_ bv287454020 64)) (_ bv0 64))
Model:
- Variable id : 0
- Variable name: SymVar_0
- Value : 11223344
I guess Consolidate compiler generated dependencies of target
message doesn't seem to be related to x8664Cpu::disassembly(): Invalid operand.
.
So the problem is sovled? Btw, Triton 0.6 is very very old...
I can use old version Triton to avoid this error.
But i still don't know why I'm getting the error x8664Cpu::disassembly(): invalid operand
in recent Triton.
Because you probably have different version of capstone or you are using an old version of capstone e.g: 3.0.5. Try with capstone 4.0.2 or 5.x
I used capstone 4.0.2 on my first try.
And are you sure that include used at the compile are those from the capstone 4.0.2 ?
I saw capstone 4.0.2 when do cmake.
fr0g2s@LGgram14:~/src/Triton/build$ cmake ..
...
-- Z3 version: 4.8.7.0
-- Compiling with Capstone
-- Found CAPSTONE include directory: /usr/include
-- Found CAPSTONE library: /usr/lib/x86_64-linux-gnu/libcapstone.so
-- CAPSTONE version: 4.0.2
-- Compiling with Boost headers
...
-- Build files have been written to: /home/fr0g2s/src/Triton/build
Any other way to check the capstone version?
Can you do:
$ ldd /usr/local/lib/libtriton.so
And see if the libtriton.so
is linked to /usr/lib/x86_64-linux-gnu/libcapstone.so
?
Can you also past the output of the following commands:
$ sudo updatedb
$ locate libcapstone
There was no libcapstone.
fr0g2s@LGgram14:~/src/Triton/build$ ldd /usr/local/lib/libtriton.so
linux-vdso.so.1 (0x00007fff0dd94000)
libpython3.8.so.1.0 => /lib/x86_64-linux-gnu/libpython3.8.so.1.0 (0x00007f621ef76000)
libz3.so.4 => /lib/x86_64-linux-gnu/libz3.so.4 (0x00007f621d9d6000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f621d7f4000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f621d7d9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f621d5e7000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f621d5b9000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f621d59b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f621d578000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f621d572000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f621d56d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f621d41e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f621fcba000)
libacpstone.so was in /usr/lib
. so i copied it to /lib/x86_64-linux-gnu/
and removed all built files and built again.
fr0g2s@LGgram14:~/src/Triton/build$ locate libcapstone
/home/fr0g2s/src/capstone-4.0.2/libcapstone.a
/home/fr0g2s/src/capstone-4.0.2/libcapstone.so.4
/home/fr0g2s/src/capstone-4.0.2/tests/libcapstone.so
/home/fr0g2s/src/capstone-4.0.2/tests/libcapstone.so.4
/usr/lib/libcapstone.a
/usr/lib/libcapstone.so
/usr/lib/libcapstone.so.4
/usr/lib/x86_64-linux-gnu/libcapstone.a
/usr/share/doc/libcapstone-dev
/usr/share/doc/libcapstone3
/usr/share/doc/libcapstone-dev/CREDITS.TXT
/usr/share/doc/libcapstone-dev/HACK.TXT
/usr/share/doc/libcapstone-dev/README
/usr/share/doc/libcapstone-dev/TODO
/usr/share/doc/libcapstone-dev/changelog.Debian.gz
/usr/share/doc/libcapstone-dev/copyright
/usr/share/doc/libcapstone3/changelog.Debian.gz
/usr/share/doc/libcapstone3/copyright
/var/cache/apt/archives/libcapstone-dev_4.0.1+really+3.0.5-1build1_amd64.deb
/var/cache/apt/archives/libcapstone3_4.0.1+really+3.0.5-1build1_amd64.deb
/var/lib/dpkg/info/libcapstone-dev:amd64.list
/var/lib/dpkg/info/libcapstone-dev:amd64.md5sums
/var/lib/dpkg/info/libcapstone3:amd64.list
/var/lib/dpkg/info/libcapstone3:amd64.md5sums
/var/lib/dpkg/info/libcapstone3:amd64.shlibs
/var/lib/dpkg/info/libcapstone3:amd64.symbols
/var/lib/dpkg/info/libcapstone3:amd64.triggers
Now there is no x8664Cpu::disassembly(): invalid operand
error.
fr0g2s@LGgram14:~/src/Triton/build$ ldd /usr/local/lib/libtriton.so
linux-vdso.so.1 (0x00007ffd27ffb000)
libpython3.8.so.1.0 => /lib/x86_64-linux-gnu/libpython3.8.so.1.0 (0x00007f5ad954a000)
libz3.so.4 => /lib/x86_64-linux-gnu/libz3.so.4 (0x00007f5ad7faa000)
libcapstone.so.4 => /lib/libcapstone.so.4 (0x00007f5ad793b000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5ad7759000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5ad773e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5ad754c000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f5ad751c000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5ad7500000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5ad74dd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5ad74d7000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f5ad74d2000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5ad7383000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5ad9ff0000)
fr0g2s@LGgram14:~/src/Triton/build$ src/examples/cpp/block
0x0: mov eax, edx
0x2: xor ah, 0x99
0x5: test eax, eax
0x7: je 0x11
----------
0x0: mov eax, edx
0x2: xor ah, 0x99
0x5: test eax, eax
0x7: je 0x11
0x9: nop
0xa: nop
0xb: nop
----------
0x2: xor ah, 0x99
0x5: test eax, eax
0x7: je 0x11
0x9: nop
0xa: nop
0xb: nop
----------
0x1000: xor ah, 0x99
0x1003: test eax, eax
0x1005: je 0x100f
0x1007: nop
0x1008: nop
0x1009: nop
First addr: 0x1000
Last addr: 1009
Number of instructions: 6
----------
0x0: xor ah, 0x99
0x3: test eax, eax
0x5: nop
0x6: nop
0x7: nop
Thank you so much.
build Triton
run example
How can i fix this error? Is this error related to the message "Consolidate compiler generated dependencies of target" ?