IDA Xrefs From/ToAuthor: David Zimmer Date: 12.10.25 - 9:26am Sooo, IDA 9.2 has ditched the external qwingraph.exe and is now using an internal radial graph. I used to have a qwingraph.exe replacement that had node click navigation to make IDA jump along with bulk renaming for call trees etc. So I have been forced to implement my own graph file generator and now we are completely independent from the UI on this front. I also took the opportunity to implement some more features seen below.
I am playing with some ideas on the listview display. We currently include some extra fields such as:
The string refs will give you an idea where to scan for quick wins. The node right click menu has options to graph xrefs Above/below so you can expand and explore other call trees. A remove nodes above/below allows you to quickly trim a tree and eliminate noise. Its is now integrated into IDA Jscript 3. I added a global function in userlib.js so you can just call graph("fxNameOrEA","from") and it will do everything for you! It also has some smart defaults so it can be as simple as calling graph(). The logic defaults are below: function graph(fx,mode) { var js; if(!mode) mode = 1 //if omitted default is from if(!fx){ //if omitted (or 0) defaults to current function fx = ida.FunctionStart(ida.FuncIndexFromVA(ida.ScreenEA())) if(fx < 1) return print(h(ida.ScreenEA()) + " not in a function"); } if(mode == 1 || mode == "from"){ js = ida.xRefsFromGraph(fx); } else if(mode == 2 || mode == "to"){ js = ida.xRefsToGraph(fx); } else{ js = ida.xRefsFullTreeGraph(fx); //anything else = both } print(js) //json object {count,path} if(js.count < 1) throw new Error("Graph generation failed") app.showGraph(js.path); } Pretty handy! Comments: (0) |
About Me More Blogs Main Site |