Last Epoch EA 0.9+ (Steam)...

Upload your cheat tables here (No requests)
User avatar
sanitka
Expert Cheater
Expert Cheater
Posts: 455
Joined: Sat Aug 22, 2020 5:40 am
Reputation: 200

Re: Last Epoch EA 0.9+ (Steam)...

Post by sanitka »

Toga wrote:
Fri Feb 23, 2024 12:03 pm
^ best to find the address of Player Actor
then in the structure you'll have everything you need.

look at Messy's post: viewtopic.php?p=242977#p242977
and his post above that one

gl
Get Player Actor Pointer (copy & paste to your table):

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>547</ID>
      <Description>"Get Actor"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Last Epoch.exe
  Version: 
  Date   : 2024-02-24
  Author : SanitKa

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJGETACTOR,GameAssembly.dll,48 8B 80 B8 00 00 00 48 8B 40 38 48 83 C4 20 5B C3 E8) // should be unique
alloc(newmem,$1000,INJGETACTOR)

label(code)
label(return)
label(actorPtr)

newmem:

code:
  mov rax,[rax+000000B8]       // long version; any offset
  mov rax,[rax+38]             // short version; 7F max offset
  mov [actorPtr],rax

  jmp return

actorPtr:
  dq 0

INJGETACTOR:
  jmp newmem
  nop 6                        // nop both mov rax ...

return:
registersymbol(INJGETACTOR)
registersymbol(actorPtr)

[DISABLE]

INJGETACTOR:
  db 48 8B 80 B8 00 00 00 48 8B 40 38

unregistersymbol(*)
dealloc(newmem)

