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

adds integration with ida 7 #893

Merged
merged 6 commits into from Nov 8, 2018

Conversation

Projects
None yet
2 participants
@gitoleg
Contributor

gitoleg commented Nov 5, 2018

This PR adds an integration with IDA PRO 7 and doesn't break a support of the previous IDA version. Also, there are not any changes from the user perspective, like new parameters to configure script or cmd line parameters.

Details

So, right now we have two IDA versions, and we need to support both of them.
Luckily for us, the only observable difference for bap side is a naming of IDA executables:

 IDA 6:  idaq  |  idal  |  idaq64  |  idal64  
 IDA 7:  ida   |  idat  |  ida64   |  idat64  

I don't see any reasons to make changes in our configure script, e.g. to add an --ida-version parameter, because it will add a bunch of bugs and issues.
Anyway, IDA versions don't change too fast (e.g. like LLVM versions do), so I wouldn't be so eager to tie anything but some implementation details to concrete IDA version.
And finally, bap exec --ida-path=... is sufficient to switch between two versions (if someone ever need to).

@ivg

This all looks good, but I have a hope that since IDA 7.x we no longer have to impose the same restrictions on the terminal (headless) version of IDA, and it might work in more general context (if not to say always).
So could you please check if we can actually run idat/idat64 always?

@ivg
  1. Please, refine the error messaging so that your invariants won't leak (in other words do not imply that a user will have the same context as you the code writer)
  2. Do we expect idat to work fine on Mac OS X also?
@ivg

ivg approved these changes Nov 7, 2018

| Ida_python_missed-> 5
let string_of_failure = function
| Ida_not_exists -> "IDA path not exists"

This comment has been minimized.

@ivg

ivg Nov 7, 2018

Member

doesn't exist

@gitoleg gitoleg merged commit d2a18af into BinaryAnalysisPlatform:master Nov 8, 2018

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment