| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
read invalide address (#2270) * add uc_ctl_get_invalid_addr this allows to read out the address where an error happens. * mmu hook: use a seperate error code This way the user must not track the error reason * fixup! mmu hook: use a seperate error code | 7 个月前 | |
Fix possible leak in hooks | 4 年前 | |
Optimize memory handling (#1963) * optimize ram block handling Save the last element of the ram_list. This allows to faster find where to add new elements when they are not bigger then page size. * save ram_list freed this keeps the optimization for find_ram_offset() intact after snapshot restore. * cow only clear the tlb of affected pages * update flatview when possible Building each flatview new when the memory has changed is quite expensive when many MemoryRegions are used. This is an issue when using snapshots. * update benchmark for new api * save flatview in context this avoids rebuilding the flatview when restore a context. * init context flatview with zero * address_space_dispatch_clear remove subpage with higher priority * docutemnt the options for UC_CTL_CONTEXT_MODE Specialy stress that with UC_CTL_CONTEXT_MEMORY it is not possible to use the context with a different unicorn object. | 1 年前 | |
arm64: Add PAuth helpers for signing, stripping and authentication of pointers (#2262) * Make __ctl_wr work for an arbitrary number of parameters * Rename test_arm64_v8_pac to test_arm64_v8_cas as it tests CAS not PAC * Add PAuth helpers for signing, stripping and authentication of pointers Add UC_CTL_PAUTH_SIGN, UC_CTL_PAUTH_STRIP and UC_CTL_PAUTH_AUTH as an architecture-independent interface to pointer authentication operations without having to execute instructions on the virtual CPU. This is useful in many scenarios, for instance when rebasing signed pointers as part of loading code that runs with PAuth. The C interfaces are covered by a unit test. The Python interfaces have been tested in a real world project. * Fifth PR, add myself to CREDITS.TXT * Remove static_assert for better portability * Make test_arm64 slightly more robust * Add test for vanilla PAuth without helpers and refactor tests * Typecast arguments to PAuth uc_ctl_* macros Fixes issue where literal arguments would be written to variable argument memory as an int, but subsequently read from va_list as a uint64_t, which on some platforms might be a different size and lead to corruption of later arguments, breaking PAuth helper functionality or causing segmentation faults. * Clean up PAuth test init code for reuse by future tests | 8 个月前 |