{
PlayerFinder.getPlayerActor
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+12DB116

GameAssembly.dll+12DB0E6: 48 89 01              - mov [rcx],rax
GameAssembly.dll+12DB0E9: E8 42 66 DF FE        - call GameAssembly.dll+D1730
GameAssembly.dll+12DB0EE: 48 8B 05 43 D7 8E 04  - mov rax,[GameAssembly.dll+5BC8838]
GameAssembly.dll+12DB0F5: F6 80 2F 01 00 00 02  - test byte ptr [rax+0000012F],02
GameAssembly.dll+12DB0FC: 74 18                 - je GameAssembly.dll+12DB116
GameAssembly.dll+12DB0FE: 83 B8 E0 00 00 00 00  - cmp dword ptr [rax+000000E0],00
GameAssembly.dll+12DB105: 75 0F                 - jne GameAssembly.dll+12DB116
GameAssembly.dll+12DB107: 48 8B C8              - mov rcx,rax
GameAssembly.dll+12DB10A: E8 21 C5 D7 FE        - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+12DB10F: 48 8B 05 22 D7 8E 04  - mov rax,[GameAssembly.dll+5BC8838]
GameAssembly.dll+12DB116: 48 8B 80 B8 00 00 00  - mov rax,[rax+000000B8]
// ---------- INJECTING HERE ----------
GameAssembly.dll+12DB11D: 48 8B 40 38           - mov rax,[rax+38]
GameAssembly.dll+12DB121: 48 83 C4 20           - add rsp,20
// ---------- DONE INJECTING  ----------
GameAssembly.dll+12DB125: 5B                    - pop rbx
GameAssembly.dll+12DB126: C3                    - ret 
GameAssembly.dll+12DB127: E8 34 6A DF FE        - call GameAssembly.dll+D1B60
GameAssembly.dll+12DB12C: CC                    - int 3 
GameAssembly.dll+12DB12D: CC                    - int 3 
GameAssembly.dll+12DB12E: CC                    - int 3 
GameAssembly.dll+12DB12F: CC                    - int 3 
PlayerFinder.getPlayerDataTracker: 40 53                 - push rbx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Actor Ptr"</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>8 Bytes</VariableType>
          <Address>actorPtr</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Actor Structure (save to disk and import in Structure Disect):

Code: Select all

<Structures>
  <Structure Name="Actor" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
    <Elements>
      <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
      <Element Offset="24" Vartype="Pointer" Bytesize="8" OffsetHex="00000018" ChildStruct="ActorData" Description="data" DisplayMethod="unsigned integer"/>
      <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="actorSync" DisplayMethod="unsigned integer"/>
      <Element Offset="40" Vartype="Byte" Bytesize="1" OffsetHex="00000028" Description="foundActorSync" DisplayMethod="unsigned integer"/>
      <Element Offset="48" Vartype="Pointer" Bytesize="8" OffsetHex="00000030" Description="health" DisplayMethod="unsigned integer">
        <Structure Name="UnitHealth" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
          <Elements>
            <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
            <Element Offset="24" Vartype="Byte" Bytesize="1" OffsetHex="00000018" Description="_hasFirstTicked" DisplayMethod="unsigned integer"/>
            <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="actor" DisplayMethod="unsigned integer"/>
            <Element Offset="40" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000028" Description="maxHealth" DisplayMethod="unsigned integer"/>
            <Element Offset="44" Vartype="Float" Bytesize="4" OffsetHex="0000002C" Description="currentHealth" DisplayMethod="unsigned integer"/>
            <Element Offset="48" Vartype="Byte" Bytesize="1" OffsetHex="00000030" Description="damageable" DisplayMethod="unsigned integer"/>
            <Element Offset="49" Vartype="Byte" Bytesize="1" OffsetHex="00000031" Description="canDie" DisplayMethod="unsigned integer"/>
            <Element Offset="50" Vartype="Byte" Bytesize="1" OffsetHex="00000032" Description="healable" DisplayMethod="unsigned integer"/>
            <Element Offset="52" Vartype="Float" Bytesize="4" OffsetHex="00000034" Description="baseHealthRegenPerSecond" DisplayMethod="unsigned integer"/>
            <Element Offset="56" Vartype="Float" Bytesize="4" OffsetHex="00000038" Description="addedHealthRegenPerSecond" DisplayMethod="unsigned integer"/>
            <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="damageTakenEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="lethalDamageTakenEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="healthChangeEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="unimportanceModifier" DisplayMethod="unsigned integer"/>
            <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="unimportanceCoroutine" DisplayMethod="unsigned integer"/>
            <Element Offset="104" Vartype="Float" Bytesize="4" OffsetHex="00000068" Description="origonalUnimportance" DisplayMethod="unsigned integer"/>
            <Element Offset="108" Vartype="4 Bytes" Bytesize="4" OffsetHex="0000006C" Description="additionalSourcesOfCannotDie" DisplayMethod="unsigned integer"/>
            <Element Offset="112" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000070" Description="oldHealthRatio" DisplayMethod="unsigned integer"/>
            <Element Offset="116" Vartype="Byte" Bytesize="1" OffsetHex="00000074" Description="healthRatio" DisplayMethod="unsigned integer"/>
            <Element Offset="117" Vartype="Byte" Bytesize="1" OffsetHex="00000075" Description="useHealthCap" DisplayMethod="unsigned integer"/>
            <Element Offset="120" Vartype="Float" Bytesize="4" OffsetHex="00000078" Description="healthCap" DisplayMethod="unsigned integer"/>
            <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="activeHealthCaps" DisplayMethod="unsigned integer"/>
            <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="tForm" DisplayMethod="unsigned integer"/>
            <Element Offset="144" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000090" Description="healthSerialisation" DisplayMethod="unsigned integer"/>
            <Element Offset="148" Vartype="Float" Bytesize="4" OffsetHex="00000094" Description="effectiveHealthModifier" DisplayMethod="unsigned integer"/>
            <Element Offset="152" Vartype="Float" Bytesize="4" OffsetHex="00000098" Description="startingHealthPercentage" DisplayMethod="unsigned integer"/>
            <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="protectionDamageTypes" DisplayMethod="unsigned integer"/>
            <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="relativeProtectionValues" DisplayMethod="unsigned integer"/>
          </Elements>
        </Structure>
      </Element>
      <Element Offset="56" Vartype="Pointer" Bytesize="8" OffsetHex="00000038" Description="alignmentManager" DisplayMethod="unsigned integer"/>
      <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="protection" DisplayMethod="unsigned integer"/>
      <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="stats" DisplayMethod="unsigned integer"/>
      <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="dying" DisplayMethod="unsigned integer"/>
      <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="stateController" DisplayMethod="unsigned integer"/>
      <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="summoned" DisplayMethod="unsigned integer"/>
      <Element Offset="104" Vartype="Pointer" Bytesize="8" OffsetHex="00000068" Description="mana" DisplayMethod="unsigned integer"/>
      <Element Offset="112" Vartype="Pointer" Bytesize="8" OffsetHex="00000070" Description="chargeManager" DisplayMethod="unsigned integer"/>
      <Element Offset="120" Vartype="Pointer" Bytesize="8" OffsetHex="00000078" Description="leechTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="statBuffs" DisplayMethod="unsigned integer"/>
      <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="abilityObjectConstructor" DisplayMethod="unsigned integer"/>
      <Element Offset="144" Vartype="Pointer" Bytesize="8" OffsetHex="00000090" Description="tForm" DisplayMethod="unsigned integer"/>
      <Element Offset="152" Vartype="Pointer" Bytesize="8" OffsetHex="00000098" Description="sizeManager" DisplayMethod="unsigned integer"/>
      <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="navMeshAgent" DisplayMethod="unsigned integer"/>
      <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="ailmentReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="176" Vartype="Pointer" Bytesize="8" OffsetHex="000000B0" Description="accuracyManager" DisplayMethod="unsigned integer"/>
      <Element Offset="184" Vartype="Pointer" Bytesize="8" OffsetHex="000000B8" Description="animationManager" DisplayMethod="unsigned integer"/>
      <Element Offset="192" Vartype="Pointer" Bytesize="8" OffsetHex="000000C0" Description="targetFinder" DisplayMethod="unsigned integer"/>
      <Element Offset="200" Vartype="Pointer" Bytesize="8" OffsetHex="000000C8" Description="waiting" DisplayMethod="unsigned integer"/>
      <Element Offset="208" Vartype="Pointer" Bytesize="8" OffsetHex="000000D0" Description="movingToTarget" DisplayMethod="unsigned integer"/>
      <Element Offset="216" Vartype="Pointer" Bytesize="8" OffsetHex="000000D8" Description="stunned" DisplayMethod="unsigned integer"/>
      <Element Offset="224" Vartype="Pointer" Bytesize="8" OffsetHex="000000E0" Description="relayDamageEvents" DisplayMethod="unsigned integer"/>
      <Element Offset="232" Vartype="Pointer" Bytesize="8" OffsetHex="000000E8" Description="stateSoundManager" DisplayMethod="unsigned integer"/>
      <Element Offset="240" Vartype="Pointer" Bytesize="8" OffsetHex="000000F0" Description="deathItemDrop" DisplayMethod="unsigned integer"/>
      <Element Offset="248" Vartype="Pointer" Bytesize="8" OffsetHex="000000F8" Description="itemContainersManager" DisplayMethod="unsigned integer">
        <Structure Name="ItemContainersManager" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
          <Elements>
            <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
            <Element Offset="24" Vartype="Byte" Bytesize="1" OffsetHex="00000018" Description="_hasFirstTicked" DisplayMethod="unsigned integer"/>
            <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="inventory" DisplayMethod="unsigned integer"/>
            <Element Offset="40" Vartype="Pointer" Bytesize="8" OffsetHex="00000028" Description="equipment" DisplayMethod="unsigned integer"/>
            <Element Offset="48" Vartype="Pointer" Bytesize="8" OffsetHex="00000030" Description="materials" DisplayMethod="unsigned integer"/>
            <Element Offset="56" Vartype="Pointer" Bytesize="8" OffsetHex="00000038" Description="cursor" DisplayMethod="unsigned integer"/>
            <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="swapBuffer" DisplayMethod="unsigned integer"/>
            <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="stash" DisplayMethod="unsigned integer"/>
            <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="shop" DisplayMethod="unsigned integer"/>
            <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="buyback" DisplayMethod="unsigned integer"/>
            <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="crafting" DisplayMethod="unsigned integer"/>
            <Element Offset="104" Vartype="Pointer" Bytesize="8" OffsetHex="00000068" Description="eternityCache" DisplayMethod="unsigned integer"/>
            <Element Offset="112" Vartype="Pointer" Bytesize="8" OffsetHex="00000070" Description="gambling" DisplayMethod="unsigned integer"/>
            <Element Offset="120" Vartype="Pointer" Bytesize="8" OffsetHex="00000078" Description="soulGambling" DisplayMethod="unsigned integer"/>
            <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="factionGamblingCoF" DisplayMethod="unsigned integer"/>
            <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="factionGamblingMG" DisplayMethod="unsigned integer"/>
            <Element Offset="144" Vartype="Pointer" Bytesize="8" OffsetHex="00000090" Description="arenaKey" DisplayMethod="unsigned integer"/>
            <Element Offset="152" Vartype="Pointer" Bytesize="8" OffsetHex="00000098" Description="dun1Key" DisplayMethod="unsigned integer"/>
            <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="lightlessArborDungeonKey" DisplayMethod="unsigned integer"/>
            <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="soulfireBastionDungeonKey" DisplayMethod="unsigned integer"/>
            <Element Offset="176" Vartype="Pointer" Bytesize="8" OffsetHex="000000B0" Description="idols" DisplayMethod="unsigned integer"/>
            <Element Offset="184" Vartype="Pointer" Bytesize="8" OffsetHex="000000B8" Description="blessings" DisplayMethod="unsigned integer"/>
            <Element Offset="192" Vartype="Pointer" Bytesize="8" OffsetHex="000000C0" Description="lenses" DisplayMethod="unsigned integer"/>
            <Element Offset="200" Vartype="Pointer" Bytesize="8" OffsetHex="000000C8" Description="giftedItems" DisplayMethod="unsigned integer"/>
            <Element Offset="208" Vartype="Pointer" Bytesize="8" OffsetHex="000000D0" Description="itemToGift" DisplayMethod="unsigned integer"/>
            <Element Offset="216" Vartype="Pointer" Bytesize="8" OffsetHex="000000D8" Description="itemToTrade" DisplayMethod="unsigned integer"/>
            <Element Offset="224" Vartype="Pointer" Bytesize="8" OffsetHex="000000E0" Description="itemToTradePreview" DisplayMethod="unsigned integer"/>
            <Element Offset="232" Vartype="Pointer" Bytesize="8" OffsetHex="000000E8" Description="itemToList" DisplayMethod="unsigned integer"/>
            <Element Offset="240" Vartype="Pointer" Bytesize="8" OffsetHex="000000F0" Description="craftingManager" DisplayMethod="unsigned integer"/>
            <Element Offset="248" Vartype="4 Bytes" Bytesize="4" OffsetHex="000000F8" Description="CursorPickedFromPos" DisplayMethod="unsigned integer"/>
            <Element Offset="256" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000100" Description="CursorPickedFromContainer" DisplayMethod="unsigned integer"/>
            <Element Offset="264" Vartype="Pointer" Bytesize="8" OffsetHex="00000108" Description="treeData" DisplayMethod="unsigned integer"/>
            <Element Offset="272" Vartype="Pointer" Bytesize="8" OffsetHex="00000110" Description="characterMutator" DisplayMethod="unsigned integer"/>
            <Element Offset="280" Vartype="Pointer" Bytesize="8" OffsetHex="00000118" Description="tracker" DisplayMethod="unsigned integer"/>
            <Element Offset="288" Vartype="Pointer" Bytesize="8" OffsetHex="00000120" Description="globalDataTracker" DisplayMethod="unsigned integer"/>
            <Element Offset="296" Vartype="Pointer" Bytesize="8" OffsetHex="00000128" Description="shardStorage" DisplayMethod="unsigned integer"/>
            <Element Offset="304" Vartype="Pointer" Bytesize="8" OffsetHex="00000130" Description="resonanceStorage" DisplayMethod="unsigned integer"/>
            <Element Offset="312" Vartype="Pointer" Bytesize="8" OffsetHex="00000138" Description="movingPlayer" DisplayMethod="unsigned integer"/>
            <Element Offset="320" Vartype="Pointer" Bytesize="8" OffsetHex="00000140" Description="actor" DisplayMethod="unsigned integer"/>
            <Element Offset="328" Vartype="Pointer" Bytesize="8" OffsetHex="00000148" Description="itemEquipManager" DisplayMethod="unsigned integer"/>
            <Element Offset="336" Vartype="Byte" Bytesize="1" OffsetHex="00000150" Description="fullyInitialisedAndLoaded" DisplayMethod="unsigned integer"/>
            <Element Offset="337" Vartype="Byte" Bytesize="1" OffsetHex="00000151" Description="saveStashFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="338" Vartype="Byte" Bytesize="1" OffsetHex="00000152" Description="saveCharContainerFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="339" Vartype="Byte" Bytesize="1" OffsetHex="00000153" Description="saveStashLayoutFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="340" Vartype="Byte" Bytesize="1" OffsetHex="00000154" Description="syncBuybackFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="341" Vartype="Byte" Bytesize="1" OffsetHex="00000155" Description="cursorLocked" DisplayMethod="unsigned integer"/>
            <Element Offset="342" Vartype="2 Bytes" Bytesize="2" OffsetHex="00000156" Description="soulGamblingSeed" DisplayMethod="unsigned integer"/>
            <Element Offset="344" Vartype="2 Bytes" Bytesize="2" OffsetHex="00000158" Description="itemsPurchasedFromSoulGamblerSincePopulated" DisplayMethod="unsigned integer"/>
            <Element Offset="352" Vartype="Pointer" Bytesize="8" OffsetHex="00000160" Description="OnCursorLockStatusChange" DisplayMethod="unsigned integer"/>
            <Element Offset="360" Vartype="Pointer" Bytesize="8" OffsetHex="00000168" Description="blessingsDiscovered" DisplayMethod="unsigned integer"/>
            <Element Offset="368" Vartype="Pointer" Bytesize="8" OffsetHex="00000170" Description="unequippableDropPairs" DisplayMethod="unsigned integer"/>
            <Element Offset="376" Vartype="Pointer" Bytesize="8" OffsetHex="00000178" Description="clientAdditionalOffhandBaseTypeProvider" DisplayMethod="unsigned integer"/>
            <Element Offset="384" Vartype="Pointer" Bytesize="8" OffsetHex="00000180" Description="tempCharacterInfoProvider" DisplayMethod="unsigned integer"/>
          </Elements>
        </Structure>
      </Element>
      <Element Offset="256" Vartype="Pointer" Bytesize="8" OffsetHex="00000100" Description="characterMutator" DisplayMethod="unsigned integer"/>
      <Element Offset="264" Vartype="Pointer" Bytesize="8" OffsetHex="00000108" Description="playerQuestListHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="272" Vartype="Pointer" Bytesize="8" OffsetHex="00000110" Description="playerMonolithQuestListHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="280" Vartype="Pointer" Bytesize="8" OffsetHex="00000118" Description="monolithRunsManager" DisplayMethod="unsigned integer"/>
      <Element Offset="288" Vartype="Pointer" Bytesize="8" OffsetHex="00000120" Description="goldTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="296" Vartype="Pointer" Bytesize="8" OffsetHex="00000128" Description="factionInfo" DisplayMethod="unsigned integer"/>
      <Element Offset="304" Vartype="Pointer" Bytesize="8" OffsetHex="00000130" Description="resonancesTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="312" Vartype="Pointer" Bytesize="8" OffsetHex="00000138" Description="experienceTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="320" Vartype="Pointer" Bytesize="8" OffsetHex="00000140" Description="itemDropBonuses" DisplayMethod="unsigned integer"/>
      <Element Offset="328" Vartype="Pointer" Bytesize="8" OffsetHex="00000148" Description="generateItems" DisplayMethod="unsigned integer"/>
      <Element Offset="336" Vartype="Pointer" Bytesize="8" OffsetHex="00000150" Description="localTreeData" DisplayMethod="unsigned integer"/>
      <Element Offset="344" Vartype="Pointer" Bytesize="8" OffsetHex="00000158" Description="globalDataTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="352" Vartype="Pointer" Bytesize="8" OffsetHex="00000160" Description="voteManager" DisplayMethod="unsigned integer"/>
      <Element Offset="360" Vartype="Pointer" Bytesize="8" OffsetHex="00000168" Description="dungeonRunManager" DisplayMethod="unsigned integer"/>
      <Element Offset="368" Vartype="Pointer" Bytesize="8" OffsetHex="00000170" Description="arenaRunManager" DisplayMethod="unsigned integer"/>
      <Element Offset="376" Vartype="Pointer" Bytesize="8" OffsetHex="00000178" Description="weaponInfoHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="384" Vartype="Pointer" Bytesize="8" OffsetHex="00000180" Description="falconIdleState" DisplayMethod="unsigned integer"/>
      <Element Offset="392" Vartype="Pointer" Bytesize="8" OffsetHex="00000188" Description="actorPointerEventListener" DisplayMethod="unsigned integer"/>
      <Element Offset="400" Vartype="Pointer" Bytesize="8" OffsetHex="00000190" Description="colliders" DisplayMethod="unsigned integer"/>
      <Element Offset="408" Vartype="Float" Bytesize="4" OffsetHex="00000198" Description="unscaledRadius" DisplayMethod="unsigned integer"/>
      <Element Offset="412" Vartype="Byte" Bytesize="1" OffsetHex="0000019C" Description="cannotBePushed" DisplayMethod="unsigned integer"/>
      <Element Offset="413" Vartype="Byte" Bytesize="1" OffsetHex="0000019D" Description="isPlayerActor" DisplayMethod="unsigned integer"/>
      <Element Offset="416" Vartype="Float" Bytesize="4" OffsetHex="000001A0" Description="increasedPotionDroprate" DisplayMethod="unsigned integer"/>
      <Element Offset="420" Vartype="Byte" Bytesize="1" OffsetHex="000001A4" Description="cannotTargetWithMovementAbilities" DisplayMethod="unsigned integer"/>
      <Element Offset="424" Vartype="Float" Bytesize="4" OffsetHex="000001A8" Description="distanceFromCentreForAttackersToMoveTowards" DisplayMethod="unsigned integer"/>
      <Element Offset="428" Vartype="Byte" Bytesize="1" OffsetHex="000001AC" Description="neverValidTarget" DisplayMethod="unsigned integer"/>
      <Element Offset="429" Vartype="Byte" Bytesize="1" OffsetHex="000001AD" Description="cannotBeAffectedByDarkness" DisplayMethod="unsigned integer"/>
      <Element Offset="432" Vartype="4 Bytes" Bytesize="4" OffsetHex="000001B0" Description="totalSourcesOfTargetInvalidity" DisplayMethod="unsigned integer"/>
      <Element Offset="440" Vartype="Pointer" Bytesize="8" OffsetHex="000001B8" Description="abilityEventListener" DisplayMethod="unsigned integer"/>
      <Element Offset="448" Vartype="Pointer" Bytesize="8" OffsetHex="000001C0" Description="creationReferences" DisplayMethod="unsigned integer"/>
      <Element Offset="456" Vartype="Pointer" Bytesize="8" OffsetHex="000001C8" Description="summonTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="464" Vartype="Pointer" Bytesize="8" OffsetHex="000001D0" Description="mutatorManager" DisplayMethod="unsigned integer"/>
      <Element Offset="472" Vartype="Byte" Bytesize="1" OffsetHex="000001D8" Description="hasMutatorManager" DisplayMethod="unsigned integer"/>
      <Element Offset="480" Vartype="Pointer" Bytesize="8" OffsetHex="000001E0" Description="hitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="488" Vartype="Byte" Bytesize="1" OffsetHex="000001E8" Description="checkedForHitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="489" Vartype="Byte" Bytesize="1" OffsetHex="000001E9" Description="hasHitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="496" Vartype="Pointer" Bytesize="8" OffsetHex="000001F0" Description="movingPlayerServer" DisplayMethod="unsigned integer"/>
      <Element Offset="504" Vartype="Pointer" Bytesize="8" OffsetHex="000001F8" Description="abilityList" DisplayMethod="unsigned integer"/>
      <Element Offset="512" Vartype="Pointer" Bytesize="8" OffsetHex="00000200" Description="characterDataTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="520" Vartype="Pointer" Bytesize="8" OffsetHex="00000208" Description="healthPotion" DisplayMethod="unsigned integer"/>
      <Element Offset="528" Vartype="Pointer" Bytesize="8" OffsetHex="00000210" Description="minionStanceData" DisplayMethod="unsigned integer"/>
      <Element Offset="536" Vartype="Pointer" Bytesize="8" OffsetHex="00000218" Description="tooltipDPSManager" DisplayMethod="unsigned integer"/>
      <Element Offset="544" Vartype="Pointer" Bytesize="8" OffsetHex="00000220" Description="appliedModKeys" DisplayMethod="unsigned integer"/>
      <Element Offset="552" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000228" Description="rarity" DisplayMethod="unsigned integer"/>
      <Element Offset="553" Vartype="Byte" Bytesize="1" OffsetHex="00000229" Description="isMinion" DisplayMethod="unsigned integer"/>
      <Element Offset="554" Vartype="Byte" Bytesize="1" OffsetHex="0000022A" Description="isSummonedTotem" DisplayMethod="unsigned integer"/>
      <Element Offset="555" Vartype="Byte" Bytesize="1" OffsetHex="0000022B" Description="&lt;UsingAbilityHasActivated&gt;k__BackingField" DisplayMethod="unsigned integer"/>
      <Element Offset="556" Vartype="4 Bytes" Bytesize="4" OffsetHex="0000022C" Description="referenceVersion" DisplayMethod="unsigned integer"/>
      <Element Offset="560" Vartype="Pointer" Bytesize="8" OffsetHex="00000230" Description="usingAbilityActivatedEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="568" Vartype="Pointer" Bytesize="8" OffsetHex="00000238" Description="reachedMovementAbilityDestinationEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="576" Vartype="Pointer" Bytesize="8" OffsetHex="00000240" Description="movedToPlayerSpawnEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="584" Vartype="Float" Bytesize="4" OffsetHex="00000248" Description="initialRadius" DisplayMethod="unsigned integer"/>
      <Element Offset="588" Vartype="Byte" Bytesize="1" OffsetHex="0000024C" Description="hasBeenDisabled" DisplayMethod="unsigned integer"/>
      <Element Offset="589" Vartype="Byte" Bytesize="1" OffsetHex="0000024D" Description="initialised" DisplayMethod="unsigned integer"/>
      <Element Offset="592" Vartype="Float" Bytesize="4" OffsetHex="00000250" Description="timeLastPulled" DisplayMethod="unsigned integer"/>
      <Element Offset="600" Vartype="Pointer" Bytesize="8" OffsetHex="00000258" Description="objectLastPulledBy" DisplayMethod="unsigned integer"/>
    </Elements>
  </Structure>
</Structures>


How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1
Last edited by sanitka on Sat Feb 24, 2024 10:49 pm, edited 1 time in total.

Impala
Table Makers
Table Makers
Posts: 609
Joined: Tue Apr 18, 2017 6:47 pm
Reputation: 400

Re: Last Epoch EA 0.9+ (Steam)...

Post by Impala »

Added Max Unique, Sets and Implicit Rolls
Added Vacuum crafting mats range (Will Suck the entire map. Had some long freezes in campaign, game comes back no crash)

viewtopic.php?p=336654#p336654

I'm not updating the whole table, only functions I want to use, so don't ask

muliari14
Novice Cheater
Novice Cheater
Posts: 15
Joined: Fri Apr 26, 2019 7:01 am
Reputation: 0

Re: Last Epoch EA 0.9+ (Steam)...

Post by muliari14 »

Impala wrote:
Wed Feb 21, 2024 10:51 pm
Quick Infinite Potions Script (copy and paste into CE)

Waiting for someone better than me to make a table

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>535</ID>
      <Description>"Infinite Potions"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
//GameAssembly.dll+16C6937 - 2B 43 60              - sub eax,[rbx+60]
aobscanmodule(infpotions,GameAssembly.dll,2B 43 60 89 43 24 40 84 F6 74 4A 48 8B 43 38) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  //sub eax,[rbx+60]
  mov [rbx+24],eax
  test sil,sil
  je GameAssembly.dll+16C698C
  mov rax,[rbx+38]
  jmp return

infpotions:
  jmp far newmem
  nop
return:
registersymbol(infpotions)

[DISABLE]

infpotions:
  db 2B 43 60 89 43 24 40 84 F6 74 4A 48 8B 43 38

unregistersymbol(infpotions)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+16C6937

GameAssembly.dll+16C690D: E8 7E 20 13 00        - call BaseHealth.restoreHealth
GameAssembly.dll+16C6912: F3 0F 10 4B 6C        - movss xmm1,[rbx+6C]
GameAssembly.dll+16C6917: 0F 2F CE              - comiss xmm1,xmm6
GameAssembly.dll+16C691A: 76 18                 - jna GameAssembly.dll+16C6934
GameAssembly.dll+16C691C: 48 8B 8B 88 00 00 00  - mov rcx,[rbx+00000088]
GameAssembly.dll+16C6923: 48 85 C9              - test rcx,rcx
GameAssembly.dll+16C6926: 0F 84 A3 02 00 00     - je GameAssembly.dll+16C6BCF
GameAssembly.dll+16C692C: 45 33 C0              - xor r8d,r8d
GameAssembly.dll+16C692F: E8 7C 1A 48 00        - call ProtectionClass.GainWard
GameAssembly.dll+16C6934: 8B 43 24              - mov eax,[rbx+24]
// ---------- INJECTING HERE ----------
GameAssembly.dll+16C6937: 2B 43 60              - sub eax,[rbx+60]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+16C693A: 89 43 24              - mov [rbx+24],eax
GameAssembly.dll+16C693D: 40 84 F6              - test sil,sil
GameAssembly.dll+16C6940: 74 4A                 - je GameAssembly.dll+16C698C
GameAssembly.dll+16C6942: 48 8B 43 38           - mov rax,[rbx+38]
GameAssembly.dll+16C6946: 33 FF                 - xor edi,edi
GameAssembly.dll+16C6948: 48 85 C0              - test rax,rax
GameAssembly.dll+16C694B: 74 07                 - je GameAssembly.dll+16C6954
GameAssembly.dll+16C694D: 39 78 18              - cmp [rax+18],edi
GameAssembly.dll+16C6950: 40 0F 9F C7           - setg dil
GameAssembly.dll+16C6954: 48 8B 8B A8 00 00 00  - mov rcx,[rbx+000000A8]
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Infinite Runes (Open Inventory to set to 999)
-Note: It won't show until you craft with one or pick one up
--Works on glyphs too
--If you want it to update immediately, just go to a forge and switch runes and glyphs (You don't have to craft, just switch them in and out)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>536</ID>
      <Description>"Infinite Runes (Open Inventory)"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
//GameAssembly.dll+E2C827 - 8B 40 28              - mov eax,[rax+28]
aobscanmodule(infrunes,GameAssembly.dll,8B 40 28 48 83 C4 20 5B C3 E8 1B) // should be unique
alloc(newmem,$1000,infrunes)

label(code)
label(return)

newmem:

code:
  mov [rax+28],#999
  mov eax,[rax+28]
  add rsp,20
  jmp return

infrunes:
  jmp newmem
  nop 2
return:
registersymbol(infrunes)

[DISABLE]

infrunes:
  db 8B 40 28 48 83 C4 20

unregistersymbol(infrunes)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+E2C827

GameAssembly.dll+E2C804: 48 8D 4C 24 30  - lea rcx,[rsp+30]
GameAssembly.dll+E2C809: 48 8B 50 20     - mov rdx,[rax+20]
GameAssembly.dll+E2C80D: 48 89 54 24 30  - mov [rsp+30],rdx
GameAssembly.dll+E2C812: E8 09 54 6D FF  - call GameAssembly.dll+501C20
GameAssembly.dll+E2C817: 48 8B 44 24 30  - mov rax,[rsp+30]
GameAssembly.dll+E2C81C: 48 85 C0        - test rax,rax
GameAssembly.dll+E2C81F: 75 06           - jne GameAssembly.dll+E2C827
GameAssembly.dll+E2C821: 48 83 C4 20     - add rsp,20
GameAssembly.dll+E2C825: 5B              - pop rbx
GameAssembly.dll+E2C826: C3              - ret 
// ---------- INJECTING HERE ----------
GameAssembly.dll+E2C827: 8B 40 28        - mov eax,[rax+28]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+E2C82A: 48 83 C4 20     - add rsp,20
GameAssembly.dll+E2C82E: 5B              - pop rbx
GameAssembly.dll+E2C82F: C3              - ret 
GameAssembly.dll+E2C830: E8 1B 58 6D FF  - call GameAssembly.dll+502050
GameAssembly.dll+E2C835: CC              - int 3 
GameAssembly.dll+E2C836: CC              - int 3 
GameAssembly.dll+E2C837: CC              - int 3 
GameAssembly.dll+E2C838: CC              - int 3 
GameAssembly.dll+E2C839: CC              - int 3 
GameAssembly.dll+E2C83A: CC              - int 3 
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Infinite Shards
-Works like infinite runes
-Use shatter runes at forge to get new shards

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>537</ID>
      <Description>"Infinite Shards (Open Inventory)"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
//GameAssembly.dll+F1548D - 03 58 14              - add ebx,[rax+14]
aobscanmodule(infshards,GameAssembly.dll,03 58 14 89 5D 50) // should be unique
alloc(newmem,$1000,infshards)

label(code)
label(return)

newmem:

code:
  mov [rax+14],#999
  add ebx,[rax+14]
  mov [rbp+50],ebx
  jmp return

infshards:
  jmp newmem
  nop
return:
registersymbol(infshards)

[DISABLE]

infshards:
  db 03 58 14 89 5D 50

unregistersymbol(infshards)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+F1548D

GameAssembly.dll+F15463: 0F 1F 40 00                 - nop dword ptr [rax+00]
GameAssembly.dll+F15467: 66 0F 1F 84 00 00 00 00 00  - nop word ptr [rax+rax+00000000]
GameAssembly.dll+F15470: 48 8B 15 09 E9 F6 04        - mov rdx,[GameAssembly.dll+5E83D80]
GameAssembly.dll+F15477: 48 8D 4D 08                 - lea rcx,[rbp+08]
GameAssembly.dll+F1547B: E8 60 56 95 00              - call GameAssembly.dll+186AAE0
GameAssembly.dll+F15480: 84 C0                       - test al,al
GameAssembly.dll+F15482: 74 11                       - je GameAssembly.dll+F15495
GameAssembly.dll+F15484: 48 8B 45 18                 - mov rax,[rbp+18]
GameAssembly.dll+F15488: 48 85 C0                    - test rax,rax
GameAssembly.dll+F1548B: 74 5C                       - je GameAssembly.dll+F154E9
// ---------- INJECTING HERE ----------
GameAssembly.dll+F1548D: 03 58 14                    - add ebx,[rax+14]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+F15490: 89 5D 50                    - mov [rbp+50],ebx
GameAssembly.dll+F15493: EB DB                       - jmp GameAssembly.dll+F15470
GameAssembly.dll+F15495: C7 07 49 00 00 00           - mov [rdi],00000049
GameAssembly.dll+F1549B: 48 8B 15 06 7A EF 04        - mov rdx,[GameAssembly.dll+5E0CEA8]
GameAssembly.dll+F154A2: 48 8D 4D 08                 - lea rcx,[rbp+08]
GameAssembly.dll+F154A6: E8 05 E4 74 FF              - call &lt;changeWaveY&gt;d__17.System.IDisposable.Dispose
GameAssembly.dll+F154AB: EB 1C                       - jmp GameAssembly.dll+F154C9
GameAssembly.dll+F154AD: 48 8B 15 F4 79 EF 04        - mov rdx,[GameAssembly.dll+5E0CEA8]
GameAssembly.dll+F154B4: 48 8D 4D 08                 - lea rcx,[rbp+08]
GameAssembly.dll+F154B8: E8 F3 E3 74 FF              - call &lt;changeWaveY&gt;d__17.System.IDisposable.Dispose
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Max Unique, Sets and Implicit Rolls

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>544</ID>
      <Description>"Max Unique, Sets and Implicit Rolls"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
//GameAssembly.dll+23C695B - 88 44 39 20           - mov [rcx+rdi+20],al
aobscanmodule(maxuniques,GameAssembly.dll,FE 48 85 FF 74 2E 3B 5F 18 73 2F 48 63 CB FF C3 8B D3 88 44 39 20 48 8B 46 30) // should be unique
alloc(newmem,$1000,maxuniques)

label(code)
label(return)

newmem:

code:
  mov al, #255
  mov [rcx+rdi+20],al
  mov rax,[rsi+30]
  jmp return

maxuniques+12:
  jmp newmem
  nop 3
return:
registersymbol(maxuniques)

[DISABLE]

maxuniques+12:
  db 88 44 39 20 48 8B 46 30

unregistersymbol(maxuniques)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+23C695B

GameAssembly.dll+23C693E: E8 1D 12 0C FE  - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+23C6943: 33 C9           - xor ecx,ecx
GameAssembly.dll+23C6945: E8 46 0E 67 FE  - call Fun.randomByte
GameAssembly.dll+23C694A: 48 85 FF        - test rdi,rdi
GameAssembly.dll+23C694D: 74 2E           - je GameAssembly.dll+23C697D
GameAssembly.dll+23C694F: 3B 5F 18        - cmp ebx,[rdi+18]
GameAssembly.dll+23C6952: 73 2F           - jae GameAssembly.dll+23C6983
GameAssembly.dll+23C6954: 48 63 CB        - movsxd  rcx,ebx
GameAssembly.dll+23C6957: FF C3           - inc ebx
GameAssembly.dll+23C6959: 8B D3           - mov edx,ebx
// ---------- INJECTING HERE ----------
GameAssembly.dll+23C695B: 88 44 39 20     - mov [rcx+rdi+20],al
// ---------- DONE INJECTING  ----------
GameAssembly.dll+23C695F: 48 8B 46 30     - mov rax,[rsi+30]
GameAssembly.dll+23C6963: 48 8B F8        - mov rdi,rax
GameAssembly.dll+23C6966: 48 85 C0        - test rax,rax
GameAssembly.dll+23C6969: 74 12           - je GameAssembly.dll+23C697D
GameAssembly.dll+23C696B: EB B3           - jmp GameAssembly.dll+23C6920
GameAssembly.dll+23C696D: 48 8B 7C 24 30  - mov rdi,[rsp+30]
GameAssembly.dll+23C6972: 48 8B 5C 24 38  - mov rbx,[rsp+38]
GameAssembly.dll+23C6977: 48 83 C4 20     - add rsp,20
GameAssembly.dll+23C697B: 5E              - pop rsi
GameAssembly.dll+23C697C: C3              - ret 
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Vacuum crafting mats range (Will Suck the entire map. Had some long freezes in campaign, game comes back no crash)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>545</ID>
      <Description>"Vacuum crafting mats range (Will Suck the entire map. Had some long freezes in campaign, game comes back no crash)"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
//GameAssembly.dll+7AFF49 - 74 69                 - je GameAssembly.dll+7AFFB4
aobscanmodule(vaccuum,GameAssembly.dll,84 C0 74 69 48 85 ED 0F 84 AA) // should be unique
vaccuum+2:
  db 90 90
registersymbol(vaccuum)

[DISABLE]

vaccuum+2:
  db 74 69

unregistersymbol(vaccuum)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+7AFF47

GameAssembly.dll+7AFF19: 48 8D 54 24 20        - lea rdx,[rsp+20]
GameAssembly.dll+7AFF1E: 41 8B 45 08           - mov eax,[r13+08]
GameAssembly.dll+7AFF22: 48 8D 4C 24 30        - lea rcx,[rsp+30]
GameAssembly.dll+7AFF27: 45 33 C9              - xor r9d,r9d
GameAssembly.dll+7AFF2A: F2 0F 11 44 24 30     - movsd [rsp+30],xmm0
GameAssembly.dll+7AFF30: 0F 28 D7              - movaps xmm2,xmm7
GameAssembly.dll+7AFF33: F2 0F 11 74 24 20     - movsd [rsp+20],xmm6
GameAssembly.dll+7AFF39: 44 89 74 24 28        - mov [rsp+28],r14d
GameAssembly.dll+7AFF3E: 89 44 24 38           - mov [rsp+38],eax
GameAssembly.dll+7AFF42: E8 89 15 3C 00        - call Maths.distanceLessThan
// ---------- INJECTING HERE ----------
GameAssembly.dll+7AFF47: 84 C0                 - test al,al
// ---------- DONE INJECTING  ----------
GameAssembly.dll+7AFF49: 74 69                 - je GameAssembly.dll+7AFFB4
GameAssembly.dll+7AFF4B: 48 85 ED              - test rbp,rbp
GameAssembly.dll+7AFF4E: 0F 84 AA 00 00 00     - je GameAssembly.dll+7AFFFE
GameAssembly.dll+7AFF54: 48 8B 8D F8 00 00 00  - mov rcx,[rbp+000000F8]
GameAssembly.dll+7AFF5B: 48 85 C9              - test rcx,rcx
GameAssembly.dll+7AFF5E: 0F 84 9A 00 00 00     - je GameAssembly.dll+7AFFFE
GameAssembly.dll+7AFF64: F2 0F 10 43 18        - movsd xmm0,[rbx+18]
GameAssembly.dll+7AFF69: 4C 8D 44 24 40        - lea r8,[rsp+40]
GameAssembly.dll+7AFF6E: 8B 43 20              - mov eax,[rbx+20]
GameAssembly.dll+7AFF71: 45 33 C9              - xor r9d,r9d
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Rune Script Can Not Toggle

Impala
Table Makers
Table Makers
Posts: 609
Joined: Tue Apr 18, 2017 6:47 pm
Reputation: 400

Re: Last Epoch EA 0.9+ (Steam)...

Post by Impala »

muliari14 wrote:
Fri Feb 23, 2024 3:43 pm
Rune Script Can Not Toggle
It toggles for me, are you using a non steam version?


Try this

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>546</ID>
      <Description>"Infinite Runes (Open Inventory)"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscanmodule(infrunes,GameAssembly.dll,8B 40 28 48 83 C4 20 5B C3 E8 1B) // should be unique
alloc(newmem,$1000,infrunes)

label(code)
label(return)

newmem:

code:
  mov [rax+28],#999
  mov eax,[rax+28]
  add rsp,20
  jmp return

infrunes:
  jmp newmem
  nop 2
return:
registersymbol(infrunes)

[DISABLE]

infrunes:
  db 8B 40 28 48 83 C4 20

unregistersymbol(infrunes)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+E2C827

GameAssembly.dll+E2C804: 48 8D 4C 24 30  - lea rcx,[rsp+30]
GameAssembly.dll+E2C809: 48 8B 50 20     - mov rdx,[rax+20]
GameAssembly.dll+E2C80D: 48 89 54 24 30  - mov [rsp+30],rdx
GameAssembly.dll+E2C812: E8 09 54 6D FF  - call GameAssembly.dll+501C20
GameAssembly.dll+E2C817: 48 8B 44 24 30  - mov rax,[rsp+30]
GameAssembly.dll+E2C81C: 48 85 C0        - test rax,rax
GameAssembly.dll+E2C81F: 75 06           - jne GameAssembly.dll+E2C827
GameAssembly.dll+E2C821: 48 83 C4 20     - add rsp,20
GameAssembly.dll+E2C825: 5B              - pop rbx
GameAssembly.dll+E2C826: C3              - ret 
// ---------- INJECTING HERE ----------
GameAssembly.dll+E2C827: 8B 40 28        - mov eax,[rax+28]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+E2C82A: 48 83 C4 20     - add rsp,20
GameAssembly.dll+E2C82E: 5B              - pop rbx
GameAssembly.dll+E2C82F: C3              - ret 
GameAssembly.dll+E2C830: E8 1B 58 6D FF  - call GameAssembly.dll+502050
GameAssembly.dll+E2C835: CC              - int 3 
GameAssembly.dll+E2C836: CC              - int 3 
GameAssembly.dll+E2C837: CC              - int 3 
GameAssembly.dll+E2C838: CC              - int 3 
GameAssembly.dll+E2C839: CC              - int 3 
GameAssembly.dll+E2C83A: CC              - int 3 
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Impala
Table Makers
Table Makers
Posts: 609
Joined: Tue Apr 18, 2017 6:47 pm
Reputation: 400

Re: Last Epoch EA 0.9+ (Steam)...

Post by Impala »

I created a table for Last Epoch

viewtopic.php?f=4&t=27897

These are just options I wanted, I am not taking requests, this thread a bit too cluttered

Impala
Table Makers
Table Makers
Posts: 609
Joined: Tue Apr 18, 2017 6:47 pm
Reputation: 400

Re: Last Epoch EA 0.9+ (Steam)...

Post by Impala »

Tales wrote:
Wed Feb 21, 2024 11:18 pm
Can you make one for Passive points? ex: add 30 Passive Points
viewtopic.php?f=4&t=27897

garfield028
What is cheating?
What is cheating?
Posts: 2
Joined: Fri Feb 23, 2024 6:52 pm
Reputation: 0

Re: Last Epoch EA 0.9+ (Steam)...

Post by garfield028 »

sanitka wrote:
Fri Feb 23, 2024 2:22 pm
Toga wrote:
Fri Feb 23, 2024 12:03 pm
^ best to find the address of Player Actor
then in the structure you'll have everything you need.

look at Messy's post: viewtopic.php?p=242977#p242977
and his post above that one

gl
Get Player Actor Pointer (copy & paste to your table):

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>4</ID>
      <Description>"Get Actor"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Last Epoch.exe
  Version: 
  Date   : 2024-02-22
  Author : SanitKa

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJPLAYERDMG,GameAssembly.dll,F6 FF 84 C0 75 0D B0 01 48 8B 5C 24 30) // should be unique
alloc(newmem,$1000,INJPLAYERDMG)

label(code)
label(return)
label(actorPtr)

newmem:

code:
  mov rdi,[rbx+18]                             // ActorData
  cmp dword ptr[rdi+54],0                      // enemy
  je @f

  cmp dword ptr[rdi+54],2                      // boss ?
  je @f

  mov [actorPtr],rbx

@@:
  mov al,01                                    // damageable
  mov rbx,[rsp+30]
  jmp return

actorPtr:
  dq 0

INJPLAYERDMG+06:
  jmp newmem
  nop 2
return:
registersymbol(INJPLAYERDMG)
registersymbol(actorPtr)

[DISABLE]

INJPLAYERDMG+06:
  db B0 01 48 8B 5C 24 30

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+149081F

GameAssembly.dll+1490804: 84 C0           - test al,al
GameAssembly.dll+1490806: 74 17           - je GameAssembly.dll+149081F
GameAssembly.dll+1490808: 48 8B 4B 50     - mov rcx,[rbx+50]
GameAssembly.dll+149080C: 48 85 C9        - test rcx,rcx
GameAssembly.dll+149080F: 74 28           - je GameAssembly.dll+1490839
GameAssembly.dll+1490811: 45 33 C0        - xor r8d,r8d
GameAssembly.dll+1490814: B2 01           - mov dl,01
GameAssembly.dll+1490816: E8 95 A8 F6 FF  - call Dying.isDying
GameAssembly.dll+149081B: 84 C0           - test al,al
GameAssembly.dll+149081D: 75 0D           - jne GameAssembly.dll+149082C
// ---------- INJECTING HERE ----------
GameAssembly.dll+149081F: B0 01           - mov al,01
// ---------- DONE INJECTING  ----------
GameAssembly.dll+1490821: 48 8B 5C 24 30  - mov rbx,[rsp+30]
GameAssembly.dll+1490826: 48 83 C4 20     - add rsp,20
GameAssembly.dll+149082A: 5F              - pop rdi
GameAssembly.dll+149082B: C3              - ret 
GameAssembly.dll+149082C: 48 8B 5C 24 30  - mov rbx,[rsp+30]
GameAssembly.dll+1490831: 32 C0           - xor al,al
GameAssembly.dll+1490833: 48 83 C4 20     - add rsp,20
GameAssembly.dll+1490837: 5F              - pop rdi
GameAssembly.dll+1490838: C3              - ret 
GameAssembly.dll+1490839: E8 22 13 C4 FE  - call GameAssembly.dll+D1B60
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Actor Ptr"</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>8 Bytes</VariableType>
          <Address>actorPtr</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Actor Structure (save to disk and import in Structure Disect):

Code: Select all

<Structures>
  <Structure Name="Actor" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
    <Elements>
      <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
      <Element Offset="24" Vartype="Pointer" Bytesize="8" OffsetHex="00000018" ChildStruct="ActorData" Description="data" DisplayMethod="unsigned integer"/>
      <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="actorSync" DisplayMethod="unsigned integer"/>
      <Element Offset="40" Vartype="Byte" Bytesize="1" OffsetHex="00000028" Description="foundActorSync" DisplayMethod="unsigned integer"/>
      <Element Offset="48" Vartype="Pointer" Bytesize="8" OffsetHex="00000030" Description="health" DisplayMethod="unsigned integer">
        <Structure Name="UnitHealth" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
          <Elements>
            <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
            <Element Offset="24" Vartype="Byte" Bytesize="1" OffsetHex="00000018" Description="_hasFirstTicked" DisplayMethod="unsigned integer"/>
            <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="actor" DisplayMethod="unsigned integer"/>
            <Element Offset="40" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000028" Description="maxHealth" DisplayMethod="unsigned integer"/>
            <Element Offset="44" Vartype="Float" Bytesize="4" OffsetHex="0000002C" Description="currentHealth" DisplayMethod="unsigned integer"/>
            <Element Offset="48" Vartype="Byte" Bytesize="1" OffsetHex="00000030" Description="damageable" DisplayMethod="unsigned integer"/>
            <Element Offset="49" Vartype="Byte" Bytesize="1" OffsetHex="00000031" Description="canDie" DisplayMethod="unsigned integer"/>
            <Element Offset="50" Vartype="Byte" Bytesize="1" OffsetHex="00000032" Description="healable" DisplayMethod="unsigned integer"/>
            <Element Offset="52" Vartype="Float" Bytesize="4" OffsetHex="00000034" Description="baseHealthRegenPerSecond" DisplayMethod="unsigned integer"/>
            <Element Offset="56" Vartype="Float" Bytesize="4" OffsetHex="00000038" Description="addedHealthRegenPerSecond" DisplayMethod="unsigned integer"/>
            <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="damageTakenEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="lethalDamageTakenEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="healthChangeEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="unimportanceModifier" DisplayMethod="unsigned integer"/>
            <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="unimportanceCoroutine" DisplayMethod="unsigned integer"/>
            <Element Offset="104" Vartype="Float" Bytesize="4" OffsetHex="00000068" Description="origonalUnimportance" DisplayMethod="unsigned integer"/>
            <Element Offset="108" Vartype="4 Bytes" Bytesize="4" OffsetHex="0000006C" Description="additionalSourcesOfCannotDie" DisplayMethod="unsigned integer"/>
            <Element Offset="112" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000070" Description="oldHealthRatio" DisplayMethod="unsigned integer"/>
            <Element Offset="116" Vartype="Byte" Bytesize="1" OffsetHex="00000074" Description="healthRatio" DisplayMethod="unsigned integer"/>
            <Element Offset="117" Vartype="Byte" Bytesize="1" OffsetHex="00000075" Description="useHealthCap" DisplayMethod="unsigned integer"/>
            <Element Offset="120" Vartype="Float" Bytesize="4" OffsetHex="00000078" Description="healthCap" DisplayMethod="unsigned integer"/>
            <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="activeHealthCaps" DisplayMethod="unsigned integer"/>
            <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="tForm" DisplayMethod="unsigned integer"/>
            <Element Offset="144" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000090" Description="healthSerialisation" DisplayMethod="unsigned integer"/>
            <Element Offset="148" Vartype="Float" Bytesize="4" OffsetHex="00000094" Description="effectiveHealthModifier" DisplayMethod="unsigned integer"/>
            <Element Offset="152" Vartype="Float" Bytesize="4" OffsetHex="00000098" Description="startingHealthPercentage" DisplayMethod="unsigned integer"/>
            <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="protectionDamageTypes" DisplayMethod="unsigned integer"/>
            <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="relativeProtectionValues" DisplayMethod="unsigned integer"/>
          </Elements>
        </Structure>
      </Element>
      <Element Offset="56" Vartype="Pointer" Bytesize="8" OffsetHex="00000038" Description="alignmentManager" DisplayMethod="unsigned integer"/>
      <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="protection" DisplayMethod="unsigned integer"/>
      <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="stats" DisplayMethod="unsigned integer"/>
      <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="dying" DisplayMethod="unsigned integer"/>
      <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="stateController" DisplayMethod="unsigned integer"/>
      <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="summoned" DisplayMethod="unsigned integer"/>
      <Element Offset="104" Vartype="Pointer" Bytesize="8" OffsetHex="00000068" Description="mana" DisplayMethod="unsigned integer"/>
      <Element Offset="112" Vartype="Pointer" Bytesize="8" OffsetHex="00000070" Description="chargeManager" DisplayMethod="unsigned integer"/>
      <Element Offset="120" Vartype="Pointer" Bytesize="8" OffsetHex="00000078" Description="leechTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="statBuffs" DisplayMethod="unsigned integer"/>
      <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="abilityObjectConstructor" DisplayMethod="unsigned integer"/>
      <Element Offset="144" Vartype="Pointer" Bytesize="8" OffsetHex="00000090" Description="tForm" DisplayMethod="unsigned integer"/>
      <Element Offset="152" Vartype="Pointer" Bytesize="8" OffsetHex="00000098" Description="sizeManager" DisplayMethod="unsigned integer"/>
      <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="navMeshAgent" DisplayMethod="unsigned integer"/>
      <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="ailmentReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="176" Vartype="Pointer" Bytesize="8" OffsetHex="000000B0" Description="accuracyManager" DisplayMethod="unsigned integer"/>
      <Element Offset="184" Vartype="Pointer" Bytesize="8" OffsetHex="000000B8" Description="animationManager" DisplayMethod="unsigned integer"/>
      <Element Offset="192" Vartype="Pointer" Bytesize="8" OffsetHex="000000C0" Description="targetFinder" DisplayMethod="unsigned integer"/>
      <Element Offset="200" Vartype="Pointer" Bytesize="8" OffsetHex="000000C8" Description="waiting" DisplayMethod="unsigned integer"/>
      <Element Offset="208" Vartype="Pointer" Bytesize="8" OffsetHex="000000D0" Description="movingToTarget" DisplayMethod="unsigned integer"/>
      <Element Offset="216" Vartype="Pointer" Bytesize="8" OffsetHex="000000D8" Description="stunned" DisplayMethod="unsigned integer"/>
      <Element Offset="224" Vartype="Pointer" Bytesize="8" OffsetHex="000000E0" Description="relayDamageEvents" DisplayMethod="unsigned integer"/>
      <Element Offset="232" Vartype="Pointer" Bytesize="8" OffsetHex="000000E8" Description="stateSoundManager" DisplayMethod="unsigned integer"/>
      <Element Offset="240" Vartype="Pointer" Bytesize="8" OffsetHex="000000F0" Description="deathItemDrop" DisplayMethod="unsigned integer"/>
      <Element Offset="248" Vartype="Pointer" Bytesize="8" OffsetHex="000000F8" Description="itemContainersManager" DisplayMethod="unsigned integer">
        <Structure Name="ItemContainersManager" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
          <Elements>
            <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
            <Element Offset="24" Vartype="Byte" Bytesize="1" OffsetHex="00000018" Description="_hasFirstTicked" DisplayMethod="unsigned integer"/>
            <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="inventory" DisplayMethod="unsigned integer"/>
            <Element Offset="40" Vartype="Pointer" Bytesize="8" OffsetHex="00000028" Description="equipment" DisplayMethod="unsigned integer"/>
            <Element Offset="48" Vartype="Pointer" Bytesize="8" OffsetHex="00000030" Description="materials" DisplayMethod="unsigned integer"/>
            <Element Offset="56" Vartype="Pointer" Bytesize="8" OffsetHex="00000038" Description="cursor" DisplayMethod="unsigned integer"/>
            <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="swapBuffer" DisplayMethod="unsigned integer"/>
            <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="stash" DisplayMethod="unsigned integer"/>
            <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="shop" DisplayMethod="unsigned integer"/>
            <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="buyback" DisplayMethod="unsigned integer"/>
            <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="crafting" DisplayMethod="unsigned integer"/>
            <Element Offset="104" Vartype="Pointer" Bytesize="8" OffsetHex="00000068" Description="eternityCache" DisplayMethod="unsigned integer"/>
            <Element Offset="112" Vartype="Pointer" Bytesize="8" OffsetHex="00000070" Description="gambling" DisplayMethod="unsigned integer"/>
            <Element Offset="120" Vartype="Pointer" Bytesize="8" OffsetHex="00000078" Description="soulGambling" DisplayMethod="unsigned integer"/>
            <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="factionGamblingCoF" DisplayMethod="unsigned integer"/>
            <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="factionGamblingMG" DisplayMethod="unsigned integer"/>
            <Element Offset="144" Vartype="Pointer" Bytesize="8" OffsetHex="00000090" Description="arenaKey" DisplayMethod="unsigned integer"/>
            <Element Offset="152" Vartype="Pointer" Bytesize="8" OffsetHex="00000098" Description="dun1Key" DisplayMethod="unsigned integer"/>
            <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="lightlessArborDungeonKey" DisplayMethod="unsigned integer"/>
            <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="soulfireBastionDungeonKey" DisplayMethod="unsigned integer"/>
            <Element Offset="176" Vartype="Pointer" Bytesize="8" OffsetHex="000000B0" Description="idols" DisplayMethod="unsigned integer"/>
            <Element Offset="184" Vartype="Pointer" Bytesize="8" OffsetHex="000000B8" Description="blessings" DisplayMethod="unsigned integer"/>
            <Element Offset="192" Vartype="Pointer" Bytesize="8" OffsetHex="000000C0" Description="lenses" DisplayMethod="unsigned integer"/>
            <Element Offset="200" Vartype="Pointer" Bytesize="8" OffsetHex="000000C8" Description="giftedItems" DisplayMethod="unsigned integer"/>
            <Element Offset="208" Vartype="Pointer" Bytesize="8" OffsetHex="000000D0" Description="itemToGift" DisplayMethod="unsigned integer"/>
            <Element Offset="216" Vartype="Pointer" Bytesize="8" OffsetHex="000000D8" Description="itemToTrade" DisplayMethod="unsigned integer"/>
            <Element Offset="224" Vartype="Pointer" Bytesize="8" OffsetHex="000000E0" Description="itemToTradePreview" DisplayMethod="unsigned integer"/>
            <Element Offset="232" Vartype="Pointer" Bytesize="8" OffsetHex="000000E8" Description="itemToList" DisplayMethod="unsigned integer"/>
            <Element Offset="240" Vartype="Pointer" Bytesize="8" OffsetHex="000000F0" Description="craftingManager" DisplayMethod="unsigned integer"/>
            <Element Offset="248" Vartype="4 Bytes" Bytesize="4" OffsetHex="000000F8" Description="CursorPickedFromPos" DisplayMethod="unsigned integer"/>
            <Element Offset="256" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000100" Description="CursorPickedFromContainer" DisplayMethod="unsigned integer"/>
            <Element Offset="264" Vartype="Pointer" Bytesize="8" OffsetHex="00000108" Description="treeData" DisplayMethod="unsigned integer"/>
            <Element Offset="272" Vartype="Pointer" Bytesize="8" OffsetHex="00000110" Description="characterMutator" DisplayMethod="unsigned integer"/>
            <Element Offset="280" Vartype="Pointer" Bytesize="8" OffsetHex="00000118" Description="tracker" DisplayMethod="unsigned integer"/>
            <Element Offset="288" Vartype="Pointer" Bytesize="8" OffsetHex="00000120" Description="globalDataTracker" DisplayMethod="unsigned integer"/>
            <Element Offset="296" Vartype="Pointer" Bytesize="8" OffsetHex="00000128" Description="shardStorage" DisplayMethod="unsigned integer"/>
            <Element Offset="304" Vartype="Pointer" Bytesize="8" OffsetHex="00000130" Description="resonanceStorage" DisplayMethod="unsigned integer"/>
            <Element Offset="312" Vartype="Pointer" Bytesize="8" OffsetHex="00000138" Description="movingPlayer" DisplayMethod="unsigned integer"/>
            <Element Offset="320" Vartype="Pointer" Bytesize="8" OffsetHex="00000140" Description="actor" DisplayMethod="unsigned integer"/>
            <Element Offset="328" Vartype="Pointer" Bytesize="8" OffsetHex="00000148" Description="itemEquipManager" DisplayMethod="unsigned integer"/>
            <Element Offset="336" Vartype="Byte" Bytesize="1" OffsetHex="00000150" Description="fullyInitialisedAndLoaded" DisplayMethod="unsigned integer"/>
            <Element Offset="337" Vartype="Byte" Bytesize="1" OffsetHex="00000151" Description="saveStashFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="338" Vartype="Byte" Bytesize="1" OffsetHex="00000152" Description="saveCharContainerFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="339" Vartype="Byte" Bytesize="1" OffsetHex="00000153" Description="saveStashLayoutFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="340" Vartype="Byte" Bytesize="1" OffsetHex="00000154" Description="syncBuybackFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="341" Vartype="Byte" Bytesize="1" OffsetHex="00000155" Description="cursorLocked" DisplayMethod="unsigned integer"/>
            <Element Offset="342" Vartype="2 Bytes" Bytesize="2" OffsetHex="00000156" Description="soulGamblingSeed" DisplayMethod="unsigned integer"/>
            <Element Offset="344" Vartype="2 Bytes" Bytesize="2" OffsetHex="00000158" Description="itemsPurchasedFromSoulGamblerSincePopulated" DisplayMethod="unsigned integer"/>
            <Element Offset="352" Vartype="Pointer" Bytesize="8" OffsetHex="00000160" Description="OnCursorLockStatusChange" DisplayMethod="unsigned integer"/>
            <Element Offset="360" Vartype="Pointer" Bytesize="8" OffsetHex="00000168" Description="blessingsDiscovered" DisplayMethod="unsigned integer"/>
            <Element Offset="368" Vartype="Pointer" Bytesize="8" OffsetHex="00000170" Description="unequippableDropPairs" DisplayMethod="unsigned integer"/>
            <Element Offset="376" Vartype="Pointer" Bytesize="8" OffsetHex="00000178" Description="clientAdditionalOffhandBaseTypeProvider" DisplayMethod="unsigned integer"/>
            <Element Offset="384" Vartype="Pointer" Bytesize="8" OffsetHex="00000180" Description="tempCharacterInfoProvider" DisplayMethod="unsigned integer"/>
          </Elements>
        </Structure>
      </Element>
      <Element Offset="256" Vartype="Pointer" Bytesize="8" OffsetHex="00000100" Description="characterMutator" DisplayMethod="unsigned integer"/>
      <Element Offset="264" Vartype="Pointer" Bytesize="8" OffsetHex="00000108" Description="playerQuestListHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="272" Vartype="Pointer" Bytesize="8" OffsetHex="00000110" Description="playerMonolithQuestListHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="280" Vartype="Pointer" Bytesize="8" OffsetHex="00000118" Description="monolithRunsManager" DisplayMethod="unsigned integer"/>
      <Element Offset="288" Vartype="Pointer" Bytesize="8" OffsetHex="00000120" Description="goldTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="296" Vartype="Pointer" Bytesize="8" OffsetHex="00000128" Description="factionInfo" DisplayMethod="unsigned integer"/>
      <Element Offset="304" Vartype="Pointer" Bytesize="8" OffsetHex="00000130" Description="resonancesTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="312" Vartype="Pointer" Bytesize="8" OffsetHex="00000138" Description="experienceTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="320" Vartype="Pointer" Bytesize="8" OffsetHex="00000140" Description="itemDropBonuses" DisplayMethod="unsigned integer"/>
      <Element Offset="328" Vartype="Pointer" Bytesize="8" OffsetHex="00000148" Description="generateItems" DisplayMethod="unsigned integer"/>
      <Element Offset="336" Vartype="Pointer" Bytesize="8" OffsetHex="00000150" Description="localTreeData" DisplayMethod="unsigned integer"/>
      <Element Offset="344" Vartype="Pointer" Bytesize="8" OffsetHex="00000158" Description="globalDataTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="352" Vartype="Pointer" Bytesize="8" OffsetHex="00000160" Description="voteManager" DisplayMethod="unsigned integer"/>
      <Element Offset="360" Vartype="Pointer" Bytesize="8" OffsetHex="00000168" Description="dungeonRunManager" DisplayMethod="unsigned integer"/>
      <Element Offset="368" Vartype="Pointer" Bytesize="8" OffsetHex="00000170" Description="arenaRunManager" DisplayMethod="unsigned integer"/>
      <Element Offset="376" Vartype="Pointer" Bytesize="8" OffsetHex="00000178" Description="weaponInfoHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="384" Vartype="Pointer" Bytesize="8" OffsetHex="00000180" Description="falconIdleState" DisplayMethod="unsigned integer"/>
      <Element Offset="392" Vartype="Pointer" Bytesize="8" OffsetHex="00000188" Description="actorPointerEventListener" DisplayMethod="unsigned integer"/>
      <Element Offset="400" Vartype="Pointer" Bytesize="8" OffsetHex="00000190" Description="colliders" DisplayMethod="unsigned integer"/>
      <Element Offset="408" Vartype="Float" Bytesize="4" OffsetHex="00000198" Description="unscaledRadius" DisplayMethod="unsigned integer"/>
      <Element Offset="412" Vartype="Byte" Bytesize="1" OffsetHex="0000019C" Description="cannotBePushed" DisplayMethod="unsigned integer"/>
      <Element Offset="413" Vartype="Byte" Bytesize="1" OffsetHex="0000019D" Description="isPlayerActor" DisplayMethod="unsigned integer"/>
      <Element Offset="416" Vartype="Float" Bytesize="4" OffsetHex="000001A0" Description="increasedPotionDroprate" DisplayMethod="unsigned integer"/>
      <Element Offset="420" Vartype="Byte" Bytesize="1" OffsetHex="000001A4" Description="cannotTargetWithMovementAbilities" DisplayMethod="unsigned integer"/>
      <Element Offset="424" Vartype="Float" Bytesize="4" OffsetHex="000001A8" Description="distanceFromCentreForAttackersToMoveTowards" DisplayMethod="unsigned integer"/>
      <Element Offset="428" Vartype="Byte" Bytesize="1" OffsetHex="000001AC" Description="neverValidTarget" DisplayMethod="unsigned integer"/>
      <Element Offset="429" Vartype="Byte" Bytesize="1" OffsetHex="000001AD" Description="cannotBeAffectedByDarkness" DisplayMethod="unsigned integer"/>
      <Element Offset="432" Vartype="4 Bytes" Bytesize="4" OffsetHex="000001B0" Description="totalSourcesOfTargetInvalidity" DisplayMethod="unsigned integer"/>
      <Element Offset="440" Vartype="Pointer" Bytesize="8" OffsetHex="000001B8" Description="abilityEventListener" DisplayMethod="unsigned integer"/>
      <Element Offset="448" Vartype="Pointer" Bytesize="8" OffsetHex="000001C0" Description="creationReferences" DisplayMethod="unsigned integer"/>
      <Element Offset="456" Vartype="Pointer" Bytesize="8" OffsetHex="000001C8" Description="summonTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="464" Vartype="Pointer" Bytesize="8" OffsetHex="000001D0" Description="mutatorManager" DisplayMethod="unsigned integer"/>
      <Element Offset="472" Vartype="Byte" Bytesize="1" OffsetHex="000001D8" Description="hasMutatorManager" DisplayMethod="unsigned integer"/>
      <Element Offset="480" Vartype="Pointer" Bytesize="8" OffsetHex="000001E0" Description="hitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="488" Vartype="Byte" Bytesize="1" OffsetHex="000001E8" Description="checkedForHitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="489" Vartype="Byte" Bytesize="1" OffsetHex="000001E9" Description="hasHitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="496" Vartype="Pointer" Bytesize="8" OffsetHex="000001F0" Description="movingPlayerServer" DisplayMethod="unsigned integer"/>
      <Element Offset="504" Vartype="Pointer" Bytesize="8" OffsetHex="000001F8" Description="abilityList" DisplayMethod="unsigned integer"/>
      <Element Offset="512" Vartype="Pointer" Bytesize="8" OffsetHex="00000200" Description="characterDataTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="520" Vartype="Pointer" Bytesize="8" OffsetHex="00000208" Description="healthPotion" DisplayMethod="unsigned integer"/>
      <Element Offset="528" Vartype="Pointer" Bytesize="8" OffsetHex="00000210" Description="minionStanceData" DisplayMethod="unsigned integer"/>
      <Element Offset="536" Vartype="Pointer" Bytesize="8" OffsetHex="00000218" Description="tooltipDPSManager" DisplayMethod="unsigned integer"/>
      <Element Offset="544" Vartype="Pointer" Bytesize="8" OffsetHex="00000220" Description="appliedModKeys" DisplayMethod="unsigned integer"/>
      <Element Offset="552" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000228" Description="rarity" DisplayMethod="unsigned integer"/>
      <Element Offset="553" Vartype="Byte" Bytesize="1" OffsetHex="00000229" Description="isMinion" DisplayMethod="unsigned integer"/>
      <Element Offset="554" Vartype="Byte" Bytesize="1" OffsetHex="0000022A" Description="isSummonedTotem" DisplayMethod="unsigned integer"/>
      <Element Offset="555" Vartype="Byte" Bytesize="1" OffsetHex="0000022B" Description="&lt;UsingAbilityHasActivated&gt;k__BackingField" DisplayMethod="unsigned integer"/>
      <Element Offset="556" Vartype="4 Bytes" Bytesize="4" OffsetHex="0000022C" Description="referenceVersion" DisplayMethod="unsigned integer"/>
      <Element Offset="560" Vartype="Pointer" Bytesize="8" OffsetHex="00000230" Description="usingAbilityActivatedEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="568" Vartype="Pointer" Bytesize="8" OffsetHex="00000238" Description="reachedMovementAbilityDestinationEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="576" Vartype="Pointer" Bytesize="8" OffsetHex="00000240" Description="movedToPlayerSpawnEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="584" Vartype="Float" Bytesize="4" OffsetHex="00000248" Description="initialRadius" DisplayMethod="unsigned integer"/>
      <Element Offset="588" Vartype="Byte" Bytesize="1" OffsetHex="0000024C" Description="hasBeenDisabled" DisplayMethod="unsigned integer"/>
      <Element Offset="589" Vartype="Byte" Bytesize="1" OffsetHex="0000024D" Description="initialised" DisplayMethod="unsigned integer"/>
      <Element Offset="592" Vartype="Float" Bytesize="4" OffsetHex="00000250" Description="timeLastPulled" DisplayMethod="unsigned integer"/>
      <Element Offset="600" Vartype="Pointer" Bytesize="8" OffsetHex="00000258" Description="objectLastPulledBy" DisplayMethod="unsigned integer"/>
    </Elements>
  </Structure>
</Structures>

using the tabale code , the actor Point its NULL!

i checked the patch code and that's not runned when i using F5 set break point ..

dziobus
Cheater
Cheater
Posts: 38
Joined: Thu Aug 11, 2022 6:20 pm
Reputation: 9

Re: Last Epoch EA 0.9+ (Steam)...

Post by dziobus »

Question, what exactly does the "Max Unique, Sets and Implicit Rolls" do / what does it work with cause I dont understand.

ZKK
Novice Cheater
Novice Cheater
Posts: 16
Joined: Fri Sep 03, 2021 11:28 pm
Reputation: 1

Re: Last Epoch EA 0.9+ (Steam)...

Post by ZKK »

garfield028 wrote:
Fri Feb 23, 2024 6:55 pm
sanitka wrote:
Fri Feb 23, 2024 2:22 pm
Toga wrote:
Fri Feb 23, 2024 12:03 pm
^ best to find the address of Player Actor
then in the structure you'll have everything you need.

look at Messy's post: viewtopic.php?p=242977#p242977
and his post above that one

gl
Get Player Actor Pointer (copy & paste to your table):

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>4</ID>
      <Description>"Get Actor"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Last Epoch.exe
  Version: 
  Date   : 2024-02-22
  Author : SanitKa

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJPLAYERDMG,GameAssembly.dll,F6 FF 84 C0 75 0D B0 01 48 8B 5C 24 30) // should be unique
alloc(newmem,$1000,INJPLAYERDMG)

label(code)
label(return)
label(actorPtr)

newmem:

code:
  mov rdi,[rbx+18]                             // ActorData
  cmp dword ptr[rdi+54],0                      // enemy
  je @f

  cmp dword ptr[rdi+54],2                      // boss ?
  je @f

  mov [actorPtr],rbx

@@:
  mov al,01                                    // damageable
  mov rbx,[rsp+30]
  jmp return

actorPtr:
  dq 0

INJPLAYERDMG+06:
  jmp newmem
  nop 2
return:
registersymbol(INJPLAYERDMG)
registersymbol(actorPtr)

[DISABLE]

INJPLAYERDMG+06:
  db B0 01 48 8B 5C 24 30

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+149081F

GameAssembly.dll+1490804: 84 C0           - test al,al
GameAssembly.dll+1490806: 74 17           - je GameAssembly.dll+149081F
GameAssembly.dll+1490808: 48 8B 4B 50     - mov rcx,[rbx+50]
GameAssembly.dll+149080C: 48 85 C9        - test rcx,rcx
GameAssembly.dll+149080F: 74 28           - je GameAssembly.dll+1490839
GameAssembly.dll+1490811: 45 33 C0        - xor r8d,r8d
GameAssembly.dll+1490814: B2 01           - mov dl,01
GameAssembly.dll+1490816: E8 95 A8 F6 FF  - call Dying.isDying
GameAssembly.dll+149081B: 84 C0           - test al,al
GameAssembly.dll+149081D: 75 0D           - jne GameAssembly.dll+149082C
// ---------- INJECTING HERE ----------
GameAssembly.dll+149081F: B0 01           - mov al,01
// ---------- DONE INJECTING  ----------
GameAssembly.dll+1490821: 48 8B 5C 24 30  - mov rbx,[rsp+30]
GameAssembly.dll+1490826: 48 83 C4 20     - add rsp,20
GameAssembly.dll+149082A: 5F              - pop rdi
GameAssembly.dll+149082B: C3              - ret 
GameAssembly.dll+149082C: 48 8B 5C 24 30  - mov rbx,[rsp+30]
GameAssembly.dll+1490831: 32 C0           - xor al,al
GameAssembly.dll+1490833: 48 83 C4 20     - add rsp,20
GameAssembly.dll+1490837: 5F              - pop rdi
GameAssembly.dll+1490838: C3              - ret 
GameAssembly.dll+1490839: E8 22 13 C4 FE  - call GameAssembly.dll+D1B60
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Actor Ptr"</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>8 Bytes</VariableType>
          <Address>actorPtr</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Actor Structure (save to disk and import in Structure Disect):

