Binary Ninja Deep Thoughts

State of the Ninja: Episode 11

It’s been quite a while since we’ve provided an overview of some of the recent activities of Vector 35 and Binary Ninja. The good news is that means this SotN is chock-full of goodies. Read on for a new contest, several new training opportunities, and a summary of the latest code changes.

In the code

First and foremost, there’s been a ton of changes since the last update, so I’m only going to cover the highlights here.

Today we released another latest stable (version #1339 – I know, we’re bummed we had to add those two extra commits too) with many important new features:

  • When you encounter unknown stack alignment (particularly a problem for callee cleanup ABIs), a new manual UI makes resolving the issue much faster, and an internal solver means you won’t even need that UI most of the time.
  • The new arbitrary FlowGraph API is just one of many in-progress 1.2 UI improvements that made this release.
  • Our QT version has been updated to QT 5.11.1.
  • Searching, setting types, and displaying UTF-8, UTF-16 and UTF-32 is now possible in the strings and disassembly views.
  • We have switched to Intel XED for x64/x86 disassembly (also allows for 8086 disassembly though without supporting segment selectors in the core, so still work to be done).
  • You can now search within the types view
  • Main python API now supports both Python 2.7 and Python 3.6 (Python 3 support is in beta)
  • Find more functions! Linear Sweep is now enabled by default and a new “Open With” option added for customizing initial analysis.
  • And of course, we’ve added all the usual bugfixes and performance improvements you’d expect along with many other small changes.

For the rest of the details, you can always check out the full changelog.

In the team (we’re hiring!)

The team has been growing! We’re now up to 7 full time Vectorites (Is that a thing? Sure, let’s make that a thing). And in fact, we’re always happy to talk to new folks even if we don’t have any current openings. You never know when we’ll have an opening and talking to us beforehand never hurts. And on that topic, we’re currently accepting applications for a position we expect to fill in November. This role will not be initially working directly on Binary Ninja, though there is the possibility that it changes in less than a year. For that position, we’re looking for the following:

  • Required:
    • Cross-platform development experience (Windows, FreeBSD, Linux, Android)
    • C++/C/Python (5+ yrs of experience)
    • x86/x64 assembly (2+ yrs of experience)
  • Desired:
    • Reverse engineering
    • Vulnerability Research
    • Exploit development
    • Experience building offensive security assessment tools

New Training

Two new training opportunities are coming up in November and we’re extremely excited about both of them. First, if you’re interested in really upping your game specifically with Binary Ninja, learning more about using the API, ILs, and hearing from the most knowledgable binary ninja out there, you need to check out Josh Watson’s upcoming training in Santa Clara, California on November 9th. If you’ve ever joined our slack and ask a question it’s likely that Josh was the one who answered, and we’re hoping he does many more courses like this.

Second, if you’re newer to reverse engineering or looking for something less focused on Binary Ninja in particular (or just limited to the east coast), you’ll want to check out the Barr Group’s Software Reverse Engineering and Security Analysis course happening in Germantown, Maryland from November 13th to November 15th. Brought to you by Anthony DeRosa, one of the developers of ODA, this three day course is sure to be a great overview of RE.

And even better, both courses include free licenses for Binary Ninja as a part of the registration! If you’ve already got a license, consider using it as an opportunity to gift a non-commercial license to someone else.

Contest!

Want some free Binary Ninja gear? We’re running a contest for the next month to find the best user-submitted color schemes for Binary Ninja and the winners will get prizes! Details over on the contest page

Upcoming Events

Dates Event
2018-11-09 Josh Watson’s Binary Ninja Bootcamp
2018-11-13 - 2018-11-15 Anthony Derosa’s Software Reverse Engineering