Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


AA beginner look for help.

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Montycarlo
Expert Cheater
Reputation: 0

Joined: 10 Jan 2007
Posts: 124

PostPosted: Fri Mar 21, 2008 12:04 am    Post subject: AA beginner look for help. Reply with quote

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
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 475

Joined: 09 May 2003
Posts: 25973
Location: The netherlands

PostPosted: Fri Mar 21, 2008 7:02 am    Post subject: Reply with quote

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

Code:

01002FF5:

Set the current code write pointer to address 01002ff5

Code:

jmp newmem
nop

Assemble this code at address 01002ff5 and further and increase the current write pointer

Code:

returnhere:

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

Code:

dec [0100579c]

Write at the current write pointer this code and increase the write pointer with this size

Code:

originalcode:

Variable definition, originalcode gets here the address of the current write pointer

Code:

//inc [0100579c]

Ignored

Code:

exit:

Variable definition, exit gets here the address of the current write pointer

Code:

jmp returnhere

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
View user's profile Send private message MSN Messenger
Montycarlo
Expert Cheater
Reputation: 0

Joined: 10 Jan 2007
Posts: 124

PostPosted: Sun Mar 23, 2008 1:32 am    Post subject: Thanks Darkbyte! :D Reply with quote

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
View user's profile Send private message
24653187
Expert Cheater
Reputation: 0

Joined: 19 Aug 2007
Posts: 214
Location: 218.255.97.194/61.18.170.???

PostPosted: Tue Mar 25, 2008 11:17 pm    Post subject: Re: Thanks Darkbyte! :D Reply with quote

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
View user's profile Send private message
asaface123
Expert Cheater
Reputation: 0

Joined: 06 Feb 2008
Posts: 120
Location: CEF

PostPosted: Sun Mar 30, 2008 7:33 pm    Post subject: Ritzmann Hufano Reply with quote

nice one ^^
_________________



Back to top
View user's profile Send private message AIM Address
Labyrnth
Moderator
Reputation: 10

Joined: 28 Nov 2006
Posts: 6300

PostPosted: Sun Mar 30, 2008 7:40 pm    Post subject: Re: Thanks Darkbyte! :D Reply with quote

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
View user's profile Send private message
samuri25404
Grandmaster Cheater
Reputation: 7

Joined: 04 May 2007
Posts: 955
Location: Why do you care?

PostPosted: Fri Apr 04, 2008 6:26 pm    Post subject: Reply with quote

@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.

_________________
Wiccaan wrote:

Oh jeez, watchout I'm a bias person! Locked.


Auto Assembly Tuts:
In Depth Tutorial on AA
Extended
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites