For MHS 4.0.0.14:
BlackDove wrote:#1:
I could not get the expression evaluator to list modules even with Alt+Enter.
The Helper window does have an Import section, but this does not list module base addresses.
The
Exports tab in the
Disassembler now lists all modules.
Furthermore, the
Properties window allows you to snap the search range to the selected chunk or module.
BlackDove wrote:#2:
Saves typing and retyping module name to get base address when game is restarted.
SO() and EO() operators have been added to the Expression Evaluator. SO() = sizeof(), and returns the size of a module. EO() = endof() and returns the ending address of a module.
All search dialogs now allow valid expressions in all edit fields, so you can set your search range to:
Start:
pbcl.dll To:
eo( pbcl.dll )BlackDove wrote:#3:
This is essential - who wants to be bothered having to type when a simple mouse click should be able to take you back in memory?
It will be done with the keyboard. Changing the scrolling system is quite a hassle; rather
Page Up and
Page Down should suffice.
BlackDove wrote:#4:
The process / area of memory is not protected. It simply does not write (does not work on Windows Calculator for example).
NOP Selected works. The memory is protected—even Calc.exe has read-only code and you can change its protection from the
Properties dialog.
BlackDove wrote:5. Add in a Force Jump right near the NOP Selected option like TSearch's debugger has.
We’ll see. I have never used TSearch so I wouldn’t know how they implemented this feature. My guess would be that all you have to do is enter the address where you want to JMP, which saves you from typing “JMP ”. I already plan to add an
Assemble command which simply changes one line of code, so if all from what you are saving yourself is 4 characters I’m not really sure of the value of this feature.
BlackDove wrote:#6:
Okay, never fully looked into group search.
Group Search doesn’t do exactly what your request was, but it may work regardless.
Furthermore, regular
String Searches (
Wildcards) work for many cases, and there is a
Script Search as well that is guaranteed to be able to give you the functionality you desire.
With 3 ways to get the job done it is probably not valuable enough to make it into a new
Evaluation Type (remember, I can not just change the existing
Hex String search because the method for searching wildcards has no optimizations and it would slow down the existing search (which is shared by the
ASCII and
Unicode types) to switch to that method. I would have to make a new
Evaluation Type and new parsers for it).
If you did not know that the
Wildcard,
ASCII, and
Unicode searches are binary, now you do. This means you can put any character into them using escape sequences.
Most of the other points are already in the current build and ready for the next release.
L. Spiro