FIXED: Bugs about GROUP SEARCH (?)

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

Moderators: g3nuin3, SpeedWing, WhiteHat, mezzo

FIXED: Bugs about GROUP SEARCH (?)

Postby WhiteHat » Sat Mar 10, 2007 3:40 pm

I've been waiting for a proper time to post this for a while, but i just get the opportunity now... So, i'm sorry for this late post...

It's about unique searching feature that belongs only to MHS, which in turns would greatly increase the searching process... However, i think there are some bugs about group search, which i'm gonna tell you...

And since Group Search is unique, we certainly hope that it works perfectly ... ^^

...

I've comparing the MHS PRO 3.0.1.4 with (at present) the newest MHS Demo #17, and the target game is Warcraft 3 The Frozen Throne...

The following case is about Hero's movement speed...

In MHS PRO 3.0.1.4, the group search managed to found the address:
Image

but, in MHS Demo #17 nothing was found:
Image

Both above pictures were taken at the same time, while targeting the same process... It's like the Demo version's Group Search not as 'powerfull' as the Pro version... (?)

...

The next following case is about Hero's Stat Constants...

Every heroes within WC3 TFT v1.20, always have 3 stats constants (STR,INT,AGI) which are added to the current stat everytime the heroes gain a level up...

For example:

If Hero's Stat Constants values are:
- STR : 1.85
- INT : 2.35
- AGI : 1.95

and at Level 01 the stats are:
- STR : 16
- INT : 20
- AGI : 18

then, if the hero gains a level up, the stat would be:
- STR : 16 + 1.85 = 17
- INT : 20 + 2.35 = 22
- AGI : 18 + 1.95 = 19
(the decimal number are hidden (not shown on-screen) but still counts...)

after a small research, i found that those 3 Stat Constants are stored within the memory this way: XXXX nnnn YYYY nnnn ZZZZ

XXXX = STR Const
YYYY = INT Const
ZZZZ = AGI Const

So, using MHS Pro 3.0.1.4 group search, i tried to found the address:
Image
as you can see, there are 3 'undescribed' addresses, which actually the addresses for 3 stat constants values, which i put before the search manually... But, the group search was unable to find anything...

But the weird thing occured right after i wrote description for the 3 addresses:
Image
Suddenly, MHS PRO 3.0.1.4's Group Search found the address 'I was looking for'...

The two previous screen captures (which were taken right one after another) show the very same addresses, but with different result of Group Search...

As for the Demo #17, it was unable to find anything at all (regard this 3 stat constants)...

Was it my mistake or was it a real bug ?

These problems, AFAIK, occured only when we're working with float numbers... Are they have anything to do with float number's precisions ?
For example:

Maybe MHS Pro thinks these number are the same:
- 18.345678
- 18.345777
- 18.35

while MHS Demo thinks they're different ?

....

I hope my post clear enough to understand for my english is not very good... And I mean nothing offense at all...

Thank you very much, and keep up good work !

:)
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby L. Spiro » Sun Mar 11, 2007 2:21 am

This problem was reported long ago (probably by you) and in all that time I still never understood what was different between the two programs.

When I myself looked into it, I got even weirder behavior.
Instead of specifying the exact number of elements I listed, I would specify the number of elements in my list plus 10.
It managed to find most of the same sequences, but actually some of them were found 4 bytes later.

What I do know is that the actual matching algorithm was unchanged except that it actually works correctly in USD searches now, however those changes have nothing to do with the other problem (totally separate search type using completely different function branches).


My only guess all this time was something to do with how the data is set before the search begins, from the dialog.
But that can’t explain the results I was getting.



As for the second example where you did not get results until you changed their descriptions, that one is actually correct in nature.
When you opened “Undescribed” and changed it to “My Hero's STR”, you hit OK. Upon hitting OK, the current value entered in the text box (1.75) was written to RAM at that address.
Before you hit OK, the value was actually 1.750000001 or so.

