Skip to content
Snippets Groups Projects
  1. Aug 05, 2021
  2. Aug 04, 2021
  3. Jul 28, 2021
  4. Jul 27, 2021
    • Jason Hiser's avatar
      ZS-86 issue in parsing dynsym section. · d678a840
      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!
      d678a840
    • Jason Hiser's avatar
      ZS-86: Dealt with sledding and KS-asm issues · 69b50a5a
      Jason Hiser authored
      Large ints as constant operands are weird in ks-asm.  Need to use
      positive value, in hex, for less than max-signed-int, and negative
      hex values for values between max-signed-int and max-unsigned-int.
      69b50a5a
  5. Jul 22, 2021
  6. Jul 20, 2021
    • Jason Hiser's avatar
      Fix x86/32 issues for Ubuntu 20.04 · 8546a654
      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.
      8546a654
  7. Jun 12, 2021
    • Jason Hiser's avatar
      Updated rodata scanner to skip pins without relocs in shared libs · 6e68317a
      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.
      6e68317a
  8. Jun 06, 2021
  9. Jun 05, 2021
  10. Jun 04, 2021
  11. May 24, 2021
  12. May 07, 2021
  13. May 06, 2021
  14. May 02, 2021
  15. Apr 29, 2021
  16. Apr 27, 2021
  17. Apr 26, 2021
  18. Apr 24, 2021
  19. Apr 21, 2021
Loading