IDA 9.4 makes getting around a binary faster. The Jump dialog becomes smarter by default, a new Pathfinder answers reachability questions directly from the cross-reference graph, and a batch of quality-of-life fixes smooth out the everyday interface.
IDA 9.4 introduces the new Jump dialog. This dialog debuted in 9.2 under the name Jump Anywhere as an opt-in alternative to the classic Jump to address dialog, matured in 9.3 with asynchronous search and demangled-name indexing, and now, in IDA 9.4, it graduates from "the other dialog" to the dialog. Pressing G opens it by default; the muscle memory keeps working, only the dialog behind it gets smarter.
G is now Jump AnywhereThe 9.4 default binding for G is the Jump Anywhere dialog. Same key, same place, same muscle memory, only now the dialog accepts names, expressions, segment-relative addresses, and script identifiers without you having to remember which dialog handles which.
Existing input forms still work unchanged:
401000, 0x401000)seg:off for segmented inputs+100, -10000)sub_401000, loc_4010A0)$ as the current addressWhat's new is that the same keypress now also gives you a live, ranked result list across functions, names, local types and segments, without breaking any of the above.
The list under the input is more than an address picker. A single query searches every kind of thing in the database at once - functions (library and imported ones included), names (data, strings, and the auto-generated sub_, loc_, a… labels), local types, function comments, and segments - ranks the hits by how well they match, and highlights the characters you typed.
That last bit catches people out: yes, your types are in there too. Type sig and the list interleaves the sigprocmask function, the sigaction and siginfo_t structures, and the aSigaction string literal - each one a single Enter away, the preview pane already showing you where it leads. You stop having to know in advance whether the thing you're chasing is a function, a label, or a struct; you type part of its name and Jump Anywhere sorts the rest.
As you move through the result list, a preview pane shows you exactly where each row leads, before you commit the jump. Toggle it between Disassembly, Pseudocode (for functions you've already decompiled), and Hex with the buttons next to the input, and Jump Anywhere remembers your pick for next time.
We hear you. If your fingers expect a no-distractions address prompt, you can keep one. A Feature Flag in Options → Feature Flags… restores the classic Jump to address dialog for G; the new dialog is then still available as the Jump Anywhere action in the Jump menu.
EnterA common pattern with the old G was "press G, type the same thing again, hit Enter." In 9.4 the dialog opens with your most recent jump already selected, so G ↵ takes you straight back to the last place you went: two keystrokes, no typing. Need an address from further back? Arrow down through the history first, then Enter.
If there's something you want to type into Jump Anywhere that doesn't work yet, tell us. The dialog is the one place every navigation request lands, and it's easier to add a syntax than to argue about which menu it should live under.
Every reverse engineer knows the question. You are staring at a dangerous function, system(), a crypto routine, a privileged syscall wrapper, and you need to know: can the code I care about actually reach this? Or the inverse: does the data that arrives in recv() ever flow anywhere interesting?
Until now, IDA's answer was to chase cross-references one level at a time, or to open Xrefs graph to/from and squint at the resulting hairball. The information was always there (the xref graph knows every caller and callee), but the question you wanted to ask was about paths, and there was no way to ask it directly.
IDA 9.4 adds one: the Pathfinder.
Open the Pathfinder with Shift-F9 (or View → Open subviews → Pathfinder). Add two waypoints, the from and the to, and IDA immediately searches the cross-reference graph for every path connecting them.
The result appears right in the widget: between each pair of waypoints you see how many functions participate in some path and how short the shortest connection is ("N nodes, shortest path: M"), and a status bar beneath the waypoint list sums it up ("Found N unique nodes across M segment(s)"). If there is a route, Pathfinder says so, which is often exactly the answer you needed ("Yes, attacker input can reach this sink").
Waypoints can be added three ways:
Ctrl-Shift-F9). This is the fastest way: navigate where you care, press the key, move on.Paths are rarely a two-point question. Pathfinder accepts an ordered list of waypoints, A through B to C, and finds paths that visit them in order, segment by segment. Drag rows to reorder; the per-segment counts update as you go.
And when the search keeps routing through some hyper-connected utility function that you know is noise, a logging helper or a generic wrapper, drop that function into the Exclusions panel and it is banned from every path. Drag it back up into the waypoint list to re-include it. (Remove any row with its ✕ button; a right-click Clear empties a whole list at once.)
Two checkboxes and a slider tune the search:
Numbers are an answer; a picture is an explanation. Pathfinder has three buttons for that:
The graphs Pathfinder creates are ordinary xref graphs, saved with your database and listed in the Xref Graph manager, which is itself new in 9.4: a dockable widget where saved graphs live in folders, with live node counts. Pathfinder even files its graphs into a dedicated Paths folder there.
Waypoints, exclusions, and options are saved with your desktop, per database. Close IDA mid-investigation, reopen the IDB tomorrow, and your waypoint list is still there, paths recomputed and ready.
If there is a question you want to ask the xref graph that Pathfinder can't express yet, tell us. The widget is new, and the whole point is to let you ask path questions directly instead of reconstructing answers by hand.
Not every improvement earns its own headline. Here are the small wins that clear friction out of the everyday interface, grouped by where you'll notice them.
Taken together, navigation in 9.4 gets both smarter and deeper. The Jump dialog answers "where is this?" the moment you press G, and Pathfinder answers "how do I get from here to there?" straight from the cross-reference graph, while a batch of quality-of-life fixes clears the small frictions out of the way. Many of these improvements started as customer requests, so thank you for your feedback. If there's a navigation workflow or a path question you'd like IDA to handle, tell us on the forum: https://community.hex-rays.com/ or contact support@hex-rays.com.