Libc wrapper fail to hook when there is a wrapper on it
tiedaoxiaotubie opened this issue · comments
When I collect the constraints of libtiff
, SymCC always lost constraints. So I use gdb
to debug it, after which I realized that SymCC failed to hook some critical libc functions, including memcpy
and memset
, because in libtiff
, they use _TIFFmemcpy
and _TIFFmemset
(see the definition: https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tif_unix.c#L338), instead of the original name. (see https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tif_dirread.c#L6466).
I think this is a bug, because SymCC can hook these functions successfully as long as I use memset
to replace _TIFFmemset
.