Code: Select all

<Structures>
  <Structure Name="Actor" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
    <Elements>
      <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
      <Element Offset="24" Vartype="Pointer" Bytesize="8" OffsetHex="00000018" ChildStruct="ActorData" Description="data" DisplayMethod="unsigned integer"/>
      <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="actorSync" DisplayMethod="unsigned integer"/>
      <Element Offset="40" Vartype="Byte" Bytesize="1" OffsetHex="00000028" Description="foundActorSync" DisplayMethod="unsigned integer"/>
      <Element Offset="48" Vartype="Pointer" Bytesize="8" OffsetHex="00000030" Description="health" DisplayMethod="unsigned integer">
        <Structure Name="UnitHealth" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
          <Elements>
            <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
            <Element Offset="24" Vartype="Byte" Bytesize="1" OffsetHex="00000018" Description="_hasFirstTicked" DisplayMethod="unsigned integer"/>
            <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="actor" DisplayMethod="unsigned integer"/>
            <Element Offset="40" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000028" Description="maxHealth" DisplayMethod="unsigned integer"/>
            <Element Offset="44" Vartype="Float" Bytesize="4" OffsetHex="0000002C" Description="currentHealth" DisplayMethod="unsigned integer"/>
            <Element Offset="48" Vartype="Byte" Bytesize="1" OffsetHex="00000030" Description="damageable" DisplayMethod="unsigned integer"/>
            <Element Offset="49" Vartype="Byte" Bytesize="1" OffsetHex="00000031" Description="canDie" DisplayMethod="unsigned integer"/>
            <Element Offset="50" Vartype="Byte" Bytesize="1" OffsetHex="00000032" Description="healable" DisplayMethod="unsigned integer"/>
            <Element Offset="52" Vartype="Float" Bytesize="4" OffsetHex="00000034" Description="baseHealthRegenPerSecond" DisplayMethod="unsigned integer"/>
            <Element Offset="56" Vartype="Float" Bytesize="4" OffsetHex="00000038" Description="addedHealthRegenPerSecond" DisplayMethod="unsigned integer"/>
            <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="damageTakenEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="lethalDamageTakenEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="healthChangeEvent" DisplayMethod="unsigned integer"/>
            <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="unimportanceModifier" DisplayMethod="unsigned integer"/>
            <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="unimportanceCoroutine" DisplayMethod="unsigned integer"/>
            <Element Offset="104" Vartype="Float" Bytesize="4" OffsetHex="00000068" Description="origonalUnimportance" DisplayMethod="unsigned integer"/>
            <Element Offset="108" Vartype="4 Bytes" Bytesize="4" OffsetHex="0000006C" Description="additionalSourcesOfCannotDie" DisplayMethod="unsigned integer"/>
            <Element Offset="112" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000070" Description="oldHealthRatio" DisplayMethod="unsigned integer"/>
            <Element Offset="116" Vartype="Byte" Bytesize="1" OffsetHex="00000074" Description="healthRatio" DisplayMethod="unsigned integer"/>
            <Element Offset="117" Vartype="Byte" Bytesize="1" OffsetHex="00000075" Description="useHealthCap" DisplayMethod="unsigned integer"/>
            <Element Offset="120" Vartype="Float" Bytesize="4" OffsetHex="00000078" Description="healthCap" DisplayMethod="unsigned integer"/>
            <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="activeHealthCaps" DisplayMethod="unsigned integer"/>
            <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="tForm" DisplayMethod="unsigned integer"/>
            <Element Offset="144" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000090" Description="healthSerialisation" DisplayMethod="unsigned integer"/>
            <Element Offset="148" Vartype="Float" Bytesize="4" OffsetHex="00000094" Description="effectiveHealthModifier" DisplayMethod="unsigned integer"/>
            <Element Offset="152" Vartype="Float" Bytesize="4" OffsetHex="00000098" Description="startingHealthPercentage" DisplayMethod="unsigned integer"/>
            <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="protectionDamageTypes" DisplayMethod="unsigned integer"/>
            <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="relativeProtectionValues" DisplayMethod="unsigned integer"/>
          </Elements>
        </Structure>
      </Element>
      <Element Offset="56" Vartype="Pointer" Bytesize="8" OffsetHex="00000038" Description="alignmentManager" DisplayMethod="unsigned integer"/>
      <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="protection" DisplayMethod="unsigned integer"/>
      <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="stats" DisplayMethod="unsigned integer"/>
      <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="dying" DisplayMethod="unsigned integer"/>
      <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="stateController" DisplayMethod="unsigned integer"/>
      <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="summoned" DisplayMethod="unsigned integer"/>
      <Element Offset="104" Vartype="Pointer" Bytesize="8" OffsetHex="00000068" Description="mana" DisplayMethod="unsigned integer"/>
      <Element Offset="112" Vartype="Pointer" Bytesize="8" OffsetHex="00000070" Description="chargeManager" DisplayMethod="unsigned integer"/>
      <Element Offset="120" Vartype="Pointer" Bytesize="8" OffsetHex="00000078" Description="leechTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="statBuffs" DisplayMethod="unsigned integer"/>
      <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="abilityObjectConstructor" DisplayMethod="unsigned integer"/>
      <Element Offset="144" Vartype="Pointer" Bytesize="8" OffsetHex="00000090" Description="tForm" DisplayMethod="unsigned integer"/>
      <Element Offset="152" Vartype="Pointer" Bytesize="8" OffsetHex="00000098" Description="sizeManager" DisplayMethod="unsigned integer"/>
      <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="navMeshAgent" DisplayMethod="unsigned integer"/>
      <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="ailmentReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="176" Vartype="Pointer" Bytesize="8" OffsetHex="000000B0" Description="accuracyManager" DisplayMethod="unsigned integer"/>
      <Element Offset="184" Vartype="Pointer" Bytesize="8" OffsetHex="000000B8" Description="animationManager" DisplayMethod="unsigned integer"/>
      <Element Offset="192" Vartype="Pointer" Bytesize="8" OffsetHex="000000C0" Description="targetFinder" DisplayMethod="unsigned integer"/>
      <Element Offset="200" Vartype="Pointer" Bytesize="8" OffsetHex="000000C8" Description="waiting" DisplayMethod="unsigned integer"/>
      <Element Offset="208" Vartype="Pointer" Bytesize="8" OffsetHex="000000D0" Description="movingToTarget" DisplayMethod="unsigned integer"/>
      <Element Offset="216" Vartype="Pointer" Bytesize="8" OffsetHex="000000D8" Description="stunned" DisplayMethod="unsigned integer"/>
      <Element Offset="224" Vartype="Pointer" Bytesize="8" OffsetHex="000000E0" Description="relayDamageEvents" DisplayMethod="unsigned integer"/>
      <Element Offset="232" Vartype="Pointer" Bytesize="8" OffsetHex="000000E8" Description="stateSoundManager" DisplayMethod="unsigned integer"/>
      <Element Offset="240" Vartype="Pointer" Bytesize="8" OffsetHex="000000F0" Description="deathItemDrop" DisplayMethod="unsigned integer"/>
      <Element Offset="248" Vartype="Pointer" Bytesize="8" OffsetHex="000000F8" Description="itemContainersManager" DisplayMethod="unsigned integer">
        <Structure Name="ItemContainersManager" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
          <Elements>
            <Element Offset="16" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000010" Description="m_CachedPtr" DisplayMethod="unsigned integer"/>
            <Element Offset="24" Vartype="Byte" Bytesize="1" OffsetHex="00000018" Description="_hasFirstTicked" DisplayMethod="unsigned integer"/>
            <Element Offset="32" Vartype="Pointer" Bytesize="8" OffsetHex="00000020" Description="inventory" DisplayMethod="unsigned integer"/>
            <Element Offset="40" Vartype="Pointer" Bytesize="8" OffsetHex="00000028" Description="equipment" DisplayMethod="unsigned integer"/>
            <Element Offset="48" Vartype="Pointer" Bytesize="8" OffsetHex="00000030" Description="materials" DisplayMethod="unsigned integer"/>
            <Element Offset="56" Vartype="Pointer" Bytesize="8" OffsetHex="00000038" Description="cursor" DisplayMethod="unsigned integer"/>
            <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="swapBuffer" DisplayMethod="unsigned integer"/>
            <Element Offset="72" Vartype="Pointer" Bytesize="8" OffsetHex="00000048" Description="stash" DisplayMethod="unsigned integer"/>
            <Element Offset="80" Vartype="Pointer" Bytesize="8" OffsetHex="00000050" Description="shop" DisplayMethod="unsigned integer"/>
            <Element Offset="88" Vartype="Pointer" Bytesize="8" OffsetHex="00000058" Description="buyback" DisplayMethod="unsigned integer"/>
            <Element Offset="96" Vartype="Pointer" Bytesize="8" OffsetHex="00000060" Description="crafting" DisplayMethod="unsigned integer"/>
            <Element Offset="104" Vartype="Pointer" Bytesize="8" OffsetHex="00000068" Description="eternityCache" DisplayMethod="unsigned integer"/>
            <Element Offset="112" Vartype="Pointer" Bytesize="8" OffsetHex="00000070" Description="gambling" DisplayMethod="unsigned integer"/>
            <Element Offset="120" Vartype="Pointer" Bytesize="8" OffsetHex="00000078" Description="soulGambling" DisplayMethod="unsigned integer"/>
            <Element Offset="128" Vartype="Pointer" Bytesize="8" OffsetHex="00000080" Description="factionGamblingCoF" DisplayMethod="unsigned integer"/>
            <Element Offset="136" Vartype="Pointer" Bytesize="8" OffsetHex="00000088" Description="factionGamblingMG" DisplayMethod="unsigned integer"/>
            <Element Offset="144" Vartype="Pointer" Bytesize="8" OffsetHex="00000090" Description="arenaKey" DisplayMethod="unsigned integer"/>
            <Element Offset="152" Vartype="Pointer" Bytesize="8" OffsetHex="00000098" Description="dun1Key" DisplayMethod="unsigned integer"/>
            <Element Offset="160" Vartype="Pointer" Bytesize="8" OffsetHex="000000A0" Description="lightlessArborDungeonKey" DisplayMethod="unsigned integer"/>
            <Element Offset="168" Vartype="Pointer" Bytesize="8" OffsetHex="000000A8" Description="soulfireBastionDungeonKey" DisplayMethod="unsigned integer"/>
            <Element Offset="176" Vartype="Pointer" Bytesize="8" OffsetHex="000000B0" Description="idols" DisplayMethod="unsigned integer"/>
            <Element Offset="184" Vartype="Pointer" Bytesize="8" OffsetHex="000000B8" Description="blessings" DisplayMethod="unsigned integer"/>
            <Element Offset="192" Vartype="Pointer" Bytesize="8" OffsetHex="000000C0" Description="lenses" DisplayMethod="unsigned integer"/>
            <Element Offset="200" Vartype="Pointer" Bytesize="8" OffsetHex="000000C8" Description="giftedItems" DisplayMethod="unsigned integer"/>
            <Element Offset="208" Vartype="Pointer" Bytesize="8" OffsetHex="000000D0" Description="itemToGift" DisplayMethod="unsigned integer"/>
            <Element Offset="216" Vartype="Pointer" Bytesize="8" OffsetHex="000000D8" Description="itemToTrade" DisplayMethod="unsigned integer"/>
            <Element Offset="224" Vartype="Pointer" Bytesize="8" OffsetHex="000000E0" Description="itemToTradePreview" DisplayMethod="unsigned integer"/>
            <Element Offset="232" Vartype="Pointer" Bytesize="8" OffsetHex="000000E8" Description="itemToList" DisplayMethod="unsigned integer"/>
            <Element Offset="240" Vartype="Pointer" Bytesize="8" OffsetHex="000000F0" Description="craftingManager" DisplayMethod="unsigned integer"/>
            <Element Offset="248" Vartype="4 Bytes" Bytesize="4" OffsetHex="000000F8" Description="CursorPickedFromPos" DisplayMethod="unsigned integer"/>
            <Element Offset="256" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000100" Description="CursorPickedFromContainer" DisplayMethod="unsigned integer"/>
            <Element Offset="264" Vartype="Pointer" Bytesize="8" OffsetHex="00000108" Description="treeData" DisplayMethod="unsigned integer"/>
            <Element Offset="272" Vartype="Pointer" Bytesize="8" OffsetHex="00000110" Description="characterMutator" DisplayMethod="unsigned integer"/>
            <Element Offset="280" Vartype="Pointer" Bytesize="8" OffsetHex="00000118" Description="tracker" DisplayMethod="unsigned integer"/>
            <Element Offset="288" Vartype="Pointer" Bytesize="8" OffsetHex="00000120" Description="globalDataTracker" DisplayMethod="unsigned integer"/>
            <Element Offset="296" Vartype="Pointer" Bytesize="8" OffsetHex="00000128" Description="shardStorage" DisplayMethod="unsigned integer"/>
            <Element Offset="304" Vartype="Pointer" Bytesize="8" OffsetHex="00000130" Description="resonanceStorage" DisplayMethod="unsigned integer"/>
            <Element Offset="312" Vartype="Pointer" Bytesize="8" OffsetHex="00000138" Description="movingPlayer" DisplayMethod="unsigned integer"/>
            <Element Offset="320" Vartype="Pointer" Bytesize="8" OffsetHex="00000140" Description="actor" DisplayMethod="unsigned integer"/>
            <Element Offset="328" Vartype="Pointer" Bytesize="8" OffsetHex="00000148" Description="itemEquipManager" DisplayMethod="unsigned integer"/>
            <Element Offset="336" Vartype="Byte" Bytesize="1" OffsetHex="00000150" Description="fullyInitialisedAndLoaded" DisplayMethod="unsigned integer"/>
            <Element Offset="337" Vartype="Byte" Bytesize="1" OffsetHex="00000151" Description="saveStashFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="338" Vartype="Byte" Bytesize="1" OffsetHex="00000152" Description="saveCharContainerFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="339" Vartype="Byte" Bytesize="1" OffsetHex="00000153" Description="saveStashLayoutFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="340" Vartype="Byte" Bytesize="1" OffsetHex="00000154" Description="syncBuybackFlag" DisplayMethod="unsigned integer"/>
            <Element Offset="341" Vartype="Byte" Bytesize="1" OffsetHex="00000155" Description="cursorLocked" DisplayMethod="unsigned integer"/>
            <Element Offset="342" Vartype="2 Bytes" Bytesize="2" OffsetHex="00000156" Description="soulGamblingSeed" DisplayMethod="unsigned integer"/>
            <Element Offset="344" Vartype="2 Bytes" Bytesize="2" OffsetHex="00000158" Description="itemsPurchasedFromSoulGamblerSincePopulated" DisplayMethod="unsigned integer"/>
            <Element Offset="352" Vartype="Pointer" Bytesize="8" OffsetHex="00000160" Description="OnCursorLockStatusChange" DisplayMethod="unsigned integer"/>
            <Element Offset="360" Vartype="Pointer" Bytesize="8" OffsetHex="00000168" Description="blessingsDiscovered" DisplayMethod="unsigned integer"/>
            <Element Offset="368" Vartype="Pointer" Bytesize="8" OffsetHex="00000170" Description="unequippableDropPairs" DisplayMethod="unsigned integer"/>
            <Element Offset="376" Vartype="Pointer" Bytesize="8" OffsetHex="00000178" Description="clientAdditionalOffhandBaseTypeProvider" DisplayMethod="unsigned integer"/>
            <Element Offset="384" Vartype="Pointer" Bytesize="8" OffsetHex="00000180" Description="tempCharacterInfoProvider" DisplayMethod="unsigned integer"/>
          </Elements>
        </Structure>
      </Element>
      <Element Offset="256" Vartype="Pointer" Bytesize="8" OffsetHex="00000100" Description="characterMutator" DisplayMethod="unsigned integer"/>
      <Element Offset="264" Vartype="Pointer" Bytesize="8" OffsetHex="00000108" Description="playerQuestListHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="272" Vartype="Pointer" Bytesize="8" OffsetHex="00000110" Description="playerMonolithQuestListHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="280" Vartype="Pointer" Bytesize="8" OffsetHex="00000118" Description="monolithRunsManager" DisplayMethod="unsigned integer"/>
      <Element Offset="288" Vartype="Pointer" Bytesize="8" OffsetHex="00000120" Description="goldTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="296" Vartype="Pointer" Bytesize="8" OffsetHex="00000128" Description="factionInfo" DisplayMethod="unsigned integer"/>
      <Element Offset="304" Vartype="Pointer" Bytesize="8" OffsetHex="00000130" Description="resonancesTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="312" Vartype="Pointer" Bytesize="8" OffsetHex="00000138" Description="experienceTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="320" Vartype="Pointer" Bytesize="8" OffsetHex="00000140" Description="itemDropBonuses" DisplayMethod="unsigned integer"/>
      <Element Offset="328" Vartype="Pointer" Bytesize="8" OffsetHex="00000148" Description="generateItems" DisplayMethod="unsigned integer"/>
      <Element Offset="336" Vartype="Pointer" Bytesize="8" OffsetHex="00000150" Description="localTreeData" DisplayMethod="unsigned integer"/>
      <Element Offset="344" Vartype="Pointer" Bytesize="8" OffsetHex="00000158" Description="globalDataTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="352" Vartype="Pointer" Bytesize="8" OffsetHex="00000160" Description="voteManager" DisplayMethod="unsigned integer"/>
      <Element Offset="360" Vartype="Pointer" Bytesize="8" OffsetHex="00000168" Description="dungeonRunManager" DisplayMethod="unsigned integer"/>
      <Element Offset="368" Vartype="Pointer" Bytesize="8" OffsetHex="00000170" Description="arenaRunManager" DisplayMethod="unsigned integer"/>
      <Element Offset="376" Vartype="Pointer" Bytesize="8" OffsetHex="00000178" Description="weaponInfoHolder" DisplayMethod="unsigned integer"/>
      <Element Offset="384" Vartype="Pointer" Bytesize="8" OffsetHex="00000180" Description="falconIdleState" DisplayMethod="unsigned integer"/>
      <Element Offset="392" Vartype="Pointer" Bytesize="8" OffsetHex="00000188" Description="actorPointerEventListener" DisplayMethod="unsigned integer"/>
      <Element Offset="400" Vartype="Pointer" Bytesize="8" OffsetHex="00000190" Description="colliders" DisplayMethod="unsigned integer"/>
      <Element Offset="408" Vartype="Float" Bytesize="4" OffsetHex="00000198" Description="unscaledRadius" DisplayMethod="unsigned integer"/>
      <Element Offset="412" Vartype="Byte" Bytesize="1" OffsetHex="0000019C" Description="cannotBePushed" DisplayMethod="unsigned integer"/>
      <Element Offset="413" Vartype="Byte" Bytesize="1" OffsetHex="0000019D" Description="isPlayerActor" DisplayMethod="unsigned integer"/>
      <Element Offset="416" Vartype="Float" Bytesize="4" OffsetHex="000001A0" Description="increasedPotionDroprate" DisplayMethod="unsigned integer"/>
      <Element Offset="420" Vartype="Byte" Bytesize="1" OffsetHex="000001A4" Description="cannotTargetWithMovementAbilities" DisplayMethod="unsigned integer"/>
      <Element Offset="424" Vartype="Float" Bytesize="4" OffsetHex="000001A8" Description="distanceFromCentreForAttackersToMoveTowards" DisplayMethod="unsigned integer"/>
      <Element Offset="428" Vartype="Byte" Bytesize="1" OffsetHex="000001AC" Description="neverValidTarget" DisplayMethod="unsigned integer"/>
      <Element Offset="429" Vartype="Byte" Bytesize="1" OffsetHex="000001AD" Description="cannotBeAffectedByDarkness" DisplayMethod="unsigned integer"/>
      <Element Offset="432" Vartype="4 Bytes" Bytesize="4" OffsetHex="000001B0" Description="totalSourcesOfTargetInvalidity" DisplayMethod="unsigned integer"/>
      <Element Offset="440" Vartype="Pointer" Bytesize="8" OffsetHex="000001B8" Description="abilityEventListener" DisplayMethod="unsigned integer"/>
      <Element Offset="448" Vartype="Pointer" Bytesize="8" OffsetHex="000001C0" Description="creationReferences" DisplayMethod="unsigned integer"/>
      <Element Offset="456" Vartype="Pointer" Bytesize="8" OffsetHex="000001C8" Description="summonTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="464" Vartype="Pointer" Bytesize="8" OffsetHex="000001D0" Description="mutatorManager" DisplayMethod="unsigned integer"/>
      <Element Offset="472" Vartype="Byte" Bytesize="1" OffsetHex="000001D8" Description="hasMutatorManager" DisplayMethod="unsigned integer"/>
      <Element Offset="480" Vartype="Pointer" Bytesize="8" OffsetHex="000001E0" Description="hitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="488" Vartype="Byte" Bytesize="1" OffsetHex="000001E8" Description="checkedForHitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="489" Vartype="Byte" Bytesize="1" OffsetHex="000001E9" Description="hasHitSoundReceiver" DisplayMethod="unsigned integer"/>
      <Element Offset="496" Vartype="Pointer" Bytesize="8" OffsetHex="000001F0" Description="movingPlayerServer" DisplayMethod="unsigned integer"/>
      <Element Offset="504" Vartype="Pointer" Bytesize="8" OffsetHex="000001F8" Description="abilityList" DisplayMethod="unsigned integer"/>
      <Element Offset="512" Vartype="Pointer" Bytesize="8" OffsetHex="00000200" Description="characterDataTracker" DisplayMethod="unsigned integer"/>
      <Element Offset="520" Vartype="Pointer" Bytesize="8" OffsetHex="00000208" Description="healthPotion" DisplayMethod="unsigned integer"/>
      <Element Offset="528" Vartype="Pointer" Bytesize="8" OffsetHex="00000210" Description="minionStanceData" DisplayMethod="unsigned integer"/>
      <Element Offset="536" Vartype="Pointer" Bytesize="8" OffsetHex="00000218" Description="tooltipDPSManager" DisplayMethod="unsigned integer"/>
      <Element Offset="544" Vartype="Pointer" Bytesize="8" OffsetHex="00000220" Description="appliedModKeys" DisplayMethod="unsigned integer"/>
      <Element Offset="552" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000228" Description="rarity" DisplayMethod="unsigned integer"/>
      <Element Offset="553" Vartype="Byte" Bytesize="1" OffsetHex="00000229" Description="isMinion" DisplayMethod="unsigned integer"/>
      <Element Offset="554" Vartype="Byte" Bytesize="1" OffsetHex="0000022A" Description="isSummonedTotem" DisplayMethod="unsigned integer"/>
      <Element Offset="555" Vartype="Byte" Bytesize="1" OffsetHex="0000022B" Description="&lt;UsingAbilityHasActivated&gt;k__BackingField" DisplayMethod="unsigned integer"/>
      <Element Offset="556" Vartype="4 Bytes" Bytesize="4" OffsetHex="0000022C" Description="referenceVersion" DisplayMethod="unsigned integer"/>
      <Element Offset="560" Vartype="Pointer" Bytesize="8" OffsetHex="00000230" Description="usingAbilityActivatedEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="568" Vartype="Pointer" Bytesize="8" OffsetHex="00000238" Description="reachedMovementAbilityDestinationEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="576" Vartype="Pointer" Bytesize="8" OffsetHex="00000240" Description="movedToPlayerSpawnEvent" DisplayMethod="unsigned integer"/>
      <Element Offset="584" Vartype="Float" Bytesize="4" OffsetHex="00000248" Description="initialRadius" DisplayMethod="unsigned integer"/>
      <Element Offset="588" Vartype="Byte" Bytesize="1" OffsetHex="0000024C" Description="hasBeenDisabled" DisplayMethod="unsigned integer"/>
      <Element Offset="589" Vartype="Byte" Bytesize="1" OffsetHex="0000024D" Description="initialised" DisplayMethod="unsigned integer"/>
      <Element Offset="592" Vartype="Float" Bytesize="4" OffsetHex="00000250" Description="timeLastPulled" DisplayMethod="unsigned integer"/>
      <Element Offset="600" Vartype="Pointer" Bytesize="8" OffsetHex="00000258" Description="objectLastPulledBy" DisplayMethod="unsigned integer"/>
    </Elements>
  </Structure>
