- Jul 28, 2021
-
-
Anh Nguyen-Tuong authored
ZS-86 issue in parsing dynsym section. See merge request !12
-
- Jul 27, 2021
-
-
Jason Hiser authored
The dynsym section is parsed by objdump/grep. It's terrible and needs to be implemented in C++ to reduce dependence on external tools knowing what they are doing. In this case, the terrible pattern matching with grep caused a symbol defined in the binary to be missed, because `grep -v UND` was used to determine whether a symbol "mattered". 1) symbol names might have UND and get eliminated accidentally, but 2) (what really happened) was that the symbol was defined in a section without a "link" field in the dynsym section, thus objdump displayed the section name as UND and thus the code skipped the symbol. Don't use objdump to parse ELF files!
-
- Jul 22, 2021
-
-
Jason Hiser authored
-
Jason Hiser authored
-
Clark Coleman authored
-
Jason Hiser authored
-
- Jul 20, 2021
-
-
Jason Hiser authored
Rida: Parsing of .plt.sec section added for x86/64 ubuntu 20 needed to be updated to support x86/32 in ubuntu 20. Fix-calls: Thunk checks aged poorly. Revived/fixed some of them.
-
- Jun 12, 2021
-
-
Jason Hiser authored
Shared libs need a reloc for a code pointer to live in rodata. I found in ffmpeg that many spurious pins were occuring because constant (particularly with relatively small values) data looked like code poitners (because the code's load point is address 0 in a shared library). To avoid these spuriosu pins, I extended the code pin algorithm to check isDLL() (which includes shared objects) and for a reloc before attempting to pin in the rodata. A perf. optimization verifies that it _might_ result in a pin before checking for a reloc, as checking for a reloc can be slow, while checking for a possible pin location is fast.
-
- Jun 06, 2021
-
-
xenial-runner authored
-
- Jun 05, 2021
-
-
xenial-runner authored
-
- Jun 04, 2021
-
-
Jason Hiser authored
-
Jason Hiser authored
-
xenial-runner authored
-
- May 24, 2021
-
-
xenial-runner authored
-
- May 07, 2021
-
-
xenial-runner authored
-
- May 06, 2021
-
-
Anh Nguyen-Tuong authored
-
Anh Nguyen-Tuong authored
-
- May 02, 2021
-
-
xenial-runner authored
-
- Apr 29, 2021
-
-
Anh Nguyen-Tuong authored
-
- Apr 27, 2021
-
-
Jason Hiser authored
-
- Apr 26, 2021
-
-
Jason Hiser authored
-
Jason Hiser authored
Table size min was set to <=4 items, but readelf on ubuntu20 had a switch table with exactly 4 elements. This caused FII to miss the table size and subsequently include _many_ extra IBTs. Ultimately, Zipr failed by trying to 68-sled an entire function due to FII's failure.
-
- Apr 24, 2021
-
-
xenial-runner authored
-
- Apr 21, 2021
-
-
xenial-runner authored
-
- Apr 17, 2021
-
-
xenial-runner authored
-
- Apr 11, 2021
-
-
xenial-runner authored
-
- Mar 26, 2021
-
-
xenial-runner authored
-
- Mar 23, 2021
-
-
xenial-runner authored
-
- Mar 20, 2021
-
-
xenial-runner authored
-
- Mar 15, 2021
-
-
Jason Hiser authored
-
Jason Hiser authored
-
Jason Hiser authored
-
Jason Hiser authored
-
Jason Hiser authored
-
Jason Hiser authored
-
- Mar 12, 2021
-
-
Jason Hiser authored
-
xenial-runner authored
-
- Mar 05, 2021
-
-
xenial-runner authored
-
- Mar 04, 2021
-
-
xenial-runner authored
-
- Mar 03, 2021
-
-
xenial-runner authored
-