Skip to content

Releases: boricj/ghidra-delinker-extension

v0.6.0

11 Jan 17:14
Compare
Choose a tag to compare

ghidra-delinker-extension v0.6.0 (2025-01-11)

🚀 Features

  • COFF Refactor using binary-file-toolkit (Jean-Baptiste Boric - e52fce9e)
  • COFF Generate comment section (Jean-Baptiste Boric - 556c1f50)
  • COFF Trim superfluous PC-relative relocations option (Jean-Baptiste Boric - 45d4e3b0)
  • ELF R_MIPS_64 relocation type (Jean-Baptiste Boric - b15545f9)
  • ELF Refactor using binary-file-toolkit (Jean-Baptiste Boric - 858540ff)
  • ELF Trim superfluous PC-relative relocations option (Jean-Baptiste Boric - 6377a721)
  • MIPS Big-endian support for analyzer (Jean-Baptiste Boric - 5e6cbafa)
  • Script for delinking a program in headless mode (Jean-Baptiste Boric - 9945608f)
  • Relocatable address ranges analysis option (Jean-Baptiste Boric - 22873f5a)

🐛 Bug Fixes

  • MIPS Match more GP symbol names (Jean-Baptiste Boric - 3b48887d)

🚜 Refactor

  • All the things (Jean-Baptiste Boric - d0c34ac1)
  • ELF tests using binary-file-toolkit (Jean-Baptiste Boric - 59ca93fa)
  • COFF tests using binary-file-toolkit (Jean-Baptiste Boric - cf3e0a3f)
  • Move symbol lookup outside of relocation table builders (Jean-Baptiste Boric - d6998508)
  • Move superfluous PC-relative detection to predicate (Jean-Baptiste Boric - 44a67f5b)
  • Move symbol visibility predicates into predicates folder (Jean-Baptiste Boric - 10a050ab)

🧪 Testing

  • Merge integration tests sharing the same program (Jean-Baptiste Boric - 21bf8dad)
  • MIPS ascii-table ELF big-endian object exporter (Jean-Baptiste Boric - 47cf9298)

⚙️ Miscellaneous Tasks

  • ELF Adjust setOptions() default values (Jean-Baptiste Boric - 1086be0b)
  • Support running more than one test inside DelinkerIntegrationTest (Jean-Baptiste Boric - aaf6db6a)
  • Use antoniovazquezblanco's setup-ghidra action (Antonio Vázquez Blanco - 3064b8ff)
  • Target Ghidra 11.1, 11.1.1 and 11.1.2 (Jean-Baptiste Boric - 1df3c643)
  • Update checkout action to v4 (Jean-Baptiste Boric - 69faf799)
  • Update setup-java action to v4 (Jean-Baptiste Boric - d613685b)
  • Update upload-artifact action to v4 (Jean-Baptiste Boric - 53a2d936)
  • Bump Java version to 21 (Jean-Baptiste Boric - 47da44d7)
  • Target Ghidra 11.2, 11.2.1 (Jean-Baptiste Boric - ae71ed8f)
  • Update launch.json for Ghidra 11.2 (Jean-Baptiste Boric - 76480552)
  • Use git-cliff for release notes (Jean-Baptiste Boric - 26f382a4)
  • Remove lineEndings setting from spotless (Jean-Baptiste Boric - df63a497)
  • Add lib directory to gitignore (Jean-Baptiste Boric - 4dbb9661)
  • Add binary-file-toolkit dependency (Jean-Baptiste Boric - 57bf6ef9)
  • Add parseAddressSet(), serializeAddressSet() to ProgramUtil (Jean-Baptiste Boric - 6f7cd743)

v0.5.1

02 Jan 14:02
Compare
Choose a tag to compare

ghidra-delinker-extension v0.5.1 (2024-08-22)

Features

  • option for local symbol visibility if name matches regular expression (648b4 Jean-Baptiste Boric)
  • option for local symbol visibility if inside a function (6ce04 Jean-Baptiste Boric)

v0.5.0

17 Aug 14:42
Compare
Choose a tag to compare

ghidra-delinker-extension v0.5.0 (2024-08-17)

Features

  • ELF dynamic symbols global visibility option (14860 Jean-Baptiste Boric)
  • COFF dynamic symbols external visibility option (5c95b Jean-Baptiste Boric)
  • symbol name preference during object file exportation (0706c Jean-Baptiste Boric)
  • ELF remove dynamic symbols option (a6bdb Jean-Baptiste Boric)

Bug Fixes

  • COFF incorrect off-by-one extended relocation count (f47c5 Jean-Baptiste Boric)
  • COFF give external visibility to data symbols (259de Jean-Baptiste Boric)
  • COFF encode REL32 relocation addends correctly (56de6 Jean-Baptiste Boric)
  • COFF always use full symbol names (27f87 Jean-Baptiste Boric)
  • ELF use full symbol name when not including dynamic symbols (bcb35 Jean-Baptiste Boric)
  • x86 handle operand mask with both Mod/RM and SIB (55942 Jean-Baptiste Boric)

