select multiple addresses/hotkeys.

Find a Bug? Have a Problem? Like to Suggest a Feature? Do it Here

Moderators: g3nuin3, SpeedWing, WhiteHat, mezzo

select multiple addresses/hotkeys.

Postby high6 » Sat Aug 05, 2006 7:13 am

well after using this for the first time i really liked it and i use it more then anything else because of its speed but it lacks something that i like in others. so here are my suggestions


1. ability to select more then 1 address and set the value along with delete multi.

2. add hotkeys. for example in artmoney u can set a hotkey to an address to add a number provided or set a value.

3. freeze process and resume with hotkey.
high6
Sir Hacks-A-Lot
 
Posts: 34
Joined: Sat Aug 05, 2006 7:06 am

Postby L. Spiro » Sun Aug 06, 2006 11:37 am

I am planning to go back over the Found Address list and add this detail, but it will be a little while.

I am currently rewriting the Disassembler.


As for hotkeys, I should put mention of this in the help file.
In fact, rather than having no hotkeys at all, Memory Hacking Software has the most functional hotkeys available.


Go to Tools/Options, and select the Hotkeys entry on the left.

Here you can add many functions to hotkeys, including pausing/resuming the process and modifying RAM addresses.
You can also attach script functions to hotkeys for even more functionality.

Also, the hotkeys come in two methods: Polling and Event.
The polling method creates a new thread which sits in the background and listens for your keypresses while the event method registers the hotkey with Windows and lets Windows send a WM_HOTKEY message to Memory Hacking Software.
Some programs block one method or the other, so I use both, ensuring 99% of the time one or the other will work.


The next release will explain hotkeys in the help file.


L. Spiro
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan

Postby high6 » Mon Aug 14, 2006 2:18 am

also when u go to do a sub search the textbox isnt focused. its easyer to change values if its focused so u dont goto constantly click in the box and type in the value.


also an option to add new addresses would be nice unless its alrdy in it and im just blind.


also 1 option u should really add is the ability to delete items out of the found address list.
high6
Sir Hacks-A-Lot
 
Posts: 34
Joined: Sat Aug 05, 2006 7:06 am

Postby L. Spiro » Mon Aug 14, 2006 1:33 pm

If you mean add new addresses directly (without searching), it is there.

Search/Insert Address.
Or hit Insert.


Removing addresses from the Found Address List is simply not possible.


L. Spiro
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan

Postby high6 » Tue Aug 15, 2006 4:08 am

L. Spiro wrote:
Removing addresses from the Found Address List is simply not possible.


L. Spiro


there is a way to do it.

tsearch has it and i believe artmoney too.
high6
Sir Hacks-A-Lot
 
Posts: 34
Joined: Sat Aug 05, 2006 7:06 am

Postby IcameIsawIcheated » Tue Aug 15, 2006 5:29 am

high6 wrote:
L. Spiro wrote:
Removing addresses from the Found Address List is simply not possible.


L. Spiro


there is a way to do it.

tsearch has it and i believe artmoney too.

He meant in regards to Memory Hacking Software directly. Not other search tools such as the ones you stated. L Spiro's method is different from those, and there is a method in his madness :wink:
IcameIsawIcheated
Hackleberry Fin
 
Posts: 21
Joined: Thu Jul 20, 2006 6:16 am

Postby L. Spiro » Tue Aug 15, 2006 10:48 am

It is easy for them to do it (and for Cheat Engine, if he wanted) because they only use the two standard storage methods.
The first method if just a list of DWORD-sized addresses, each followed by the actual data at the time of the search.
So a series of results for a byte search might be:

Code: Select all
XXXXYXXXXYXXXXY

Where the X’s are the bytes for the address (4 bytes) and the Y is the actual byte value.

A search for a DWORD would look like this:
Code: Select all
XXXXYYYYXXXXYYYYXXXXYYYY


You can see how this quickly consumes space, as for every result found you store 4 extra bytes for the address of that result.

That is method #1.


Method #2 is used for Unknown searches, and it simply has a small header followed by the actual chunk of data.
For each large chunk of contiguous data, you would have:
Code: Select all
XXXXSSSSYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY…


X’s are the bytes for the address of the start of the list.
S’s are the bytes for the size of the list.
Y’s are the bytes in the entire buffer of data.



Because every other memory searcher uses only these two methods, it is easy for them to remove entries from their lists.

To remove from method #1, you simply use memmove() to move the data above the address you removed down, overwriting the address you removed. It works because it is linear. Just move the data from the top down X bytes and then the address you wanted to remove is gone from the list.

To remove from method #2 you split the large chunk into two smaller chunks (each with its own XXXXSSSS header), and adjust the headers to exclude the address you removed (also adjust the YYYYY data).




However Memory Hacking Software uses a new method, which uses compression to save the same number of returns in a much smaller space (sometimes 50% less RAM/disk usage).
The entire list is compressed in such a way that the addresses are not stored, but derived, which means adjusting anything will change how the addresses are derived for the rest of the entire list, which in turn means the entire list of addresses must be completely refactored.
This is made all that much more difficult since parts of the list may or may not be stored to disk.


L. Spiro
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan

Postby high6 » Tue Aug 22, 2006 7:54 am

well cant u just remove them from display instead?
high6
Sir Hacks-A-Lot
 
Posts: 34
Joined: Sat Aug 05, 2006 7:06 am

Postby L. Spiro » Tue Aug 22, 2006 9:41 am

No.

The display is virtual.
That is how it is able to display (almost) infinite items instantly.
That means it has a direct link to the return list; not a copy.

Thus the ony way to delete from the display is to delete from the list.

The only way to change this so you can delete from the display is to make it have a copy of the return list, in which case you only get to see the first 1,000 returns (stupid), and you would have to wait 30 seconds after any large search for the copy to be made, not to mention all the RAM it would consume.


L. Spiro
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan

Postby high6 » Tue Aug 22, 2006 11:55 pm

is it possible to make it so when editing an address if u change it from say byte to integer it would read the new value and put it in the box so it doesnt write the old value of 1 byte.
high6
Sir Hacks-A-Lot
 
Posts: 34
Joined: Sat Aug 05, 2006 7:06 am

Postby L. Spiro » Wed Aug 23, 2006 12:33 am

It will be in the next release.


L. Spiro
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan


Return to Bugs/Problems/Suggestions

Who is online

Users browsing this forum: No registered users and 0 guests