Page 1 of 1

Help with scripts.

PostPosted: Sat Nov 27, 2010 8:09 am
by lovelove
Hello,

What I'm trying to do is constantly replace a value stored in an address (complex address A) with a different value stored in a different address (complex address B) with MHS. So whatever the value of complex address B decides to change to, the value of complex address A will constantly change to the value of complex address B.

I remember how to make something similar using the auto assembler, however, the game in question does not allow the debugger to attach correctly which makes MHS's auto-hack feature yield no results. Since I can still lock/change values, is there a feature (L. Spiro scripting?) in MHS that will allow me to do the above without the need of the debugger?

Although I have no experience with C, it would be nice to know if something like this were at least possible.

Thanks.

Re: Help with scripts.

PostPosted: Sat Nov 27, 2010 1:10 pm
by L. Spiro
It is entirely possible via scripts.
You simply make a new thread that loops repeatedly (until you hit a button which can end the loop) and uses extern variables to get the value at one location and write it to another location.


L. Spiro

Re: Help with scripts.

PostPosted: Sun Nov 28, 2010 5:59 am
by lovelove
Since I am unable to approach the following (due to an obvious lack of experience), I think I'll give up until I take it upon myself to learn C/L. Spiro Scripting.

Thanks for the reply as well as MHS itself~

Re: Help with scripts.

PostPosted: Sun Nov 28, 2010 5:05 pm
by L. Spiro
Image

[ComplexAddressA] is the Complex Address of the value you want to CHANGE.
The code for the lock:
Code: Select all
VOID Lock( MHS_ADDRESS aAddress, INT iItemSize ) {
   EVAL_RET_TYPE rtRet;
   if ( EvalExp( "[ComplexAddressB]", &rtRet, false ) ) {
      extern DWORD e_dwSource = { "", rtRet.u.ui64Int64 };
      extern DWORD e_dwDest = { "", aAddress };
      e_dwDest = e_dwSource;
   }
}

Where [ComplexAddressB] is the Complex Address of the value you want to read.

It does not get any easier than that. As long as the entry in your Main Address List is locked, the value from one address will be copied over to the address in [ComplexAddressA].


L. Spiro

Re: Help with scripts.

PostPosted: Fri Dec 03, 2010 6:57 am
by lovelove
I just noticed your reply not to long ago and the results were beautiful when tested. I suppose I now see why MHS is so powerful, however, it seems that one might need to become C literate in order to use it efficiently. I guess it contrasts those of us who rely on integrated functions to do the work for us.

It makes me want to learn what everything means in that script and more. On the other hand, I'm also starting to wonder if it's even healthy to learn a programming language for the sole purpose of memory editing. Nevertheless, I hope that I find time to learn.

Re: Help with scripts.

PostPosted: Fri Dec 03, 2010 5:28 pm
by L. Spiro
Programmers have an advantage over all other human beings (and I have said this before).

Firstly there is the obvious: If you can program, you have complete control over your machines. You can make them do anything you please.

But secondly, consider this: When you want to learn something—anything—you can just write a program related to that subject matter.
If you want to learn to hack, write a hacking utility.
If you want to learn Japanese, write a Japanese <-> English dictionary.
Making a utility forces you to focus on every aspect of the subject matter in detail.

The alternative? Reading books, taking notes, and memorizing facts.
When you can program your code are your notes, a work product is proof that you understand the subject matter, and not only that but you get something useful out of it at the end. Bookworms who memorize facts are useless. Programming puts you into a hands-on zone and forces you to truly understand, in detail, the how and why of that subject.


Not only that but your ability to break down problems into their components and restructure and solve them improves. This can be applied outside of programming.

And of course there is the fat paycheck every programmer takes home at the end of the month.


L. Spiro