Skip to content

Conversation

@sam-f0
Copy link
Collaborator

@sam-f0 sam-f0 commented Aug 8, 2025

No description provided.

sam-f0 and others added 30 commits February 6, 2025 11:28
* Checks for valid address range.

* Fixed libraru ordering.

* Removed unused imported.
* User can order context sections with the list in the output_order setting.

* Fixed library order.

* Moved validation for the output_order setting to validate_settings.

* Defined a default output order.
* User can order context sections with the list in the output_order setting.

* Fixed library order.

* Moved validation for the output_order setting to validate_settings.

* Defined a default output order.

* Modified error messages.
* Implemented stack canary, NX, and PIE checks for checksec command.

* Implemented no rpath, no runpath, partial relro and ful relro checks for checksec command.

* Clean up. Using builtin architecture functions. Check for valid target executable.

* Refactor checksec.py such that helper functions are in common/checksec_util.py

* Improved python docs. Moved constants to constants.py

* Modified constant definitions.

* Improved some python docs.

* Improved some python docs.

* Finished python docs.

* Added comment to the module 0 problem in the get_dynamic_entry function.

* Added comment.

* Defined constants for program header offsets.

* Improved error handling on memory reads for checksec.

* Minor refactoring.

* Minor refactor.

* Moved read_program to util.py. Added decorators to check for valid target and elf file type.

* Fixed library ordering.
* Started implementation of the scan command. ReadUnsignedFromMemory function isn't returning any data.

* Working version of the scan command.

* Scan command now takes custom address ranges.

* Added another python doc.

* Fixed library import order.

* Improved error handling.

* Now using the existing 'print_stack_addr' to dereference address results.

* Fixed address range parsing.
* is_code function now checks if the address is within a .text section and the data at the address is not ascii.

* Fixed library ordering.

* Minor fixes and refactoring.

* Fixed library ordering.

* Commented out 'not is_ascii_string' test on is_code function.
* Rough working version of dereference command. Follows address chain and decodes any instructions pointed to.

* Good working version of dereference command. Fixed the attempt_to_read_string_from_memory function.

* Implemented offset base option to the dereference command.

* Remove change to xinfo command.

* Added some python docs. Reference hex_int and positive_int from util.py

* Moved hex_or_str function to util.py

* Added python doc.

* Fixed format issues.
* Implemented LLDB to Clang version convertion on the check_version function.

* Fixed library ordering.

* Fixed formatting.

---------

Co-authored-by: Foundry Zero <opensource@foundryzero.co.uk>
* Fixed 'clear_page' function so that is doesn't cause issues in xcode terminal.

* Added default line length for context headers.

* Improved terminal column code.

* Fixed library ordering.

---------

Co-authored-by: michael <michael@FZ-Corp-MacBook-Pro.local>
* Fixed code and stack highlighting for mac.

* Fixed ELF file check.

* Fixed 'xinfo' command on mac.

* Removed commented code.

* Fixed looping problem in 'dereference' commands.

* Added error message about memory region names for 'scan' command on mac.

* Minor fixes.

* Fixed heap highlighting for mac.

* Changed method to find heap memory regions by using ellimation.

* Added check for writable region on heap check.

* Fixed positive_int argument function.

* Fixed library ordering.

* Fixed flake8 problems.

* Modified output message.

* Moved magic bytes of executable files to constants.py

* Removed heap region code based on malloc allocation on the process.

* is_in_section function now only has one return statement.

* Refactored is_text_region function to reduce if statements.

* Fixed previous commit.

* Fixed library ordering.

* Added method doc to is_file function.

* Fixed stack_regions issue.

* style fixes

---------

Co-authored-by: Foundry Zero <opensource@foundryzero.co.uk>
Co-authored-by: michael <michael@FZ-Corp-MacBook-Pro.local>
Co-authored-by: sam-f0 <116253255+sam-f0@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
* Failed attempt.

* Working version.

* Added some python docs. Added a check on extract_instructions function.

* Fixed library ordering.

* Minor bugfix on print_instruction function.

* Changed return type from 'tuple' to 'Tuple'.

* Removed a comment.

* Supports multiple disassembly flavours.

* Fixed library ordering.

* Minor changes.

* Removed debug print.

* Disassembly syntax is now cached on context reflesh.

* Using GetSetting function if LLDB version is >= 16.
* Moved output functions from util.py to output_util.py

* Fixed imports. Fixed LLEF state passing. Refactored context_handler.py to use color_string function.

* Fixed library ordering.

* Fixed flake8 issues. Hexdump now uses @check_process.

* Minor fixes to python docs and inconsistent use of color_string.

* Added back the missing find_stack_regions function.

* Fixed spacing on print_message.

* Moved change_use_color function from output_util.py to state.py

* Fixed loading of LLEF state.
# Conflicts:
#	common/util.py
* Moved checksec command functions from checksec_util.py to checksec.py

* Moved scan command functions from scan_util.py to scan.py

* Moved dereference command functions from dereference_util.py to dereference.py. Modified some output code to use color_string function.

* Fixed library ordering.

* Removed broken import.

* read_instruction function now uses the disassembly syntax/flavour setting
* Seperate xinfo data into seperate function get_xinfo.

* Seperate checksec data into seperate function check_security.

* Define each security feature in an enum. Used color_string to color output results.

* Seperate dereference output and data into seperate functions dereference and print_dereference_result.

* Seperate scan data into seperate function called scan. Added return types to functions.

* Fixed Flake8 issue.

* Fixed typo.

* Define each xinfo information in an enum.

* Minor output change.
* Added new colour setting which colours the address operands in the code section.

* Refactoring instructions functions into separate file. Added logic to color instruction operands.

* Updated python doc comments.

* Minor fix.

* Operand registers are highlighted using a regex that includes all register names.

* Fixed the load disassembly syntax flavor bug.

* Fixed the regex for operand highlighting on macos.

* Fixed regex for register highlighting.

* Fixed library ordering.

* Removed unused imports.

* Fixed a bug to correctly identify section names by searching section parents.

* Removed un-needed register list logic.

* Added comments to explain color operand regex patterns.

* Fixed a doc comment.

---------

Co-authored-by: michael <michael17@foundryzero.co.uk>
* Added a setting to truncate output lines to fit terminal width.

* Fixed library ordering.

* Fixed formatting.

* Added missing doc comment. Added missing type annotation.

* Fixed library ordering.

* Removed unused imports.

* Improved the truncate_line function.

* Improved the truncate_line function.

* Info, success and error messages are now never truncated.

* Fixed formatting.
sam-f0 and others added 3 commits February 7, 2025 14:06
* Add feature for heap enumeration

* Fix import ordering

* Fix ordering of typedefs causing type error, add fallback to default heap identification technique in error condition, add visual indicator when using Darwin heap scan feature.

* Tweaks
@sam-f0 sam-f0 force-pushed the feature/beta-2.0-release branch from 8abf42b to a614039 Compare August 8, 2025 14:21
@sam-f0 sam-f0 merged commit 28b33ec into main Aug 8, 2025
8 checks passed
@sam-f0 sam-f0 deleted the feature/beta-2.0-release branch November 13, 2025 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants