 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
_Gonzo_ Newbie cheater
Reputation: 0
Joined: 05 Jun 2011 Posts: 12 Location: Russia
|
Posted: Fri Nov 04, 2016 2:06 pm Post subject: [asm help] not enough bytes for instruction |
|
|
hi! trying to make script that check memory adress, and if equal no damage. im bad in assembler. Please help
| Code: |
[ENABLE]
aobscanmodule(INJECT,OwarOGL.exe,29 42 1C 8B 45 E4) // should be unique
alloc(newmem,$1000)
label(cheat)
label(code)
label(return)
newmem:
cheat:
push eax
mov eax, [006C3288]
cmp eax,(int)1
pop eax
jne code
sub [edx+1C],(int)0
mov eax,[ebp-1C]
jmp return
code:
sub [edx+1C],eax
mov eax,[ebp-1C]
jmp return
INJECT:
jmp cheat
nop
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db 29 42 1C 8B 45 E4
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "OwarOGL.exe"+21DBED
"OwarOGL.exe"+21DBCB: 6B C0 23 - imul eax,eax,23
"OwarOGL.exe"+21DBCE: 8B 55 FC - mov edx,[ebp-04]
"OwarOGL.exe"+21DBD1: 89 82 E0 02 00 00 - mov [edx+000002E0],eax
"OwarOGL.exe"+21DBD7: A1 E4 92 6E 00 - mov eax,[OwarOGL.exe+2E92E4]
"OwarOGL.exe"+21DBDC: 80 38 00 - cmp byte ptr [eax],00
"OwarOGL.exe"+21DBDF: 75 0F - jne OwarOGL.exe+21DBF0
"OwarOGL.exe"+21DBE1: 80 7D 08 00 - cmp byte ptr [ebp+08],00
"OwarOGL.exe"+21DBE5: 75 09 - jne OwarOGL.exe+21DBF0
"OwarOGL.exe"+21DBE7: 8B 45 F8 - mov eax,[ebp-08]
"OwarOGL.exe"+21DBEA: 8B 55 E4 - mov edx,[ebp-1C]
// ---------- INJECTING HERE ----------
"OwarOGL.exe"+21DBED: 29 42 1C - sub [edx+1C],eax
"OwarOGL.exe"+21DBF0: 8B 45 E4 - mov eax,[ebp-1C]
// ---------- DONE INJECTING ----------
"OwarOGL.exe"+21DBF3: 83 78 1C 00 - cmp dword ptr [eax+1C],00
"OwarOGL.exe"+21DBF7: 7D 08 - jnl OwarOGL.exe+21DC01
"OwarOGL.exe"+21DBF9: 8B 45 E4 - mov eax,[ebp-1C]
"OwarOGL.exe"+21DBFC: 33 D2 - xor edx,edx
"OwarOGL.exe"+21DBFE: 89 50 1C - mov [eax+1C],edx
"OwarOGL.exe"+21DC01: A1 44 86 6E 00 - mov eax,[OwarOGL.exe+2E8644]
"OwarOGL.exe"+21DC06: C6 00 01 - mov byte ptr [eax],01
"OwarOGL.exe"+21DC09: 8B 45 E4 - mov eax,[ebp-1C]
"OwarOGL.exe"+21DC0C: 81 78 1C F4 01 00 00 - cmp [eax+1C],000001F4
"OwarOGL.exe"+21DC13: 0F 8F 84 00 00 00 - jg OwarOGL.exe+21DC9D
} |
_________________
?
Last edited by _Gonzo_ on Fri Nov 11, 2016 2:28 am; edited 2 times in total |
|
| Back to top |
|
 |
M-Z Advanced Cheater
Reputation: 1
Joined: 08 Nov 2014 Posts: 77 Location: Poland
|
Posted: Fri Nov 04, 2016 3:09 pm Post subject: |
|
|
Why do you subtract zero?
| Code: | | sub [edx+1C],(int)0 |
Maybe your aobscan is not unique?
Why do you use "numeric" address: 006C3288 rather than some variable? Are you sure it contains proper value?
Why don't you try setting a breakpoint there to determine why it is not working yourself?
|
|
| Back to top |
|
 |
_Gonzo_ Newbie cheater
Reputation: 0
Joined: 05 Jun 2011 Posts: 12 Location: Russia
|
Posted: Fri Nov 04, 2016 3:22 pm Post subject: |
|
|
1. im substract zero because this game crash, if unit health greater than 1000
2. aob scan uniq
3. numeric memory adress because it's static. it's contain proper value(0 or 1.. killed for this one week)
4. i can't, because script not activating.(sorry my bad. idk script work or not. it's jus not activating)
_________________
? |
|
| Back to top |
|
 |
Betcha Expert Cheater
Reputation: 4
Joined: 13 Aug 2015 Posts: 232 Location: Somewhere In Space
|
Posted: Fri Nov 04, 2016 3:29 pm Post subject: Re: [asm help] script won't work |
|
|
| Code: | [ENABLE]
aobscanmodule(Health,OwarOGL.exe,29 42 1C 8B 45 E4)
alloc(newmem,$100)
label(code)
label(return)
newmem:
code:
//sub [edx+1C],eax
mov [edx+1C],#999
mov eax,[ebp-1C]
jmp return
Health:
jmp newmem
nop
return:
registersymbol(Health)
[DISABLE]
Health:
db 29 42 1C 8B 45 E4
unregistersymbol(Health)
dealloc(newmem) |
This should make your health 999.
If enemies get 999 health too then google this:
''Cheat Engine Step 9 Tutorial''
|
|
| Back to top |
|
 |
_Gonzo_ Newbie cheater
Reputation: 0
Joined: 05 Jun 2011 Posts: 12 Location: Russia
|
Posted: Fri Nov 04, 2016 3:37 pm Post subject: |
|
|
Thank You Betcha, but this is shared instruction, and in this memory address '006C3288" i have "1" if player controlled units, and "0" if computer control units.
also just for test You script won't activate too. but AOB scan is unic..
_________________
? |
|
| Back to top |
|
 |
M-Z Advanced Cheater
Reputation: 1
Joined: 08 Nov 2014 Posts: 77 Location: Poland
|
Posted: Fri Nov 04, 2016 3:40 pm Post subject: |
|
|
| _Gonzo_ wrote: | | 1. im substract zero because this game crash, if unit health greater than 1000 |
Subtracting zero, as far as I know, doesn't prevent value from rising.
I must say I have no experience with AOBscan...
| Quote: | | 3. numeric memory adress because it's static. it's contain proper value(0 or 1.. killed for this one week) |
If things are "that static", maybe you should try "Code Injection" template.
| Quote: | | 4. i can't, because script not activating.(sorry my bad. idk script work or not. it's jus not activating) |
This happens (to me) only when the script is modifying addresses which are invalid. Are you sure that 006C3288 is OK? It bothers me.
If it was OwarOGL.exe+6C3288 it wouldn't bother me...
Although with Rome Total War I think addresses were also this much static...
|
|
| Back to top |
|
 |
Betcha Expert Cheater
Reputation: 4
Joined: 13 Aug 2015 Posts: 232 Location: Somewhere In Space
|
Posted: Fri Nov 04, 2016 3:56 pm Post subject: |
|
|
Restarted game ?
Find difference between you and enemy in dissect data structure.
Then do CMP should look something like this.
| Code: | [ENABLE]
aobscanmodule(Health,OwarOGL.exe,29 42 1C 8B 45 E4)
alloc(newmem,$100)
label(code)
label(return)
newmem:
cmp [edx+offset],1 // or any other value you found different from enemy
jne code
mov [edx+1C],#999
mov eax,[ebp-1C]
jmp return
code:
sub [edx+1C],eax
mov eax,[ebp-1C]
jmp return
Health:
jmp newmem
nop
return:
registersymbol(Health)
[DISABLE]
Health:
db 29 42 1C 8B 45 E4
unregistersymbol(Health)
dealloc(newmem) |
If you play it in multiplayer then it wont work.
|
|
| Back to top |
|
 |
_Gonzo_ Newbie cheater
Reputation: 0
Joined: 05 Jun 2011 Posts: 12 Location: Russia
|
Posted: Fri Nov 04, 2016 4:10 pm Post subject: |
|
|
Betcha im not cheating in multiplayer.
"Find difference between you and enemy in dissect data structure."
this is not possible.
also do "full injection" and my memory address is wrong lol.. (it show selected or not selected)
Thank You guys for help. im go to find another memory address....
this script work (if select anything on screen, all have god mode)
| Code: | { Game : OwarOGL_DEBUG.exe
Version:
Date : 2016-11-05
Author : Gonzo
This script does blah blah blah
}
define(address,"OwarOGL_DEBUG.exe"+215159)
define(bytes,29 42 1C 8B 45 E4)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000)
label(cheat)
label(code)
label(return)
newmem:
cheat:
push eax
mov eax,[006C3288]
cmp eax,1
jne code
pop eax
sub [edx+1C],0
mov eax,[ebp-1C]
jmp return
code:
pop eax
sub [edx+1C],eax
mov eax,[ebp-1C]
jmp return
address:
jmp cheat
nop
return:
[DISABLE]
address:
db bytes
// sub [edx+1C],eax
// mov eax,[ebp-1C]
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "OwarOGL_DEBUG.exe"+215159
"OwarOGL_DEBUG.exe"+215137: 6B C0 23 - imul eax,eax,23
"OwarOGL_DEBUG.exe"+21513A: 8B 55 FC - mov edx,[ebp-04]
"OwarOGL_DEBUG.exe"+21513D: 89 82 E0 02 00 00 - mov [edx+000002E0],eax
"OwarOGL_DEBUG.exe"+215143: A1 38 3A 6D 00 - mov eax,[OwarOGL_DEBUG.exe+2D3A38]
"OwarOGL_DEBUG.exe"+215148: 80 38 00 - cmp byte ptr [eax],00
"OwarOGL_DEBUG.exe"+21514B: 75 0F - jne OwarOGL_DEBUG.exe+21515C
"OwarOGL_DEBUG.exe"+21514D: 80 7D 08 00 - cmp byte ptr [ebp+08],00
"OwarOGL_DEBUG.exe"+215151: 75 09 - jne OwarOGL_DEBUG.exe+21515C
"OwarOGL_DEBUG.exe"+215153: 8B 45 F8 - mov eax,[ebp-08]
"OwarOGL_DEBUG.exe"+215156: 8B 55 E4 - mov edx,[ebp-1C]
// ---------- INJECTING HERE ----------
"OwarOGL_DEBUG.exe"+215159: 29 42 1C - sub [edx+1C],eax
"OwarOGL_DEBUG.exe"+21515C: 8B 45 E4 - mov eax,[ebp-1C]
// ---------- DONE INJECTING ----------
"OwarOGL_DEBUG.exe"+21515F: 83 78 1C 00 - cmp dword ptr [eax+1C],00
"OwarOGL_DEBUG.exe"+215163: 7D 08 - jnl OwarOGL_DEBUG.exe+21516D
"OwarOGL_DEBUG.exe"+215165: 8B 45 E4 - mov eax,[ebp-1C]
"OwarOGL_DEBUG.exe"+215168: 33 D2 - xor edx,edx
"OwarOGL_DEBUG.exe"+21516A: 89 50 1C - mov [eax+1C],edx
"OwarOGL_DEBUG.exe"+21516D: A1 EC 2D 6D 00 - mov eax,[OwarOGL_DEBUG.exe+2D2DEC]
"OwarOGL_DEBUG.exe"+215172: C6 00 01 - mov byte ptr [eax],01
"OwarOGL_DEBUG.exe"+215175: 8B 45 E4 - mov eax,[ebp-1C]
"OwarOGL_DEBUG.exe"+215178: 81 78 1C F4 01 00 00 - cmp [eax+1C],000001F4
"OwarOGL_DEBUG.exe"+21517F: 0F 8F 84 00 00 00 - jg OwarOGL_DEBUG.exe+215209
} |
_________________
? |
|
| Back to top |
|
 |
