История изменений
Исправление firkax, (текущая версия) :
Переименовывать здесь, казалось бы, нечего.
Как это нечего,
0x13c4b <Canonicalize+15> call 0x13c4c <Canonicalize+16>
тут явно линкер что-то патчит на запуске. Где именно в бинарнике указано, что тут вместо 0xFFFFFFFC надо подставить правильное смещение функции canonicalize() - я не знаю, но где-то должно быть указано.
А, или это дамп уже слинкованного процесса в памяти? Тогда непонятно, там вызов по битому адресу - это не адрес функции canonicalize() ни из glibc ни из libjava. Но в любом случае где-то это указано.
И переименовать можно, думаю, заметно проще - открыть libjava.so в mcedit-е (или другом двоично-безопасном текстовом редакторе), найти там текстовым поиском все вхождения слова canonicalize и, если их расположение не вызывает каких-то подозрений, заменить там какую-нить букву, например на cbnonicalize.
Исправление firkax, :
Переименовывать здесь, казалось бы, нечего.
Как это нечего,
0x13c4b <Canonicalize+15> call 0x13c4c <Canonicalize+16>
тут явно линкер что-то патчит на запуске. Где именно в бинарнике указано, что тут вместо 0xFFFFFFFC надо подставить правильное смещение функции canonicalize() - я не знаю, но где-то должно быть указано.
И переименовать можно, думаю, заметно проще - открыть libjava.so в mcedit-е (или другом двоично-безопасном текстовом редакторе), найти там текстовым поиском все вхождения слова canonicalize и, если их расположение не вызывает каких-то подозрений, заменить там какую-нить букву, например на cbnonicalize.
Исходная версия firkax, :
Переименовывать здесь, казалось бы, нечего.
Как это нечего,
0x13c4b <Canonicalize+15> call 0x13c4c <Canonicalize+16>
тут явно линкер что-то патчит на запуске.
И переименовать можно, думаю, заметно проще - открыть libjava.so в mcedit-е (или другом двоично-безопасном текстовом редакторе), найти там текстовым поиском все вхождения слова canonicalize и, если их расположение не вызывает каких-то подозрений, заменить там какую-нить букву, например на cbnonicalize.