Skip to content

Releases: Curve/lime

Lime v6.0

22 May 12:10
3df2b67

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

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

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

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

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

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

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

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

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

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