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 


[VB.NET] Cheat Engine Scripts? [NOP, JMP, MOV] And More?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
Daicai
How do I cheat?
Reputation: 0

Joined: 24 Feb 2014
Posts: 3

PostPosted: Tue Jul 28, 2015 2:43 am    Post subject: [VB.NET] Cheat Engine Scripts? [NOP, JMP, MOV] And More? Reply with quote

Hi,
So I'm trying to make my own trainer in VB.NET for learning purposes.

For easy cheat engine scripts like :
Code:

[ENABLE]
01563851:
db 0F 85

01563A19:
db 0F 85

[DISABLE]
01563851:
db 0F 84

01563A19:
 db 0F 84


I use this Module currently : pastebin. com/sj4Gvn1m (I have to link the module to make my question clear, sorry!)

I enable that hack by doing :
Code:

 If CheckBox2.Checked = True Then
            Dim Addy As IntPtr = &H1563851
            Dim Addy2 As IntPtr = &H1563A19
            Dim buffer2 As Byte() = New Byte() {&HF, &H85}
            Dim buffer As Byte() = New Byte() {&HF, &H85}
            WINAPI.WriteProcessMemory(Addy, buffer, buffer.Length)
            WINAPI.WriteProcessMemory(Addy2, buffer2, buffer2.Length)
End If


However, for the more complicated Cheat Engine scripts like this one :
Code:

[Enable]
Alloc(SPControl,128)
Label(Return)

SPControl:

mov [esp+8],#0//x Cords
mov [esp+C],#0 //Y cords

Return:
//6A FF 68 ? ? ? ? 64 A1 ? ? ? ? 50 81 ? ? ? ? ? 53 55 56 57 A1 ? ? ? ? 33 ? 50 8D ? 24 ? ? ? ? 64 ? ? ? ? ? 8B ? 8B ? 24 ? ? ? ? 8B ? 24 ? ? ? ? 8B
jmp 0163ABB0




01C59498: //4byte Scan address in Return [5th Result]
dd SPControl

[Disable]
01C59498: //Same as above
dd 0163ABB0//Address in Return




DeAlloc(SPControl)


What do I do with the jmp, mov, ESP, and stuff like that?
Anyone ever did something like this before? mind giving me a hand please?
Thank you!
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Tue Jul 28, 2015 11:15 am    Post subject: Reply with quote

For jumps and calls, their value is not the raw address, but instead the distance offset to the destination being jumped to, or called.
That is calculated doing the following:
offset = ((to - from) - 5)

Once you have the offset to where you want to jump to, you can write the data to the given locations in memory you want to alter to the jump or call to.

As for the mov etc instructions, open up Cheat Engines memory browser at those addresses and copy the bytes you see there that are for those given instructions.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming 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