binaryninja-api icon indicating copy to clipboard operation
binaryninja-api copied to clipboard

Remove loader.architecture override handling in views

Open zznop opened this issue 9 months ago • 0 comments

Fix for https://github.com/Vector35/binaryninja-api/issues/5362#event-12730665835

It's important to understand that this PR still allows for backwards compatibility and doesn't prevent the use of loader.architecture for overriding the architecture. loader.architecture has been deprecated for loader.platform, so if they use loader.architecture, it gets reset to loader.platform (which is an override that's handled by all the views).

Example of the new behavior (if they use the deprecated loader.architecture setting):

>>> bv = load("test.exe", options={"loader.architecture" : "armv7"})
[0:6451428262981885673 Settings warn] Setting 'loader.architecture' deprecated by 'loader.platform'.
>>> bv.arch
<arch: armv7>
>>> bv.platform
<platform: armv7>

How we want users to do it from now on:

>>> bv = load("test.exe", options={"loader.platform" : "efi-x86"})
>>> bv.arch
<arch: x86>
>>> bv.platform
<platform: efi-x86>

zznop avatar May 08 '24 19:05 zznop