 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
Montycarlo Expert Cheater
Reputation: 0
Joined: 10 Jan 2007 Posts: 124
|
Posted: Fri Mar 21, 2008 12:04 am Post subject: AA beginner look for help. |
|
|
Hey,
Today I wanted to start learning some AA, and stuff that associates with it.
So, I took the CE tutorial, and got up to the bit with multiple pointers. I couldn't be bothered learning them, and I thought I could experiment with what I had learned. So, I opened up Minesweeper, targetted it, and then found the addresses for the Flag count and the timer. Easy.
Then I tried injecting something to each.
The Flag count:
| Code: | alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
0100346E:
jmp newmem
nop
returnhere:
newmem: //this is allocated memory, you have read,write,execute access
add [01005194],10
originalcode:
//add [01005194],eax
exit:
jmp returnhere
|
Which adds 10 to the flag count every time you use one, so you have infinite, really.
The Timer:
| Code: | alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
01002FF5:
jmp newmem
nop
returnhere:
newmem: //this is allocated memory, you have read,write,execute access
dec [0100579c]
originalcode:
//inc [0100579c]
exit:
jmp returnhere
|
Which would decrease the timer instead of adding to it.
So to check on something, I needed to make the original code a comment so the new code I inputted would actualy work? Or doesnt the originalcode work when you inject something?
1 last thing:
I've been reading samuri25404's AA tutorial and ive come down to 'Label'.
Here's his code:
| Code: | label(AutoAssembler)
label(Continue)
label(SayWhat)
AutoAssembler:
mov eax,02
cmp eax,03
jne Continue
je SayWhat
|
His explination of it was:
| Quote: | | What it does is allows the variable that you "label" to be used in your script |
So, it labels a variable for you. But he hasn't specified what variable or anything, just named something that doesn't exist to 'AutoAssembler' or 'Continue' and 'Saywhat'.
Am I missing something?
Any help is greatly appreciated.
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 475
Joined: 09 May 2003 Posts: 25974 Location: The netherlands
|
Posted: Fri Mar 21, 2008 7:02 am Post subject: |
|
|
samuri25404's script you posted here is incomplete and will not function properly (even though it might execute)
here's how the AA algorithm does it:
| Code: |
alloc(newmem,2048) //2kb should be enough
|
Create a variable newmem that gets a specific address
| Code: |
label(returnhere)
label(originalcode)
label(exit)
|
Tell the autoassembler to expect a variable definition named returnhere, originalcode and exit
Set the current code write pointer to address 01002ff5
Assemble this code at address 01002ff5 and further and increase the current write pointer
Variable definition, returnhere gets the value of the current write pointer
| Code: |
newmem: //this is allocated memory, you have read,write,execute access
|
Not a label but a alloc, meaning, change the current write pointer to the allocated memory
Write at the current write pointer this code and increase the write pointer with this size
Variable definition, originalcode gets here the address of the current write pointer
Ignored
Variable definition, exit gets here the address of the current write pointer
jmp to the address returnhere gotassemble this instruction at the current write pointer. Set returnhere to the address it got from the variable definition
_________________
Tools give you results. Knowledge gives you control.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
Montycarlo Expert Cheater
Reputation: 0
Joined: 10 Jan 2007 Posts: 124
|
Posted: Sun Mar 23, 2008 1:32 am Post subject: Thanks Darkbyte! :D |
|
|
Thanks for that.
It's a real help knowing how it goes through and does things, and you've explained it in a very informative way, however, i'm going to have to look up 'nop' and learn some more about it.
Thanks again!
-I've got my minesweeper scripts working now!
Backwards Timer:
| Code: |
[enable]
//Script by Montycarlo! :D
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
01002FF5:
jmp newmem
nop
returnhere:
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
dec [0100579c]
exit:
jmp returnhere
[disable]
dealloc(newmem)
01002FF5:
inc [0100579c]
|
Infinite Flags:
| Code: |
[enable]
//Script by Montycarlo! :D
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
0100346E:
jmp newmem
nop
returnhere:
newmem: //this is allocated memory, you have read,write,execute access
add eax,A
originalcode:
add [01005194],eax
exit:
jmp returnhere
[Disable]
dealloc(newmem)
0100346E:
add [01005194],eax
|
I played around with the injection, looked at some scripts from other people and eventruly compiled my own. Have I got any errors in my script?
Thanks again!
|
|
| Back to top |
|
 |
24653187 Expert Cheater
Reputation: 0
Joined: 19 Aug 2007 Posts: 214 Location: 218.255.97.194/61.18.170.???
|
Posted: Tue Mar 25, 2008 11:17 pm Post subject: Re: Thanks Darkbyte! :D |
|
|
| Montycarlo wrote: | Thanks for that.
It's a real help knowing how it goes through and does things, and you've explained it in a very informative way, however, i'm going to have to look up 'nop' and learn some more about it.
Thanks again!
-I've got my minesweeper scripts working now!
Backwards Timer:
| Code: |
[enable]
//Script by Montycarlo! :D
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
01002FF5:
jmp newmem
nop
returnhere:
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
dec [0100579c]
exit:
jmp returnhere
[disable]
dealloc(newmem)
01002FF5:
inc [0100579c]
|
Infinite Flags:
| Code: |
[enable]
//Script by Montycarlo! :D
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
0100346E:
jmp newmem
nop
returnhere:
newmem: //this is allocated memory, you have read,write,execute access
add eax,A
originalcode:
add [01005194],eax
exit:
jmp returnhere
[Disable]
dealloc(newmem)
0100346E:
add [01005194],eax
|
I played around with the injection, looked at some scripts from other people and eventruly compiled my own. Have I got any errors in my script?
Thanks again! |
oh yeah, flags isn't really important for minefield, because it doesn't count
_________________
newbies post these threads:
1. all capital letters
2. lots of exclamation marks
and these posts:
1. no punctuation marks
2. not enough information
3. post on wrong forum
and these attitudes:
1. unformal words
2. say "thanks" in 90% post
3. angry when got pissed |
|
| Back to top |
|
 |
asaface123 Expert Cheater
Reputation: 0
Joined: 06 Feb 2008 Posts: 120 Location: CEF
|
Posted: Sun Mar 30, 2008 7:33 pm Post subject: Ritzmann Hufano |
|
|
nice one ^^
_________________
|
|
| Back to top |
|
 |
Labyrnth Moderator
Reputation: 10
Joined: 28 Nov 2006 Posts: 6300
|
Posted: Sun Mar 30, 2008 7:40 pm Post subject: Re: Thanks Darkbyte! :D |
|
|
| 24653187 wrote: |
oh yeah, flags isn't really important for minefield, because it doesn't count |
Doesnt matter he is learning how to use the AA scripting. Pay attention, and read the topic.
|
|
| Back to top |
|
 |
samuri25404 Grandmaster Cheater
Reputation: 7
Joined: 04 May 2007 Posts: 955 Location: Why do you care?
|
Posted: Fri Apr 04, 2008 6:26 pm Post subject: |
|
|
@DarkByte:
Yes, thanks for telling him that. I know that it's wrong, and I've known for a while; I wrote it when I didn't know as much as I know now, and at the moment I'm just too lazy to fix it.
Eventually (and probably soon, if boredom consumes me), I'll go back and fix it.
_________________
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|