Intel Pin 工具 32 位 - ProcessSectionHeaders:560:断言失败
Intel Pin tools 32-bit - ProcessSectionHeaders: 560: assertion failed
我正在尝试 运行 Intel (3.7-97619) 在 Kali 32 位 (Linux kali32 4.19.0-kali4-686-pae #1 SMP Debian 4.19.28-2kali1 (2019-03-18) i686 GNU/Linux).
我可以使用 make TARGET=ia32 编译 source/tools/ManualExamples 中的示例,但是一旦我 运行 使用命令 ../../../pin -t obj-ia32/isampling.so -- /bin/ls 来自 的示例]ManualExamples 按照文档中的建议。尽管如此,我还是面临以下问题:
A: Source/pin/elfio/img_elf.cpp: ProcessSectionHeaders: 560: assertion failed: SEC_vaddr_i(sec) >= IMG_seg_text_vaddr_i(img) && SEC_vaddr_i(sec) < IMG_seg_data_vaddr_i(img)
################################################################################
## STACK TRACE
################################################################################
??? at isampling.so+0x24472
??? at isampling.so+0x90946
??? at isampling.so+0x98671
??? at isampling.so+0x14654d
??? at isampling.so+0x148b9d
??? at isampling.so+0x148c50
??? at isampling.so+0x6f243
??? at isampling.so+0x4bfab
_ZN14LEVEL_INJECTOR13UNIX_INJECTEE12StartProgramEb+0x10f at /root/pin/ia32/bin/pinbin+0x3354af
??? at isampling.so+0x48889
main+0x97 at isampling.so+0x90d7
_ZN14LEVEL_INJECTOR13UNIX_INJECTEE9StartToolEv+0x1d2 at /root/pin/ia32/bin/pinbin+0x333f12
_ZN14LEVEL_INJECTOR13UNIX_INJECTEE29RunMainThreadOnPinStackAttachEPS0_+0x3de at /root/pin/ia32/bin/pinbin+0x3374ee
Pin: pin-3.7-97619-0d0c92f4f
Copyright (c) 2003-2018, Intel Corporation. All rights reserved.
Aborted
所以,我决定 运行 使用命令 pin -- /bin/ls 不使用任何工具来固定,它起作用了。知道为什么我会收到此错误消息吗?
非常感谢
在与同事调查此问题几个小时后,我们无法找出此错误的原因。我们尝试了最新的 Kali 和 Debian。
后来,我决定尝试使用内核为 4.15.0-47-generic 的 old Ubuntu 虚拟机,它成功了!更准确地说:
➜ ~ uname -a
Linux gpu 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
➜ ~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
我没有尝试更新版本的 Ubuntu,所以我不能说这是由于新的软件组件造成的,例如内核的更新版本。因此,我的解决方法是使用旧版本的内核,但不确定这是导致问题的原因。
任何可以更好地识别问题的关于此线程的进一步调查答案都将被标记为答案。
我正在尝试 运行 Intel (3.7-97619) 在 Kali 32 位 (Linux kali32 4.19.0-kali4-686-pae #1 SMP Debian 4.19.28-2kali1 (2019-03-18) i686 GNU/Linux).
我可以使用 make TARGET=ia32 编译 source/tools/ManualExamples 中的示例,但是一旦我 运行 使用命令 ../../../pin -t obj-ia32/isampling.so -- /bin/ls 来自 的示例]ManualExamples 按照文档中的建议。尽管如此,我还是面临以下问题:
A: Source/pin/elfio/img_elf.cpp: ProcessSectionHeaders: 560: assertion failed: SEC_vaddr_i(sec) >= IMG_seg_text_vaddr_i(img) && SEC_vaddr_i(sec) < IMG_seg_data_vaddr_i(img)
################################################################################
## STACK TRACE
################################################################################
??? at isampling.so+0x24472
??? at isampling.so+0x90946
??? at isampling.so+0x98671
??? at isampling.so+0x14654d
??? at isampling.so+0x148b9d
??? at isampling.so+0x148c50
??? at isampling.so+0x6f243
??? at isampling.so+0x4bfab
_ZN14LEVEL_INJECTOR13UNIX_INJECTEE12StartProgramEb+0x10f at /root/pin/ia32/bin/pinbin+0x3354af
??? at isampling.so+0x48889
main+0x97 at isampling.so+0x90d7
_ZN14LEVEL_INJECTOR13UNIX_INJECTEE9StartToolEv+0x1d2 at /root/pin/ia32/bin/pinbin+0x333f12
_ZN14LEVEL_INJECTOR13UNIX_INJECTEE29RunMainThreadOnPinStackAttachEPS0_+0x3de at /root/pin/ia32/bin/pinbin+0x3374ee
Pin: pin-3.7-97619-0d0c92f4f
Copyright (c) 2003-2018, Intel Corporation. All rights reserved.
Aborted
所以,我决定 运行 使用命令 pin -- /bin/ls 不使用任何工具来固定,它起作用了。知道为什么我会收到此错误消息吗?
非常感谢
在与同事调查此问题几个小时后,我们无法找出此错误的原因。我们尝试了最新的 Kali 和 Debian。
后来,我决定尝试使用内核为 4.15.0-47-generic 的 old Ubuntu 虚拟机,它成功了!更准确地说:
➜ ~ uname -a
Linux gpu 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
➜ ~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
我没有尝试更新版本的 Ubuntu,所以我不能说这是由于新的软件组件造成的,例如内核的更新版本。因此,我的解决方法是使用旧版本的内核,但不确定这是导致问题的原因。
任何可以更好地识别问题的关于此线程的进一步调查答案都将被标记为答案。