I have a program written in C++ with DirectX (as far as I know). The user interface has menus with buttons and other UI components. To automate a process I would like to find the function called by an event (eg. click on a specific button).

How can I identify such routines? Are there tools to help analyze and find those locations?

  • 2
    Can you identify on what UI framework this program is based?
    – PhoeniX
    Sep 7 '13 at 18:49
  • DirectX is a raw framework for graphics drawing. It doesn't actually have any native 'button' classes, all of the drawing on the screen is controlled by DirectX, but any user interface is built by the programmers, or the programmers of the UI framework. There is no silver bullet here, unfortunately. You might be able to find the default/main message loop (ala WndProc) and set a conditional break on a mouse event, like a button press.
    – fileoffset
    Feb 24 '14 at 2:44

You can use this tool MyNav. You can see some video examples here: Hex-Rays Plug-In Contest 2010. I think you're interested exactly on Analyzing Adobe Acrobat Reader's JavaScript plugin.

Also, you can use the commercial tool BinNavi.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.