Skip to content

Releases: Curve/lime

Lime v6.0

22 May 12:10
3df2b67
Compare
Choose a tag to compare

v6.0


๐ŸŒ Minor Changes

  • ๐Ÿงช Update Tests

    • MinGW builds are now tested with Wine
    • All Windows Targets are now tested
    • Added CTest Target
  • ๐Ÿ“ฆ Remove some dependencies

  • ๐Ÿ” Signature Scanner

    • Protection now defaults to read
    • Updated Conversion
  • โ›“๏ธ Toolchain now static links by default

  • โŒจ๏ธ Instruction

    • Improved prev accuracy
  • ๐Ÿงน Code Cleanup

๐Ÿ› Bug Fixes

  • ๐Ÿช Hooks

    • Use bit_cast for target / source casting
  • ๐Ÿ“„ Page Utility

    • Properly cast limits

Warning

This update raises the minimum required compiler versions to those that implement P2210R2

Lime v5.0

13 May 10:43
4b0fc51
Compare
Choose a tag to compare

v5.0


๐Ÿต New Features

  • ๐Ÿช Hooks

    • Full rework, add support for more relocations
  • ๐Ÿ”Ž Instruction / Address Utility

    • [๐Ÿงจ BREAKING] Remove implicit conversion operators
  • ๐Ÿ”Ž Instruction Utility

    • Add absolute()
    • Allow to specify RIP for follow()

๐ŸŒ Minor Changes

  • ๐Ÿงช Update Tests
  • ๐Ÿ“ฆ Bump Dependencies

๐Ÿ› Bug Fixes

  • ๐Ÿช Hooks

    • Numerous fixes for relocations and x86 (!)
    • Destructor on invalid state
    • Require Target-Page to be at least readable
  • ๐Ÿ“„ Page Utility

    • Nearby Allocation on x86 (!)

Lime v4.0

07 May 08:08
1ff782d
Compare
Choose a tag to compare

v4.0


๐Ÿต New Features

  • ๐Ÿช Hook
    • Calling Convention support
    • Refine address concepts
    • No longer accept function pointer-like signatures [๐Ÿงจ BREAKING]
      • hook<void(*)(int)> should now be hook<void(int)>

๐ŸŒ Minor Changes

  • Drop boost-callable-traits dependency

Lime v3.1

05 May 22:20
1415a9a
Compare
Choose a tag to compare

v3.1


๐Ÿ› Bug Fixes

  • ๐Ÿ“ฆ Module
    • (Win32) iterate_symbols should now be more robust

Lime v3.0

10 Jan 00:52
3f80830
Compare
Choose a tag to compare

v3.0


๐Ÿต New Features

  • ๐ŸŒŽ Proxy

    • Use lime::module
    • Move into lime::proxy namespace [๐Ÿงจ BREAKING]
  • ๐Ÿ“ฆ Module

    • (Windows) Calculate total amount of loaded modules instead of relying on large upper limit
  • ๐Ÿ“„ Page

    • Always return latter page when two pages with overlapping address-space exist
  • โœ๏ธ General

    • More wide-spread usage of std::string_view
  • ๐Ÿงช Test-Suite

    • Add more test-cases

๐Ÿ› Bug Fixes

  • ๐Ÿ” Instruction
    • prev() now correctly determines the previous instruction

Lime v2.4

03 Jan 11:23
51e59ce
Compare
Choose a tag to compare

v2.4


๐ŸตNew Features

  • ๐Ÿ“ฆ Module

    • Add load
  • ๐Ÿช Hook

    • Improve Concepts
    • Add make_hook to ease hook creation (Can be used to infer signature)
    • Return Hook-Pointer when creating lambda detour

๐Ÿ› Bug Fixes

  • Add Option to disable VirtualAlloc2 because it does not have full feature coverage in Wine

Lime v2.3

04 Dec 08:53
e149eb4
Compare
Choose a tag to compare

v2.3


๐ŸตNew Features

  • Add proxy dll generation helper for MinGW
    • Requires the user to specify a file "exports":

      symbol_to_export=Ordinal
      another_symbol_to_export
      

      Which can then be used to generate headers & definition files:

      lime_mingw_generate_proxy(${PROJECT_NAME} "<path/to/exports/file>")

      To setup the proxy functions include <exports.hpp> and call lime::setup_proxy(path_to_original_dll);

      [!NOTE]
      When working with c strings you might need to explicitly specify the char type to be used, i.e. lime::setup_proxy<char>(...)

๐Ÿ› Bug Fixes

  • Link required libraries on Windows
  • Windows/MinGW detection in entry-point

๐Ÿ—ž๏ธ Minor Changes

  • Code Refactor
  • Use Boost::ut over Catch2

Lime v2.2

21 Aug 12:35
Compare
Choose a tag to compare

v2.2


๐Ÿ—ž๏ธ Changes

  • ๐Ÿ” Use case insensitive lookup for modules on windows

    This follows the behavior of WinAPI functions like GetModuleHandle

  • ๐Ÿ› Minor Code-Refactors & Bug Fixes

Lime v2.1

24 Jul 08:56
99d45e5
Compare
Choose a tag to compare

v2.1


๐Ÿ—ž๏ธ Changes

  • ๐Ÿ“ฆ Update boost-callable-traits to 1.82.0
    • ๐ŸŽ‰ Resolves CMake deprecation warning

Lime v2.0

20 Jul 13:22
964c853
Compare
Choose a tag to compare

v2.0


Warning
This release bumps the minimum required C++ version to 20.
If you require support for C++17 please checkout the legacy branch.

๐Ÿš€ New Features

  • ๐Ÿช Hooks

    • Support for Lambdas as Detour-Targets
  • ๐Ÿ”Ž Instruction / Address Utility

    • [๐Ÿงจ BREAKING] from() will now check if the memory address is at least readable
      • and in case of lime::instruction also check if it is a valid instruction
  • ๐Ÿ”Ž Instruction Utility

    • immediates() and displacement() will now return more detailed information

โ„น๏ธ Other Changes

  • โ™ป๏ธ Merge certain utilities
    • [๐Ÿงจ BREAKING] Memory Protection Utilities were merged into lime::page
    • [๐Ÿงจ BREAKING] Read / Write Utilities were merged into lime::address

๐Ÿ—„๏ธ Removals

  • โŒจ๏ธ The Keyboard utility has been removed completely
  • ๐Ÿ–ฅ๏ธ The Console Utility has also been removed