Skip to content

Releases: jonatanSh/shelf

Shelf release 3.0.5

30 Jul 20:04
dc2c18d
Compare
Choose a tag to compare

Shelf release 3.0.4

29 Jul 12:48
a301490
Compare
Choose a tag to compare

Shelf release 3.0.3

19 Jul 19:30
e6806d7
Compare
Choose a tag to compare

Release key feature shelf_loader

Added the shelf loader library to load and interact with shelf and improve development time.
The library load shelfs and parse errors. it will try to do its best to display disassembly of the current faulting address.
For further reading refer to Shelf loader

Other features and improvements

  • Add shelf test framework
  • Add shelf --opcode-relocations for x86 32 bit
    Some compilers doesn't support --static -fpic and statically link against libc known symbols the --opcode-relocations feature relocate opcodes at load time.
  • Add shelf gdb integration
  • Add test for building the python shelf package and the python loader package
  • Optimizations
    • Optimize the find symbols api function
  • Add selective compilation
  • Add shelf api
  • Add shelf dump api support

Open bugs

  • In this feature a bug was found in the RISC-V shelf implementation for that reason support for RISC-V shellcodes is only partial until fixed.

Release 3.0.2

27 Apr 22:17
Compare
Choose a tag to compare
  • Add support for a new architecture RISC-V RV64
  • Upgrade test framework to automatically detect invalid memory accesses for rapid developement
  • Add api support
  • minimal refactors

Release 3.0.1

30 Mar 20:44
Compare
Choose a tag to compare

Release goal - stability and bug fixes

  • Fix bug where static variables would create a read write (RW) memory regions and --mitigation-bypass rwx didn't handle that correctly
  • Fix parallel compilation bug fix
  • Improved performance by caching structs
  • Fixed alignment in aarch64 architecture where the relocation table is larger then 8192 bytes
  • Add negative numbers support in relocation table. this feature increases the shellcode size but also add support for eshelf+dynamic support

Release 3.0

29 Mar 19:11
Compare
Choose a tag to compare

Rename library to shelf - Shellcode elf

Release 2.2.8

27 Mar 18:42
Compare
Choose a tag to compare

Features

Bug fixes

  • Fix a bug where the hooks loader was used and no hooks where supplied

Release 2.2.7

18 Mar 19:48
Compare
Choose a tag to compare

Optimizations

  • Decrease shellcode size at least by half

Add hooks

  • pre_relocate_write_hooks
  • pre_relocate_execute_hooks
  • pre_calling_shellcode_main_hooks

Read more about hooks

Release 2.2.6

11 Mar 21:39
ed96eb9
Compare
Choose a tag to compare

Hook mechanism refactor

  • support and load python hook descriptor file - read more in the docs
  • Add attributes to hooks
  • Hooks can preprocess the output shellcode

Mini loader

  • Support functions inside the mini loader

Release 2.2.5

27 Feb 21:37
Compare
Choose a tag to compare

In this release the focus was to add feature support for all architectures:

  • support for dynamic shellcodes was added for all architectures (mips, intel x32, intel x64, arm 32, aarch64)
  • support for eshelf output format was added for all architectures (mips, intel x32, intel x64, arm 32, aarch64)
  • support for mini loader hooks was added for all architectures (mips, intel x32, intel x64, arm 32, aarch64)
  • bug fixes