</Structures>

using the tabale code , the actor Point its NULL!

i checked the patch code and that's not runned when i using F5 set break point ..
Visit the new thread -> viewtopic.php?f=4&t=27897&p=337110#p337110

CoUsT
What is cheating?
What is cheating?
Posts: 3
Joined: Mon Apr 08, 2019 12:59 am
Reputation: 1

Re: Last Epoch EA 0.9+ (Steam)...

Post by CoUsT »

Is there a working cheat table with no fog of war toggle? I couldn't find any.

User avatar
Toga
Expert Cheater
Expert Cheater
Posts: 243
Joined: Wed Mar 03, 2021 1:11 pm
Reputation: 98

Re: Last Epoch EA 0.9+ (Steam)...

Post by Toga »

dziobus wrote:
Fri Feb 23, 2024 7:56 pm
Question, what exactly does the "Max Unique, Sets and Implicit Rolls" do / what does it work with cause I dont understand.
They roll with maxed out stats (range)
for a screenshot see viewtopic.php?p=169952#p169952

Jonastpz
Noobzor
Noobzor
Posts: 6
Joined: Wed Jul 21, 2021 7:20 am
Reputation: 0

Re: Last Epoch EA 0.9+ (Steam)...

Post by Jonastpz »

Infinite runes use in the forge to change working in version 1.0D

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>559</ID>
      <Description>"Infinite Runes (Open Inventory) Backup"</Description>
      <Color>4080FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscanmodule(infrunes,GameAssembly.dll,8B 40 28 48 83 C4 20 5B C3 E8 8B) // should be unique
