Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rz probana #4212

Draft
wants to merge 5 commits into
base: dev
Choose a base branch
from
Draft

Rz probana #4212

wants to merge 5 commits into from

Conversation

Rot127
Copy link
Member

@Rot127 Rot127 commented Feb 12, 2024

Your checklist for this pull request

  • I've read the guidelines for contributing to this repository
  • I made sure to follow the project's coding style
  • I've documented or updated the documentation of every function and struct this PR changes. If not so I've explained why.
  • I've added tests that prove my fix is effective or that my feature works (if possible)
  • I've updated the rizin book with the relevant information (if needed)

Detailed description

Todo

  • Allow to set regex for malloc function matching via config

Test plan

...

Closing issues

...

Add combination of flags, to make usage easier in Rust.

Add rudimentary API for instruction word decoding.

Implement instruction word decoding for Hexagon.

Extract reading a new op into a helper function.

Enable CFG generation of instruction word archs

Invalidate pointer after iword was finished.

Generate iword by checking HexInsnContainer

Zero values of iword in fini

Add flag if a packet should be assumed as valid.

Set iword properties in separated function

Ignore aop->fail, since it can point to the next instr. within the packet.

Extend SetU

- Add a getter for length of SetU.
- Add a foreach macro.

Add helper functions to check if RzAnalysisOp is a jump or call.

Don't add duplicate nodes.

Don't add duplicated edges to graph.

Add track call and jump targets in a Set for iwords.

Decode entry node before adding it.

Add a test for iword CFG generation.

Fix CFG invalid node test.

Handle decoding of invalid iwords in CFG.

Add the set of call targets to a CFG node of iwords.

Revert "Add the set of call targets to a CFG node of iwords."

This reverts commit c149237.

Add instruction words as CFG nodes.

Distinguish between subtypes of different graph node types.

Add getter for log level

Degrade to warning

Add subtypes to single instructions in an iword CFG node.

Lower logging level

Check for edge duplicates when adding one.

Handle insvalid instructions as EXIT nodes in a CFG (and remove duplicate code).

Revert log level increasing

Fix hash table init after rebase

Extend SetU

- Add a getter for length of SetU.
- Add a foreach macro.

Fix cgraph after SetU update

Add binding log function for plugins without varg support.

Use rz_io_read_at_mapped since it also reads bytes between mapped regions.

Fix memleaks

Remove diff

Remove check for legal NULL condition and handle it.

Fi signature.

Replace rz_io_read_at with rz_io_nread_at and add note for others.

Add check if function is calssified as an input function.

Add missing return register role

Lower allowed buffer size.

Unify mapped reading from mem

Allow decoding if data is read from an umapped region.

Remove dot from pattern

Add strict option for CFG generation.

It will omit nodes outside of the function detected by Rizin.

Add docs and assert

Fix rebase issues

Add a workaround for threads removing instructions too quickly from the packets.

Add a bunch of warnings

Add (breaking) tests for weird disassembly atterns.

Add return register roles

Mark jump nodes

Mark jumps in the CFG

Don't attempt iword decoding outside of map

Add CFG gen over function.

Fix: Don't add node outside of function to graph

Label jumps, tail calls and program exits in CFGs.

Fix tail calls of jumpt without known target.

Bring enums ins sync
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant