Releases: Curve/lime
Lime 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
- Protection now defaults to
-
โ๏ธ Toolchain now static links by default
-
โจ๏ธ Instruction
- Improved
prev
accuracy
- Improved
-
๐งน Code Cleanup
๐ Bug Fixes
-
๐ช Hooks
- Use
bit_cast
for target / source casting
- Use
-
๐ Page Utility
- Properly cast limits
Warning
This update raises the minimum required compiler versions to those that implement P2210R2
Lime 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()
- Add
๐ 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
Lime v3.1
Lime v3.0
๐ต New Features
-
๐ Proxy
- Use
lime::module
- Move into
lime::proxy
namespace [๐งจ BREAKING]
- Use
-
๐ฆ 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
- More wide-spread usage of
-
๐งช Test-Suite
- Add more test-cases
๐ Bug Fixes
- ๐ Instruction
prev()
now correctly determines the previous instruction
Lime v2.4
Lime 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 calllime::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
Lime v2.1
Lime v2.0
Warning
This release bumps the minimum required C++ version to 20.
If you require support for C++17 please checkout thelegacy
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
- and in case of
- [๐งจ BREAKING]
-
๐ Instruction Utility
immediates()
anddisplacement()
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
- [๐งจ BREAKING] Memory Protection Utilities were merged into
๐๏ธ Removals
- โจ๏ธ The Keyboard utility has been removed completely
- ๐ฅ๏ธ The Console Utility has also been removed