On a 16bit real mode x86 program I can locate a string that is displayed on screen. How do I go about finding all the places this string is called from to trace back the "print" function?

  • 2
    Have you tried pressing x in IDA when this string is selected? – bart1e Jul 19 '19 at 19:12
  • @bart1e no cross references listed for ANY strings. Even ones that I know get displayed. As this in an embeded rom I also cant press c at the reset vector either so a lot of the auto eploring doesnt seem to work. – uMinded Jul 19 '19 at 20:41
  • @uMinded When you are analysing dynamically you can try a hardware breakpoint on the string - this won't give "all the places", but probably some interesting starting points – Anonymous Anonymous Jul 20 '19 at 18:27
  • In the past I was able to use W32Dasm to find string references for a similar binary when IDA and Ghidra failed (select Refs -> String Data References). – Dvd848 Dec 16 '19 at 20:46

Try searching for INT 10h, that's the x86 BIOS interrupt that allows you to output text to the screen, as well as change the video mode and cursor position among other things.

  • 1
    I should have mentioned its an embeded rom so not a standard bios. I am trying to track down this exact call idea though. – uMinded Jul 19 '19 at 20:39
  • @uMinded agreed, and moreover you should edit this into your question. These are the things anyone willing to assist needs to even attempt to help. – 0xC0000022L Dec 17 '19 at 22:43

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.