When you changed the descriptions you also changed the actual values by just that much.
Then the search was able to succeed after that.
Floating-point precision errors only.
Probably doesn’t happen as much in the demos.


I expect to have more time to examine this problem today.


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

Postby L. Spiro » Sun Mar 11, 2007 11:36 am

Fixed in Demo #18.


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

Postby WhiteHat » Tue Mar 13, 2007 1:55 pm

Cool ! It's now working as good as MHS PRO ... (for overall, alot better ...)

:)
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby WhiteHat » Thu Jan 10, 2008 6:55 am

This happens in MHS 4.0.0.12 (and i'm not sure since which version
this bug occured).

I just found this when i tried to perform group search for float values:
- Values to Find : 2 3.4 1

But the “search summary” text (above “OK” button) read as follows:
“Find 2, 3, 0, 4 and 1 in ... ”

instead of:
“Find 2, 3.4 and 1 in ... ”

and so the search was failed...

Please look after this bug. Thank you very much in advance... :)
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby L. Spiro » Thu Jan 10, 2008 10:08 am

This appeared when the Auto-Assembler was added and will be fixed in the next version.


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

Postby L. Spiro » Mon Jan 21, 2008 11:18 am

Fixed in 4.0.0.13.


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

Postby WhiteHat » Mon Jan 21, 2008 7:34 pm

The bug about float values is gone... Thank you.
However, i found a“minor bug” about float values finding with group search.

The game is : Warcraft 3, The Frozen Throne - ver 1.21a.

Case #1
Values to search : 454 ; 0 ; 454

Group search :
- Total Group Elements : 4
- Evaluation Type : Ordered
- Values to Find : 454 0 454
- Treat Elements in List as : Float

... the result was : found 1 address

Case #2
Values to search : 1.7 ; 2.4 ; 2.6

Group search :
- Total Group Elements : 5
- Evaluation Type : Normal (Any Order)
- Values to Find : 1.7 2.4 2.6
- Treat Elements in List as : Float

... the result was : no address found

This was unexpected. Because viewing the Hex Editor there were these
bytes: 9A 99 D9 3F 8C 33 71 6F 67 66 26 40 8C 33 71 6F 9A 99 19 40

While the bold-ed bytes values in float data type are (as in Conversions
tab in Helper window of Hex Editor) :
- 9A 99 D9 3F = 1.700000047684
- 67 66 26 40 = 2.600000143051
- 9A 99 19 40 = 2.400000095367

...

Now for Case #2, of course MHS can’t expect someone to type in the exact
float values, or can it ?

However, i’ve tried, in Case #2, changed the Values to Find with : 1.7000
2.4000 and 2.6000, but still there were no result found... But of course,
that was not a good idea... ^^;

What is the best thing i can do the perform a successful Group Search in
Case #2 ?

I hope i stated this problem clear enough... Please forgive my english.


Thank you very much in advance.

:)

EDIT:

I forgot something ... XD

In Case #1, the float values were exact 454 (not even 454.000~), and the
bytes were : 00 00 E3 43. That’s why the search was successful...
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby L. Spiro » Tue Jan 22, 2008 10:06 am

What is the best thing i can do the perform a successful Group Search in
Case #2 ?

Wait for the next update which will apply your epsilon settings to Group searches.


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

Postby WhiteHat » Tue Jan 22, 2008 2:25 pm

L. Spiro wrote:Wait for the next update which will apply your epsilon settings to Group searches.

Whoa ... Amazing ! :lol:

Groups Search has really really made values finding
way much easier and faster... I really love this feature.

Thank you very much to look after this problem...
Hope the settings would also applies to LSS...

:)
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby WhiteHat » Sat Feb 16, 2008 9:38 am

MHS 4.0.0.14’s Epsilon setting option has perfectly overcome my
previous problem. Group Search is getting better and better !..

Two thumbs-up L. Spiro !.. Thank you very much !

:D
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...


Return to Bugs/Problems/Suggestions

Who is online

Users browsing this forum: No registered users and 0 guests

cron