v0.4.0

14 Jun 09:23
Compare
Choose a tag to compare

ghidra-delinker-extension v0.4.0 (2024-06-12)

Features

  • COFF x86 relocation type mapper (e6313 John Chadwick)
  • COFF relocatable object file exporter (bb5a8 John Chadwick)
  • MIPS script to detect LUI instructions not covered by a HI16 relocation (4d183 Jean-Baptiste Boric)

Bug Fixes

  • enforce uniqueness of low relocation pairs (4bf14 Jean-Baptiste Boric)
  • MIPS handle forward branches with duplicated HI16 delay slots (61704 Jean-Baptiste Boric)

v0.3.2

22 May 21:19
Compare
Choose a tag to compare

ghidra-delinker-extension v0.3.2 (2024-05-22)

Bug Fixes

  • MIPS handle branch delay slots with duplicated HI16 relocations (6df91 Jean-Baptiste Boric)
  • apply bitmask to addends inside AbstractRelocationBitmask (f194b Jean-Baptiste Boric)
  • MIPS support MIPS26 relocations with negative addends (b7490 Jean-Baptiste Boric)
  • improve error messages on relocation synthesizer failures (7c820 Jean-Baptiste Boric)
  • MIPS only consider symbol relative relocations for gp register (d2a6e Jean-Baptiste Boric)
  • MIPS handle HI16/LO16 relocation pairs with unaligned loads/stores (d938b Jean-Baptiste Boric)
  • MIPS handle references on output registers (b01b5 Jean-Baptiste Boric)
  • ELF precompute set of symbol names targeted by a relocation (e82b8 Jean-Baptiste Boric)
  • track progress during analysis (a1f71 Jean-Baptiste Boric)
  • MIPS take code flow into account during analysis (827d5 Jean-Baptiste Boric)

v0.3.1

03 May 09:15
Compare
Choose a tag to compare

ghidra-delinker-extension v0.3.1 (2024-05-02)

Bug Fixes

  • MIPS improve analysis for HI16/LO16 pairs (55935 Jean-Baptiste Boric)
  • MIPS verify that inputs and output registers are coherent (1cb97 Jean-Baptiste Boric)

v0.3.0

19 Feb 12:39
Compare
Choose a tag to compare

ghidra-delinker-extension v0.3.0 (2024-02-19)

Features

  • MIPS PC-relative branch relocations (40578 Jean-Baptiste Boric)
  • ELF R_MIPS_PC16 relocation (3117a Jean-Baptiste Boric)
  • ELF comment section (d06a1 Jean-Baptiste Boric)
  • ELF ability to prepend symbols with a leading underscore (ca921 Jean-Baptiste Boric)

Bug Fixes

  • MIPS rewrite code relocation synthesizer to improve accuracy (f158a Jean-Baptiste Boric)
  • ELF keep needed dynamic symbols for internal relocations (adc97 Jean-Baptiste Boric)
  • ELF set version to EV_CURRENT (e8f10 Jean-Baptiste Boric)
  • rework relative relocation elision (af3e0 Jean-Baptiste Boric)
  • MIPS use RelocationMIPS26 to modelize J-type relocations (d7943 Jean-Baptiste Boric)
  • ELF parse exporter options correctly (927fd Jean-Baptiste Boric)

v0.2.0

25 Sep 11:31
Compare
Choose a tag to compare

ghidra-delinker-extension v0.2.0 (2023-09-25)

Features

  • ELF x86 relocation type mapper (d6b03 Jean-Baptiste Boric)
  • ELF strip leading underscores option (28d50 Jean-Baptiste Boric)
  • x86 code relocation synthesizer (21a84 Jean-Baptiste Boric)

Bug Fixes

  • relocation iterator calculating initial cursor incorrectly (f308a Jean-Baptiste Boric)
  • support relocations with negative addends (8c3df Jean-Baptiste Boric)

v0.1.1

12 Sep 18:53
Compare
Choose a tag to compare

ghidra-delinker-extension v0.1.1 (2023-09-12)

Bug Fixes

  • relocation iterator calculating initial cursor incorrectly (eae23 Jean-Baptiste Boric)
  • wrong sh_info value for ELF relocation tables (2100a Jean-Baptiste Boric)

v0.1.0

25 Aug 21:01
Compare
Choose a tag to compare

ghidra-unlinker-extension v0.1.0 (2023-08-25)

Features

  • ELF MIPS relocation type mapper (c3fbc Jean-Baptiste Boric)
  • ELF relocatable object exporter (65200 Jean-Baptiste Boric)
  • MIPS code relocation synthesizer (6aad1 Jean-Baptiste Boric)
  • absolute data relocation synthesizer (a4906 Jean-Baptiste Boric)
  • relocation table synthesized plugin (bd3aa Jean-Baptiste Boric)
  • relocation table synthesizer analyzer (00680 Jean-Baptiste Boric)