qiling
qiling copied to clipboard
Tenet Tracer
Checklist
Which kind of PR do you create?
- [x] This PR introduces a new function/api for Qiling Framework.
This pull request adds a tracer for IDAPro's Tenet plugin in the extensions. The code structure is based completely off of the coverage extension using the context manager, allowing other tracing formats to be easily added in the future.
Currently supports:
- arm
- arm64 (Tenet only supports up to 32 registers, so only up to X29 could be added)
- x86
- x64
Coding convention?
- [x] The new code conforms to Qiling Framework naming convention.
- [x] The imports are arranged properly.
- [x] Essential comments are added.
- [x] The reference of the new code is pointed out.
Extra tests?
- [x] No extra tests are needed for this PR.
- [ ] I have added enough tests for this PR.
- [ ] Tests will be added after some discussion and review.
Changelog?
- [ ] This PR doesn't need to update Changelog.
- [x] Changelog will be updated after some proper review.
- [ ] Changelog has been updated in my PR.
Target branch?
- [x] The target branch is dev branch.
One last thing
- [x] I have read the contribution guide
Thanks! It seems to be a different tracer compared with the existing trace extension made by @elicn
Thanks! It seems to be a different tracer compared with the existing trace extension made by @elicn
No problem, figured I'd share the code I had to make anyways. Yeah that one is for viewing the straight disassembly trace out of the box. This one is loaded into IDA's Tenet so you can see how it ran through the decompiled binary, what basic blocks it took, etc..
Nice work! Welcome to Qiling!