alloc(newmem,$1000,infrunes)

label(code)
label(return)

newmem:

code:
  mov [rax+28],#999
  mov eax,[rax+28]
  add rsp,20
  jmp return

infrunes:
  jmp newmem
  nop 2
return:
registersymbol(infrunes)

[DISABLE]

infrunes:
  db 8B 40 28 48 83 C4 20

unregistersymbol(infrunes)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+E2C827

GameAssembly.dll+E2C804: 48 8D 4C 24 30  - lea rcx,[rsp+30]
GameAssembly.dll+E2C809: 48 8B 50 20     - mov rdx,[rax+20]
GameAssembly.dll+E2C80D: 48 89 54 24 30  - mov [rsp+30],rdx
GameAssembly.dll+E2C812: E8 09 54 6D FF  - call GameAssembly.dll+501C20
GameAssembly.dll+E2C817: 48 8B 44 24 30  - mov rax,[rsp+30]
GameAssembly.dll+E2C81C: 48 85 C0        - test rax,rax
GameAssembly.dll+E2C81F: 75 06           - jne GameAssembly.dll+E2C827
GameAssembly.dll+E2C821: 48 83 C4 20     - add rsp,20
GameAssembly.dll+E2C825: 5B              - pop rbx
GameAssembly.dll+E2C826: C3              - ret 
// ---------- INJECTING HERE ----------
GameAssembly.dll+E2C827: 8B 40 28        - mov eax,[rax+28]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+E2C82A: 48 83 C4 20     - add rsp,20
GameAssembly.dll+E2C82E: 5B              - pop rbx
GameAssembly.dll+E2C82F: C3              - ret 
GameAssembly.dll+E2C830: E8 1B 58 6D FF  - call GameAssembly.dll+502050
GameAssembly.dll+E2C835: CC              - int 3 
GameAssembly.dll+E2C836: CC              - int 3 
GameAssembly.dll+E2C837: CC              - int 3 
GameAssembly.dll+E2C838: CC              - int 3 
GameAssembly.dll+E2C839: CC              - int 3 
GameAssembly.dll+E2C83A: CC              - int 3 
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

lanshu777
Noobzor
Noobzor
Posts: 10
Joined: Fri Feb 05, 2021 12:15 pm
Reputation: 1

Re: Last Epoch EA 0.9+ (Steam)...

Post by lanshu777 »

Need an update for new version 1.0

skeeta69
Cheater
Cheater
Posts: 30
Joined: Wed Jan 02, 2019 8:40 pm
Reputation: 1

Re: Last Epoch EA 0.9+ (Steam)...

Post by skeeta69 »

Yeah an update would be great.

User avatar
Messy6666
Table Makers
Table Makers
Posts: 724
Joined: Fri Sep 25, 2020 5:45 pm
Reputation: 743

Re: Last Epoch EA 0.9+ (Steam)...

Post by Messy6666 »

^ hey there peepz

Impala made a new thread for 1.0+
and also others contributing with nice work.

go see it here: viewtopic.php?f=4&t=27897

Post Reply

Who is online

Users browsing this forum: Bing [Bot], d3ban, Darthside22, DotBot, error, Google [Bot], Google Adsense [Bot], Jawman2000, piepiemanman, sxehacks, trohed, XarsYs, Zephyrusiac