quote:
Originally posted by vikke
1. Download Cheat Engine, and install it.
2. Open it up, click the glowing icon in the top left of the window.
3. Select Msnmsgr.exe in the list.
4. In the value box type "AWY".
5. In the Value Type box, select Text.
6. Press New Scan.
7. You can now find a list of all addresses found to the left.
8. Now you have to find out which one is the right one. Double-click every item, so they will appear in the bottom-list.
9. Now double-click the value list, to change the address value, and change it to IDL. Now change your status to Away, and if you become Idle, it's the correct address. Do this step for every address you have found. When you find the correct one, just copy the address from the Address-field, and add "0x" in the front, then it's ready to be added into the script's array!
1) Any (small) hex-editor will do for this purpose. No need for big programs. And a hex-editor/viewer would actually be way better since you can actually see the surrounding stuff also (so you don't waste time changing AWY to IDL in normal text etc).
9)
quote:
Originally posted by vikke
.......just copy the address from the Address-field, and add "0x" in the front, then it's ready to be added into the script's array!
This will screw stuff up.
At least the script 'Idle on demand' will check if the address you provided is correct (if there is indeed an AWY string at its location) before it makes the change. So instead of screwing up, it simply will refuse to change it.
The reason why it will not work is because patching happens in memory, not on disk. The memory address is never the same as the address within the file (but related). You need to add the BaseMemoryOffset for the program, the offset where the program is loaded in memory. This can be different for each program and even change from version to version, though it is rare.
Note: although the above method works 9/10 for stuff like this (provided you calculate the address correctly!), it is not a proper method. The proper method would be to actually dissassemble the program with OlyDbg for example.
quote:
Originally posted by Felu
Thanks for the tutorial vikke but as JA said, it shouldn't be posted in public as newbs might screw it.
Btw Cookie, your method of setting Idle Status doesn't work in 9.0.
It wasn't tested in WLM9 either. The address listed in the script is just a very quick and dirty assumption without checking anything. I simply already added that after releasing the script. But since I screwed up the scriptpacket the first time, I made a new one but didn't bothered to remove that test-address.
If it indeed doesn't work, then it might be proof that a method like described by vikke isn't a proper method to get the patch address.
snAke_LeAder: he's an beta tester and thus has access to a new beta version of Plus! which is (partially) compatible with WLM9.
---------------------------
PS: For those who are wondering: how to find such addresses is already talked about before in this thread though, more than once. And hints were already given.
It indeed isn't big rocket science, but it is true that newbies could easly screw stuff up with these things. If you want to learn how to find such stuff I suggest to read tutorials and books about dissassembling (which means you must at least know what hex-editing is, basic knowledge of programming, etc).