Betcha Expert Cheater
Reputation: 4
Joined: 13 Aug 2015 Posts: 232 Location: Somewhere In Space
|
Posted: Fri Nov 04, 2016 4:30 pm Post subject: |
|
|
Edit:
This will activate and make you and enemy god mod:
| Code: | [ENABLE]
aobscan(Health,29 42 1C 8B 45 E4)
alloc(newmem,$100)
label(YourHealth)
label(code)
label(return)
newmem:
YourHealth:
mov [edx+1C],#999
mov eax,[ebp-1C]
jmp return
code:
sub [edx+1C],eax
mov eax,[ebp-1C]
jmp return
Health:
jmp newmem
nop
return:
registersymbol(Health)
[DISABLE]
Health:
db 29 42 1C 8B 45 E4
unregistersymbol(Health)
dealloc(newmem) |
So.
Do dissect data by watching this video
Then below Newmem add these lines:
| Code: | cmp [edx+offset],value
jne code |
|
|
| Back to top |
|
 |
_Gonzo_ Newbie cheater
Reputation: 0
Joined: 05 Jun 2011 Posts: 12 Location: Russia
|
Posted: Sat Nov 05, 2016 6:20 am Post subject: |
|
|
Betcha, thank you for help.
but dissect data not work here...
every unit have an ID like a "FFFFFFD6", there is no id for enemy\allied(can't find this because i think it's called once when game scene creating) or computer controlled\human controlled(in this game this not needed. there no ai. you can understand this by digging some forum's.)..
original war(steam) really hard to cheat...
eh.. better to get ollydbg and see what call this function, and how this ID assigning to unit...
_________________
? |
|
| Back to top |
|
 |
_Gonzo_ Newbie cheater
Reputation: 0
Joined: 05 Jun 2011 Posts: 12 Location: Russia
|
Posted: Fri Nov 11, 2016 2:53 am Post subject: |
|
|
hi guys! new problem...
I finally make god mode for units, buildings, etc)
but have some problem, not enough bytes(sorry for stupid question's..)
script:
| Code: | [ENABLE]
aobscan(Health,29 42 1C 8B 45 E4)
alloc(newmem,$400)
label(Compare)
label(Compare2)
label(YourHealth)
label(code)
label(return)
//0 = Neutral
//1 = Am
//2 = Ar
//3 = Ru
newmem:
cmp [esp+74],#3 //if units get damage
je YourHealth //my units?
jne Compare
Compare:
cmp [esp+74],#0
je YourHealth
jne Compare2
Compare2:
cmp [esp+74],#2
jne code
YourHealth:
mov [edx+1C],#999
mov eax,[ebp-1C]
jmp return
code:
sub [edx+1C],eax
mov eax,[ebp-1C]
jmp return
Health:
jmp newmem
nop
return:
registersymbol(Health)
[DISABLE]
Health:
db 29 42 1C 8B 45 E4
unregistersymbol(Health)
dealloc(newmem) |
| Description: |
|
| Filesize: |
30.1 KB |
| Viewed: |
7743 Time(s) |

|
| Description: |
|
| Filesize: |
30.49 KB |
| Viewed: |
7743 Time(s) |

|
_________________
? |
|
| Back to top |
|
 |
Cake-san Grandmaster Cheater
Reputation: 8
Joined: 18 Dec 2014 Posts: 541 Location: Semenanjung
|
Posted: Fri Nov 11, 2016 3:37 am Post subject: |
|
|
| Code: |
[ENABLE]
aobscanmodule(Health,OwarOGL.exe,8B 55 E4 29 42 1C 8B 45 E4)
alloc(newmem,$400)
label(code)
label(return)
//0 = Neutral
//1 = Am
//2 = Ar
//3 = Ru
newmem:
mov edx,[ebp-1C]
cmp [esp+74],#3 //if units get damage
je short code
cmp [esp+74],#0
je short code
cmp [esp+74],#2
je short code
sub [edx+1C],eax
jmp return
code:
mov [edx+1C],#999
jmp return
Health:
jmp newmem
nop
return:
registersymbol(Health)
[DISABLE]
dealloc(newmem)
Health:
db 8B 55 E4 29 42 1C
unregistersymbol(Health)
|
_________________
... |
|
| Back to top |
|
 |
_Gonzo_ Newbie cheater
Reputation: 0
Joined: 05 Jun 2011 Posts: 12 Location: Russia
|
Posted: Fri Nov 11, 2016 3:56 am Post subject: |
|
|
im so noobish...
Thank You!
_________________
? |
|
| Back to top |
|
 |
Cake-san Grandmaster Cheater
Reputation: 8
Joined: 18 Dec 2014 Posts: 541 Location: Semenanjung
|
|
| 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
|
|