Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <CheatTable>
- <CheatEntries>
- <CheatEntry>
- <ID>88006</ID>
- <Description>"Add Item Test"</Description>
- <Options moHideChildren="1"/>
- <LastState Activated="1"/>
- <VariableType>Auto Assembler Script</VariableType>
- <AssemblerScript>{ Game : Steelrising.exe
- Version:
- Date : 2022-09-09
- Author : SunBeam + cfe
- This script does blah blah blah
- }
- define(address,"GameSteelrising.dll"+64436A)
- define(bytes,48 83 C4 30 5F)
- [ENABLE]
- assert(address,bytes)
- alloc(newmem,$1000,"GameSteelrising.dll"+64436A)
- label(code)
- label(return)
- label(bEquip)
- registersymbol(bEquip)
- label(bItems)
- registersymbol(bItems)
- label(pItemClass) // armor / weapons
- registersymbol(pItemClass)
- label(szItemName) // items, quest, consume
- registersymbol(szItemName)
- label(_Equip)
- label(_Items)
- newmem:
- code:
- add rsp,30
- pop rdi
- cmp byte ptr [bEquip],0
- je short @f
- call short _Equip
- mov byte ptr [bEquip],0
- @@:
- cmp byte ptr[bItems],0
- je short @f
- call short _Items
- mov byte ptr [bItems],0
- @@:
- jmp return
- align 10 CC
- _Equip:
- sub rsp,100
- mov rdx,pItemClass
- mov rdx,[rdx]
- test rdx,rdx
- je @f
- lea rcx,[rsp+20]
- call GameSteelrising.dll+4C8620 // pliItemID::pliItemID
- mov rcx,pInventory
- mov rcx,[rcx]
- test rcx,rcx
- je @f
- lea rdx,[rsp+20]
- mov [rdx+70],-1 // owner
- mov [rdx+74],1 // amount
- mov byte ptr[rdx+78],1 // isNew
- xor r8,r8 // forceMode
- xor r9,r9 // **_added ( just a nullptr here )
- call GameSteelrising.SpiderGame::pgmGCoInventory::addInternalItem
- @@:
- mov qword ptr[pItemClass],0
- add rsp,100
- ret
- //
- _Items:
- sub rsp,100
- mov rdx,szItemName
- je @f
- lea rcx,[rsp+20]
- call GameSteelrising.SpiderGame::pliItemId::init
- mov rcx,pInventory
- mov rcx,[rcx]
- test rcx,rcx
- je @f
- lea rdx,[rsp+20]
- mov [rdx+70],-1 // owner
- mov [rdx+74],1 // amount
- mov byte ptr[rdx+78],1 // isNew
- xor r8,r8 // forceMode
- xor r9,r9 // **_added ( just a nullptr here )
- call GameSteelrising.SpiderGame::pgmGCoInventory::addInternalItem
- @@:
- add rsp,100
- ret
- bEquip:
- db 0
- bItems:
- db 0
- pItemClass:
- dq 0
- szItemName:
- db 0
- address:
- jmp newmem
- return:
- [DISABLE]
- address:
- db bytes
- // add rsp,30
- // pop rdi
- unregistersymbol(bRun)
- dealloc(newmem)
- {
- // ORIGINAL CODE - INJECTION POINT: GameSteelrising.dll+64436A
- GameSteelrising.dll+644342: 48 8D 4C 24 20 - lea rcx,[rsp+20]
- GameSteelrising.dll+644347: E8 BB E6 9D FF - call GameSteelrising.dll+22A07
- GameSteelrising.dll+64434C: 80 7B 18 00 - cmp byte ptr [rbx+18],00
- GameSteelrising.dll+644350: 74 09 - je GameSteelrising.dll+64435B
- GameSteelrising.dll+644352: 48 85 ED - test rbp,rbp
- GameSteelrising.dll+644355: 74 04 - je GameSteelrising.dll+64435B
- GameSteelrising.dll+644357: C6 43 18 00 - mov byte ptr [rbx+18],00
- GameSteelrising.dll+64435B: 48 8B 5C 24 40 - mov rbx,[rsp+40]
- GameSteelrising.dll+644360: 48 8B 6C 24 48 - mov rbp,[rsp+48]
- GameSteelrising.dll+644365: 48 8B 74 24 50 - mov rsi,[rsp+50]
- // ---------- INJECTING HERE ----------
- GameSteelrising.dll+64436A: 48 83 C4 30 - add rsp,30
- // ---------- DONE INJECTING ----------
- GameSteelrising.dll+64436E: 5F - pop rdi
- GameSteelrising.dll+64436F: C3 - ret
- GameSteelrising.dll+644370: CC - int 3
- GameSteelrising.dll+644371: CC - int 3
- GameSteelrising.dll+644372: CC - int 3
- GameSteelrising.dll+644373: CC - int 3
- GameSteelrising.dll+644374: CC - int 3
- GameSteelrising.dll+644375: CC - int 3
- GameSteelrising.dll+644376: CC - int 3
- GameSteelrising.dll+644377: CC - int 3
- }
- </AssemblerScript>
- <CheatEntries>
- <CheatEntry>
- <ID>88008</ID>
- <Description>"Add Weapon/Armor"</Description>
- <LastState/>
- <VariableType>Auto Assembler Script</VariableType>
- <AssemblerScript>{$lua}
- if syntaxcheck then return end
- [ENABLE]
- --wea_aeg_fla_05
- local szName = inputQuery('Spawn Weapons/Armor','Provide A String ID:','')
- if szName == 0 or szName == nil then error("no string") return end
- local ItemLibrary = getAddress("[GameSteelrising.SpiderGame::pliItemLibrary::s_metadata+B8]")
- local Size = readInteger(ItemLibrary)
- ItemLibrary = readPointer(ItemLibrary+0x8)
- local _ItemClass = getAddress("pItemClass")
- local bRun = getAddress("bEquip")
- for i=0,Size do
- local Item = readPointer(ItemLibrary+i*8)
- local Name = readPointer(Item+0x28)
- local szItemName = readString(Name,99,false)
- if szItemName == szName then
- printf("Found : %X",Item)
- writeQword(_ItemClass,Item)
- writeBytes(bRun,0x1)
- end
- i=i+1
- end
- [DISABLE]
- </AssemblerScript>
- </CheatEntry>
- <CheatEntry>
- <ID>88009</ID>
- <Description>"Add Items/Consume"</Description>
- <LastState/>
- <VariableType>Auto Assembler Script</VariableType>
- <AssemblerScript>{$lua}
- if syntaxcheck then return end
- [ENABLE]
- local szName = inputQuery('Spawn Consume/Items','Provide A String ID:','')
- if szName == 0 or szName == nil then error("no string") return end
- --local szName = "item_consumable_stun_grenade_single"
- local ItemLibrary = getAddress("[GameSteelrising.SpiderGame::pliItemLibrary::s_metadata+B8]")
- local Size = readInteger(ItemLibrary)
- ItemLibrary = readPointer(ItemLibrary+0x8)
- local pItemName = getAddress("szItemName")
- local bRun = getAddress("bItems")
- for i=0,Size do
- local Item = readPointer(ItemLibrary+i*8)
- local Name = readPointer(Item+0x28)
- local szItemName = readString(Name,99,false)
- if szItemName == szName then
- printf("Found : %X",Item)
- writeString(pItemName,szName)
- writeBytes(bRun,0x1)
- writeInteger(pItemName+(#szName),0)
- end
- i=i+1
- end
- [DISABLE]
- </AssemblerScript>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- </CheatEntries>
- </CheatTable>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement