Skip to content

Conversation

juliangrtz
Copy link

Checklist

Which kind of PR do you create?

  • This PR only contains minor fixes.
  • This PR contains major feature update.
  • This PR introduces a new function/api for Qiling Framework.

Coding convention?

  • The new code conforms to Qiling Framework naming convention.
  • The imports are arranged properly.
  • Essential comments are added.
  • The reference of the new code is pointed out.

Extra tests?

  • 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.
  • Changelog will be updated after some proper review.
  • Changelog has been updated in my PR.

Target branch?

  • The target branch is dev branch.

One last thing


@elicn
Copy link
Member

elicn commented Oct 15, 2025

Hi @juliangrtz, welcome and thanks for the contribution. The IDA module has been suffering from low maintenance for quite a while, so this is most welcomed.

That said, the repeating if IDA_VERSION ... else pattern makes the code cumbersome and harder to maintain. Will it be possible to refactor this to have __init__ choose a set of internal methods to determine the necessary functionality? Having two IDA subclasses selected based on version, is even better.

If this is too much trouble, we can accept this change as-is and I'll work on refactoring this later on. I don't have an IDA license, so any help with testing would be appreciated.

@juliangrtz
Copy link
Author

Hi @elicn, I followed your suggestion and divided the IDA class into subclasses (IDA7 and IDA9). I also slightly refactored the way the Python Qt bindings are imported. Please review the changes.

Copy link
Member

@elicn elicn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does look better now.
Thanks for making the changes.

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.

2 participants