 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
aikoncwd Grandmaster Cheater
Reputation: 23
Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
|
Posted: Tue Dec 30, 2014 4:39 am Post subject: [solved] Auto Assemble: What is @@? |
|
|
Hi
In some tables/scripts I see the label @@: but this ¿label? is not declared anywhere so I assume it's an internal events or something. What is @@: and when is indicated to use it?
In the example, there is @f, it's something related to @@?
Thanks (here is an example)
| Code: | [ENABLE]
luacall(if enableWD then enableWD() end)
aobscan(splay_injcoin, 8B 82 74 0B 00 00 50 68 xx xx xx xx 6A 10 68)
aobscan(splay_injgrey, 39 BB 5C 0B 00 00 0F 8E A8 00 00 00 8B 4D 9C 8B)
aobscan(splay_injinvu, 8B 83 94 0B 00 00 85 C0 7E 07 48)
registersymbol(splay_injcoin)
registersymbol(splay_injgrey)
registersymbol(splay_injinvu)
alloc(splay_mem, $1000)
label(pPlayer)
label(pPlayer_watchdog)
label(player1invuln)
label(pPlayer2)
label(pPlayer2_watchdog)
label(player2invuln)
registersymbol(pPlayer)
registersymbol(player1invuln)
registersymbol(pPlayer2)
registersymbol(player2invuln)
label(codecoin)
label(retcoin)
label(codegrey)
label(retgrey)
label(codeinvu)
label(retinvu)
label(invuln)
label(vulner)
splay_mem:
pPlayer:
dd 0
pPlayer_watchdog:
dd 0
pPlayer2:
dd 0
pPlayer2_watchdog:
dd 0
player1invuln:
dd 0
player2invuln:
dd 0
codecoin:
mov [pPlayer],edx
mov [pPlayer_watchdog],01
mov eax,[edx+B74]
jmp retcoin
codegrey:
cmp [pPlayer],ebx
je @f
mov [pPlayer2],ebx
mov [pPlayer2_watchdog],01
@@:
cmp [ebx+B5C],edi
jmp retgrey
codeinvu:
cmp [pPlayer],ebx
jne @f
cmp [player1invuln],00
jne invuln
jmp vulner
@@:
cmp [pPlayer2],ebx
jne vulner
cmp [player2invuln],00
jne invuln
vulner:
mov eax,[ebx+B94]
jmp retinvu
invuln:
mov eax,04
jmp retinvu
splay_injcoin:
jmp codecoin
nop
retcoin:
splay_injgrey:
jmp codegrey
nop
retgrey:
splay_injinvu:
jmp codeinvu
nop
retinvu:
[DISABLE]
luacall(if disableWD then disableWD() end)
splay_injcoin:
mov eax,[edx+B74]
{
isaac-ng.exe+1567E5 - D9 9D 34FFFFFF - fstp dword ptr [ebp-000000CC]
isaac-ng.exe+1567EB - D9 46 04 - fld dword ptr [esi+04]
isaac-ng.exe+1567EE - D8 85 38FFFFFF - fadd dword ptr [ebp-000000C8]
isaac-ng.exe+1567F4 - D9 9D 38FFFFFF - fstp dword ptr [ebp-000000C8]
->isaac-ng.exe+1567FA - 8B 82 740B0000 - mov eax,[edx+00000B74]
isaac-ng.exe+156800 - 50 - push eax
isaac-ng.exe+156801 - 68 C8AA2A00 - push isaac-ng.exe+1CAAC8
isaac-ng.exe+156806 - 6A 10 - push 10
isaac-ng.exe+156808 - 68 B01A3000 - push isaac-ng.exe+221AB0
}
splay_injgrey:
cmp [ebx+B5C],edi
{
isaac-ng.exe+154A1A - 41 - inc ecx
isaac-ng.exe+154A1B - 3B CA - cmp ecx,edx
isaac-ng.exe+154A1D - 7C BF - jnge isaac-ng.exe+1549DE
isaac-ng.exe+154A1F - 33 FF - xor edi,edi
->isaac-ng.exe+154A21 - 39 BB 5C0B0000 - cmp [ebx+00000B5C],edi
isaac-ng.exe+154A27 - 0F8E A8000000 - jng isaac-ng.exe+154AD5
isaac-ng.exe+154A2D - 8B 4D 9C - mov ecx,[ebp-64]
isaac-ng.exe+154A30 - 8B 55 B0 - mov edx,[ebp-50]
isaac-ng.exe+154A33 - 03 C9 - add ecx,ecx
}
splay_injinvu:
mov eax,[ebx+B94]
{
isaac-ng.exe+E5575 - D9 05 80033000 - fld dword ptr [isaac-ng.exe+220380]
isaac-ng.exe+E557B - D9 9B 34040000 - fstp dword ptr [ebx+00000434]
isaac-ng.exe+E5581 - 8B F3 - mov esi,ebx
isaac-ng.exe+E5583 - E8 B88A0000 - call isaac-ng.exe+EE040
->isaac-ng.exe+E5588 - 8B 83 940B0000 - mov eax,[ebx+00000B94]
isaac-ng.exe+E558E - 85 C0 - test eax,eax
isaac-ng.exe+E5590 - 7E 07 - jle isaac-ng.exe+E5599
isaac-ng.exe+E5592 - 48 - dec eax
isaac-ng.exe+E5593 - 89 83 940B0000 - mov [ebx+00000B94],eax
}
unregistersymbol(splay_injcoin)
unregistersymbol(splay_injgrey)
unregistersymbol(splay_injinvu)
unregistersymbol(pPlayer)
unregistersymbol(player1invuln)
unregistersymbol(pPlayer2)
unregistersymbol(player2invuln)
dealloc(splay_mem) |
_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE
Last edited by aikoncwd on Tue Dec 30, 2014 5:43 am; edited 1 time in total |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25819 Location: The netherlands
|
|
| Back to top |
|
 |
aikoncwd Grandmaster Cheater
Reputation: 23
Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
|
Posted: Tue Dec 30, 2014 5:44 am Post subject: |
|
|
Thanks, I will use regular labels to make cmp/jmp, the code will look more clean
_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE |
|
| Back to top |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Thu Jan 01, 2015 6:59 am Post subject: |
|
|
It is not that bad if you want to skip just one or two lines. And, better use nice indentation. (well, indentation is good for all cases anyway)
| Code: | (...something...)
(...something...)
(...something...)
jz short @f
or r10,r11
@@:
(...something...)
(...something...)
(...something...) |
_________________
|
|
| 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
|
|