2
プリロードカスタムstrchr() - Ubuntuは)(私はそのstrchrを実装
global strchr
strchr:
cmp byte[rdi], 0
je end
cmp [rdi], sil
je end
add rdi, 1
jmp strchr
end: mov rax, rdi
ret
私が使用しての.soとしてそれをプリロード 、
export LD_PRELOAD=abs/path/to/lib.so
のUbuntu 16.04クラッシュをクラッシュします。時にはそれは完全にcrahses、時にはSIGILL(破損したデータ?)を表示します。
opensuse 4を使用してプリロードすると動作します。
任意のアイデアなぜですか?マイケル・ペッチへ
どのようにあなたの共有オブジェクトを構築するのですか?あなたは別のシステムでそれを再構築します(バイナリをバイナリにコピーするだけでなく)。 –
@Someprogrammerdude nasm -f elf64 asm.asmを使い、gcc -shared asm.o -o lib.so(Makefile)を使って各システムに構築します – NanoPish
この関数は返されないので 'strchr'に準拠していません文字が見つからない場合はNULLポインタ。 –