Updates:
- Made two buttons for saving the dissected code state to your desktop. Also fixed an issue that could arise when you had a '-' in module names preventing the moduleName filter from working.
- Made the form start in the center of the screen. Added a toggle between case-sensitive. And added the ability to set software breakpoints on the list of instructions that reference the string. If the breakpoint is hit it will print the getNameFromAddress() and remove itself and the game will continue running.
- Modified the ListView to use the OnData function to populate it's contents instead of the EditBox's OnChange which seems to have sped things up significantly. Got the Idea from Retard in the CTG discord who asked DB. I also made the search convert each string into a byte table, and then converted that byte table into a hex string which seems to have taken care of issues regarding characters such as % (please let me know if this is not the case).
- Added spaces between each hex byte character to prevent erroneous detection.
This is a snap with the new buttons and the breakpoint list showing how it sets a software breakpoint for each instruction in the 'Referenced By' window:
It requires you to dissect code first but it will find all the reference points and clicking on them in the reference list will take you to the instruction address in the disassembler window.
The Selected Module Combo Box is for further filtering if you dissected multiple modules and wanted to only look at strings found in a particular region.
Hoping for some feedback on ways to improve the search speed or maybe use a separate thread for updating since I'm not really familiar with that area.
Cheers,
aSwedishMagyar