<?xml version="1.0" encoding="utf-8"?>
<CheatTable UsesMono="1" CheatEngineTableVersion="52">
  <CheatEntries>
    <CheatEntry NoCheckbox="1">
      <ID>1337263245</ID>
      <Description>"Es necesario tener Cheat Engine actualizado a una version 7.5 o superior"</Description>
      <Color>804000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263246</ID>
      <Description>"y ejecutarlo como Administrador para que la tabla funcione correctamente."</Description>
      <Color>804000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263247</ID>
      <Description>"------------------------------------------------------------------------------"</Description>
      <Color>FF0080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263259</ID>
      <Description>"You need to have Cheat Engine updated to version 7.5 or higher"</Description>
      <Color>804000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263260</ID>
      <Description>"and run it as Administrator for the table to function correctly."</Description>
      <Color>804000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263261</ID>
      <Description>"------------------------------------------------------------------------------"</Description>
      <Color>FF0080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263248</ID>
      <Description>"TABLA CREADA POR ALBERTO47"</Description>
      <Color>FF0080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263249</ID>
      <Description>"------------------------------------------------------------------------------"</Description>
      <Color>800080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>20</ID>
      <Description>"F2 - Activar proceso (Activar y esperar 3 segundos para pulsar F3) - Activate process"</Description>
      <Options moHideChildren="1"/>
      <Color>0000FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
local process = 'Ultros.exe'
OpenProcess(process)
	if process ~= process or (readInteger(process) == nil) then
		error(ShowMessage("No se encuentra el proceso"))
	else
		mono_initialize()
        LaunchMonoDataCollector()
	end


--Set Window Title
local title = "Ultros v20240912 - Alberto47"
if not((MainForm.Caption):match("Ultros")) then
MainForm.Caption = title..' ~ '..MainForm.Caption
end
{$asm}

[DISABLE]

</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>113</Key>
          </Keys>
          <Description>F1 - Activar proceso</Description>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
          <DeactivateSound>Deactivate</DeactivateSound>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
    <CheatEntry>
      <ID>13</ID>
      <Description>"F3 - Activar punteros  - Activate pointers"</Description>
      <Color>0000FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Ultros.exe
  Version: 
  Date   : 2026-10-04
  Author : alber
  Description : 

  &lt;Optional info&gt;
}

[ENABLE]

//aobscanmodule(base,UnityPlayer.dll,48 8B 40 30 48 3B C2 74 1E) // should be unique
define(base,UnityPlayer.dll+DA28DC)
alloc(newmem,$1000,base)
alloc(puntero_base,8)

label(code)
label(return)

newmem:
  mov [puntero_base],rax
code:
  mov rax,[rax+30]
  cmp rax,rdx
  jmp return

base:
  jmp newmem
  nop 2
return:
registersymbol(base)
registersymbol(puntero_base)
[DISABLE]

base:
  db 48 8B 40 30 48 3B C2

unregistersymbol(base)
unregistersymbol(puntero_base)
dealloc(newmem)
dealloc(puntero_base)
{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+DA28DC

UnityPlayer.dll+DA28B4: 4D 85 C0              - test r8,r8
UnityPlayer.dll+DA28B7: 74 56                 - je UnityPlayer.dll+DA290F
UnityPlayer.dll+DA28B9: 44 8B 0D C4 81 E4 00  - mov r9d,[UnityPlayer.dll+1BEAA84]
UnityPlayer.dll+DA28C0: 44 8B 15 B9 81 E4 00  - mov r10d,[UnityPlayer.dll+1BEAA80]
UnityPlayer.dll+DA28C7: 49 8B 40 30           - mov rax,[r8+30]
UnityPlayer.dll+DA28CB: 48 85 C0              - test rax,rax
UnityPlayer.dll+DA28CE: 74 33                 - je UnityPlayer.dll+DA2903
UnityPlayer.dll+DA28D0: 48 8B 50 40           - mov rdx,[rax+40]
UnityPlayer.dll+DA28D4: 48 C1 E2 04           - shl rdx,04
UnityPlayer.dll+DA28D8: 48 03 50 30           - add rdx,[rax+30]
// ---------- INJECTING HERE ----------
UnityPlayer.dll+DA28DC: 48 8B 40 30           - mov rax,[rax+30]
// ---------- DONE INJECTING  ----------
UnityPlayer.dll+DA28E0: 48 3B C2              - cmp rax,rdx
UnityPlayer.dll+DA28E3: 74 1E                 - je UnityPlayer.dll+DA2903
UnityPlayer.dll+DA28E5: 8B 08                 - mov ecx,[rax]
UnityPlayer.dll+DA28E7: 41 2B CA              - sub ecx,r10d
UnityPlayer.dll+DA28EA: 41 3B C9              - cmp ecx,r9d
UnityPlayer.dll+DA28ED: 72 0B                 - jb UnityPlayer.dll+DA28FA
UnityPlayer.dll+DA28EF: 48 83 C0 10           - add rax,10
UnityPlayer.dll+DA28F3: 48 3B C2              - cmp rax,rdx
UnityPlayer.dll+DA28F6: 75 ED                 - jne UnityPlayer.dll+DA28E5
UnityPlayer.dll+DA28F8: EB 09                 - jmp UnityPlayer.dll+DA2903
}
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>114</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
          <DeactivateSound>Deactivate</DeactivateSound>
        </Hotkey>
      </Hotkeys>
      <CheatEntries>
        <CheatEntry>
          <ID>14</ID>
          <Description>"Vida / Life"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>[puntero_base]+30</Address>
          <Offsets>
            <Offset>20</Offset>
            <Offset>28</Offset>
            <Offset>100+08</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry ValueOnActivate="1" ValueOnDeactivate="0">
          <ID>15</ID>
          <Description>"F4 Invencible"</Description>
          <DropDownList>0:No
1:Si/Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>4080FF</Color>
          <VariableType>Byte</VariableType>
          <Address>[puntero_base]+30</Address>
          <Offsets>
            <Offset>24</Offset>
            <Offset>28</Offset>
            <Offset>100+08</Offset>
          </Offsets>
          <Hotkeys>
            <Hotkey>
              <Action>Toggle Activation</Action>
              <Keys>
                <Key>115</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound TTS="EN">Invencible Activated</ActivateSound>
              <DeactivateSound TTS="EN">Invencible Deactivated</DeactivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry ValueOnActivate="1" ValueOnDeactivate="0">
          <ID>16</ID>
          <Description>"F5 Vuelo libre / Free fly"</Description>
          <DropDownList>0:No
1:Si/Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>4080FF</Color>
          <VariableType>Byte</VariableType>
          <Address>[puntero_base]+30</Address>
          <Offsets>
            <Offset>F0</Offset>
            <Offset>B8</Offset>
            <Offset>28</Offset>
            <Offset>100+08</Offset>
          </Offsets>
          <Hotkeys>
            <Hotkey>
              <Action>Toggle Activation</Action>
              <Keys>
                <Key>116</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound TTS="EN">free fly Activated</ActivateSound>
              <DeactivateSound TTS="EN">free fly Deactivated</DeactivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>function cycleFullCompact(sender,force) local state = not(compactmenuitem.Caption == 'Compact View Mode'); if force~=nil then state = not force end; compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'; getMainForm().Splitter1.Visible = state; getMainForm().Panel5.Visible    = state; end; function addCompactMenu() if compactmenualreadyexists then return end; local parent = getMainForm().Menu.Items; compactmenuitem = createMenuItem(parent); parent.add(compactmenuitem); compactmenuitem.Caption = 'Compact View Mode'; compactmenuitem.OnClick = cycleFullCompact; compactmenualreadyexists = 'yes'; end; addCompactMenu(); cycleFullCompact(nil,true)

function setTheme(c, cb, cap) local mf=getMainForm(); local al=getAddressList(); mf.Color=c; mf.Foundlist3.Color=c; al.Control[0].BackgroundColor=c; AddressList.CheckboxColor=cb; themeMenu.Caption='Theme: '..cap; end; function addThemeMenu() if thememenuexists then return end; local m=getMainForm().Menu.Items; themeMenu=createMenuItem(m); m.add(themeMenu); themeMenu.Caption='Theme'; local function addSub(n,f) local s=createMenuItem(themeMenu); s.Caption=n; s.OnClick=f; themeMenu.add(s) end; addSub('Dark Mode', function() setTheme(0x000000, 0x0000FF, 'Dark') end); addSub('Light Mode', function() setTheme(0xFFFFFF, 0x000000, 'Light') end); addSub('Default', function() setTheme(clDefault, clDefault, 'Default') end); thememenuexists='yes' end; addThemeMenu();



</LuaScript>
</CheatTable>
