![]() You can, of course, modify this default behavior using Open With Options or by changing settings in the PDB category. We also support significantly more search/discovery of PDB files such as following ptr files and environment variables. The new behavior is to load and use the PDB before other analysis begins. The old default behavior did a full linear sweep and complete analysis before applying any information gleaned from the PDB, which often resulted in redoing a significant amount of analysis. Additionally, loading a PDB is both faster and results in more accurate analysis. Instead of having to manually trigger a PDB load as you did on 3.1 (with the Tools -> Plugins -> PDB -> Load menu option), the default behavior is to simply open a PDB (if one exists) or download one from public PDB servers (if one is available). The experience for loading files with associated PDBs is also vastly improved. ![]() Note that significantly more types are being properly extracted: It’s also been helpful to have a first-class solution to test the new DebugInfo APIs so that we could work on the workflows and UI associated with loading debug information in a way that will benefit other types of debug information in the future.īut, don’t just take the number of closed issues as proof, here’s a great before/after showing how much better the new PDB support is for one particular binary. From leveraging the DebugInfo APIs for automatically applying PDB information when available to much better support for loading types, our ability to ingest PDB information has dramatically improved. This rewrite resulted in a ton of improvements to Binary Ninja’s PDB support. There’s also more fixes planned once that PR is accepted. To improve PDB support, we’ve rewritten it entirely to leverage pdb-rs, which we’re happy to be committing improvements to upstream. Our previous PDB support was written in-house before any public specification releases and, while we’re proud to have had one of the first cross-platform solutions to loading PDB files in a reverse engineering tool (we’ve never required a particular OS to load debug information, all our features are fully cross-platform), our previous solution for loading PDBs was not without downsides. That leaves a UI picker to let you choose appropriately matching enums for a given constant as the only remaining feature to be completed.īinary Ninja’s PDB support has been rewritten from the ground up. Note that this is in addition to existing support for enumerations when typed as a function argument (shown below). Even better, this is often handled for you automatically with the improved Windows type libraries from 3.1.Ĭonsider the following simple example (to the right) showing how comparisons, math operations, and switch operations using an enum all properly render. While that specific issue has unfortunately been moved to the next release, it turns out that changes made on this release render it unnecessary for most situations! With this release, enums are rendered appropriately in most places in IL once the appropriate type has been set. The most commonly up-voted issue still open is about specifying enumeration values. For example, the improved enumeration support below isn’t explicitly for Windows, but PE files definitely benefit, especially with improved type library information. And, of course, not all the features are headliners or Windows-specific, but will still show important improvements. ![]() While it’s a bit presumptuous to think any single release could contain everything to solve all Windows binary analysis, our goal was to have this release represent a major step forward for PE support. ![]() Major Changes Enhanced Windows Experienceįor a long time, we labelled this release as the “Windows” release. If you’d like to get a copy (or renew your support) of Binary Ninja Commercial at its current price, act fast! And, if you really like the product, remember that you can purchase multiple years of support at once to lock in the current price. Price ChangeĪs a reminder: The price of Commercial license purchases and support renewals will be increasing to $1499 and $749 respectively on November 1, 2022. While we have some additional Windows improvements coming in future releases, the majority of our short-term Windows roadmap has been completed for this release and should represent a major improvement for all Binary Ninja users working with PE binaries. Named and Computer Licenses for Enterprise.After 4 long months of development, Binary Ninja 3.2 is finally here with a huge list of major changes and an even bigger list of minor ones: ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |