Newer dyldcaches have more fields in the header. This change adds
heuristics for determining the version and reading and displaying the
newer fields if available.
* Return error codes on failures
Many rz_egg_* APIs can fail, but failures were previously ignored by rz-gg (or just logged).
Exit on failure, and attempt to detect more possible failures.
* Fix rz_egg_padding error format
* Mark failing tests as broken
This is not a perfect solution. the problem is that in big-endian environments, immediates
are encoded according to the host endianness for some reason.
In any case, add a test that the compilation does not fail completely.
* verneed vn_cnt bug fix
* versym bug fixed
* added test for elf symbol version bugs
since the bugs are just problems loading the elf files the test is just looking for a timeout
* Improve cmd_help.yaml and fix a small bug
* Add support for 64bit random numbers
* Make a distinction between 32- and 64-bit PRNG
* Add documentation for new functions
* Change the RBTree test to use 32-bit random numbers
When resizing files through `r` commands, although the buffers seemed to
be resized while the file was opened, the files were not really
truncated. Thus when re-opening the written file, no actual change was
made.
aalo is renamed to aalor to make room for the new aalos command, which
analyzes the __objc_stubs section and assigns names to all detected
selector stubs there. The stub patterns currently supported are all that
are hardcoded in ld64 version 820.
This analysis is also run automatically in aaa if the binary is detected
to potentially having such stubs.
To cleanly rename functions which have been created previously at
unnamed stub locations, rz_core_analysis_function_rename() has been
enhanced to not leave behind flags called fcn.0x<offset>.
arm64_32 is AArch64, but using 32bit pointers, which is primarily used
on watchOS. Handling DYLD_CHAINED_PTR_32 fixups is necessary to
correctly load such binaries.
* Fbasic dev build test
* Add fbasic structure and enums
* Add fbasic op new
* Add fbasic op dup
* Add fbasic op free
* Add partial theory of float
* Add fbasic handlers to pure table default
* Add fbasic stringfy
* Add temporary float functions
* Add rz-float value and evaluation
* Add float json dump functions, todo add mode info in il_opdmp_* functions and compelete il_resolve_pure
* Complete fbasic il in il_export
* Fix detected error in compilation
* Add doxygen for il/definition/float
* Pack float_round function
* Add new version of rounding
* Add cast and convert, todo add 'float_get_sign' and 'float_get_no_bias_exp'
* Add comments and fix new version rounding
* Add util float functions
* Implement theory fbasic : cast, convert and round
* Remove bv_one warning
* Move basic functions into rz_util from definition/float
* Add two basic test cmp and extra format test
* Add test to fsucc, fpred and fneg
* Add round significant test case 1 and fix bug to pass it
* Test round significant and bug fixes
* Add 6 types test cases to round_and_pack function
* Finish round significant and round_pack test with bug fixes and signature changes
* Leave fround as unimplement now
* Pass all test to cast and convert
* Add SPDX header
* Add SPDX header
* Add round to integral float with test and bug fixes
* Add more tests to cast_sint and bug fixes
* Fix mem leak in cast_sfloat
* Replace the deprecated rounding method, fix bugs and pass tests
* Resolve some reviewed issues
* Fix most memleak and bug found
* Remove deprecated round_bv
* Remove unused functions to eliminate warnings
* Fix typo in comments
* Uncommented implmented operations
* Add test cases and bug fixes for fbasic theory in rzil
* Fix ret type of new_bitv_from_* from Bool to BitVector
* Add new float op from f32 and f64
* core: 'wow' command was replaced with 'wb'
* io: on_map_skyline returns false when nothing was done
Before this patch on_map_skyline returned true even when the callback
was not called on any part of the skyline. In other words,
reading/writing to an unmapped memory returned true.
This commit changes the behaviour to return false in those cases.
* analysis/esil: mem_read/mem_write were alway returning true
* use o malloc instead of oC
* librz: deal with seek errors
The arrow info is needed to print custom reflines, for example in
Cutter. In such a case, asm.lines will generally be false to not have
the lines also printed inside the text.