Здравствуйте, kov_serg, Вы писали:
_>Вот тут есть
M>>arch_prctl(ARCH_SET_FS, 0x7f7e400) = 0
спасибо за подсказку (и за науку по инструментам), я нашёл причину. проваливается функция _dl_relocate_static_pie, и программа идёт на выход, который не может исполнить из-за незавершённости инициализации
это если я ничего в отладчике не пропустил
| | подробности |
| | регистры до
rax 0x140 0000
rbx 1
rcx f68
rdx 0x140 0000
rsi 5d27a8
rdi 1d
после запуска rax, rdx не меняются
но запускается такой вот код
mov r15, offset qword_4002E8
.text:00000000004C51BD mov r13, 4005E8h
.text:00000000004C51C4 cmp r15, r13
.text:00000000004C51C7 jb short loc_4C51E0
loc_4C51E0:
.text:00000000004C51E0 cmp dword ptr [r15+8], 25h ; '%'
.text:00000000004C51E5 mov r14, [r15]
.text:00000000004C51E8 jz short loc_4C51D0 ; до патча это условие срабатывает в другую ветку, а после - на код ниже
00000000004C51EA lea rdi, aUnexpectedRelo ; "Unexpected reloc type in static binary."...
.text:00000000004C51F1 call __libc_fatal
|
| | |
только вот я не знаю, что теперь с этим делать