Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>710</ID>
<Description>"Nuggets specials"</Description>
<Options moHideChildren="1"/>
<LastState Value="" Activated="1" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>709</ID>
<Description>"Everyone Believes"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : The Universim.exe
Version:
Date : 2020-09-07
Author : pongo
This script does blah blah blah
}
[ENABLE]
aobscan(believe,0F B6 80 98 03 00 00 85 C0 74) // should be unique
alloc(newmem,$1000,Game.Faith:FaithController:UpdateBelieversCount+8a )
label(code)
label(return)
newmem:
mov BYTE [rax+00000398],1
code:
movzx eax,byte ptr [rax+00000398]
jmp return
believe:
jmp newmem
nop 2
return:
registersymbol(believe)
[DISABLE]
believe:
db 0F B6 80 98 03 00 00
unregistersymbol(believe)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Game.Faith:FaithController:UpdateBelieversCount+8a
1C0B57D19E1: 48 8B C8 - mov rcx,rax
1C0B57D19E4: 83 38 00 - cmp dword ptr [rax],00
1C0B57D19E7: 48 8D AD 00 00 00 00 - lea rbp,[rbp+00000000]
1C0B57D19EE: 49 BB 20 54 63 AF C0 01 00 00 - mov r11,000001C0AF635420
1C0B57D19F8: 41 FF D3 - call r11
1C0B57D19FB: EB 27 - jmp 1C0B57D1A24
1C0B57D19FD: 66 66 90 - nop 3
1C0B57D1A00: 48 8B 45 D8 - mov rax,[rbp-28]
1C0B57D1A04: 48 8B C8 - mov rcx,rax
1C0B57D1A07: 83 39 00 - cmp dword ptr [rcx],00
// ---------- INJECTING HERE ----------
1C0B57D1A0A: 0F B6 80 98 03 00 00 - movzx eax,byte ptr [rax+00000398]
// ---------- DONE INJECTING ----------
1C0B57D1A11: 85 C0 - test eax,eax
1C0B57D1A13: 74 0F - je 1C0B57D1A24
1C0B57D1A15: 48 63 86 80 00 00 00 - movsxd rax,dword ptr [rsi+00000080]
1C0B57D1A1C: FF C0 - inc eax
1C0B57D1A1E: 89 86 80 00 00 00 - mov [rsi+00000080],eax
1C0B57D1A24: 48 8B CD - mov rcx,rbp
1C0B57D1A27: 48 83 C1 C8 - add rcx,-38
1C0B57D1A2B: 49 BA 90 E6 4E 98 C2 01 00 00 - mov r10,000001C2984EE690
1C0B57D1A35: 90 - nop
1C0B57D1A36: 49 BB 50 55 63 AF C0 01 00 00 - mov r11,000001C0AF635550
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>708</ID>
<Description>"No infections"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : The Universim.exe
Version:
Date : 2020-09-07
Author : pongo
This script does blah blah blah
}
[ENABLE]
aobscan(infect,0F B6 86 CD 00 00 00 85 C0 0F) // should be unique
alloc(newmem,$1000,Game.Actors.Pawns:PawnActor:get_IsBleeding+b )
label(code)
label(return)
newmem:
mov BYTE [rsi+000000CD],0
code:
movzx eax,byte ptr [rsi+000000CD]
jmp return
infect:
jmp newmem
nop 2
return:
registersymbol(infect)
[DISABLE]
infect:
db 0F B6 86 CD 00 00 00
unregistersymbol(infect)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Game.Actors.Pawns:PawnActor:get_IsBleeding+b
1C094C7D172: E6 E6 - out -1A,al
1C094C7D174: 87 C1 - xchg ecx,eax
1C094C7D176: 01 00 - add [rax],eax
1C094C7D178: 00 00 - add [rax],al
1C094C7D17A: 00 00 - add [rax],al
1C094C7D17C: 00 00 - add [rax],al
1C094C7D17E: 00 00 - add [rax],al
1C094C7D180: 48 83 EC 18 - sub rsp,18
1C094C7D184: 48 89 34 24 - mov [rsp],rsi
1C094C7D188: 48 8B F1 - mov rsi,rcx
// ---------- INJECTING HERE ----------
1C094C7D18B: 0F B6 86 CD 00 00 00 - movzx eax,byte ptr [rsi+000000CD]
// ---------- DONE INJECTING ----------
1C094C7D192: 85 C0 - test eax,eax
1C094C7D194: 0F 84 5B 00 00 00 - je 1C094C7D1F5
1C094C7D19A: 48 8B 46 38 - mov rax,[rsi+38]
1C094C7D19E: 48 8B C8 - mov rcx,rax
1C094C7D1A1: 83 39 00 - cmp dword ptr [rcx],00
1C094C7D1A4: F3 0F 10 40 30 - movss xmm0,[rax+30]
1C094C7D1A9: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
1C094C7D1AD: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0
1C094C7D1B1: F3 0F 11 6C 24 08 - movss [rsp+08],xmm5
1C094C7D1B7: F3 0F 10 44 24 08 - movss xmm0,[rsp+08]
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>707</ID>
<Description>"No injures"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : The Universim.exe
Version:
Date : 2020-09-07
Author : pongo
This script does blah blah blah
}
[ENABLE]
aobscan(injure,0F B6 80 CC 00 00 00 85 C0 0F 84 DA) // should be unique
alloc(newmem,$1000,Game.Displays.Pawns:CitizenDisplay:UpdateStatusIcons+9d8 )
label(code)
label(return)
newmem:
mov BYTE [rax+000000CC],0
code:
movzx eax,byte ptr [rax+000000CC]
jmp return
injure:
jmp newmem
nop 2
return:
registersymbol(injure)
[DISABLE]
injure:
db 0F B6 80 CC 00 00 00
unregistersymbol(injure)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Game.Displays.Pawns:CitizenDisplay:UpdateStatusIcons+9d8
1C0ADE35A67: 48 8B C8 - mov rcx,rax
1C0ADE35A6A: BA 74 00 00 00 - mov edx,00000074
1C0ADE35A6F: 83 38 00 - cmp dword ptr [rax],00
1C0ADE35A72: 48 8D 6D 00 - lea rbp,[rbp+00]
1C0ADE35A76: 49 BB B9 77 9C 9C C0 01 00 00 - mov r11,000001C09C9C77B9
1C0ADE35A80: 41 FF D3 - call r11
1C0ADE35A83: 48 C7 86 20 01 00 00 00 00 00 00 - mov qword ptr [rsi+00000120],00000000
1C0ADE35A8E: 48 8B 46 20 - mov rax,[rsi+20]
1C0ADE35A92: 48 8B C8 - mov rcx,rax
1C0ADE35A95: 83 39 00 - cmp dword ptr [rcx],00
// ---------- INJECTING HERE ----------
1C0ADE35A98: 0F B6 80 CC 00 00 00 - movzx eax,byte ptr [rax+000000CC]
// ---------- DONE INJECTING ----------
1C0ADE35A9F: 85 C0 - test eax,eax
1C0ADE35AA1: 0F 84 DA 00 00 00 - je 1C0ADE35B81
1C0ADE35AA7: 48 8B 8E 00 01 00 00 - mov rcx,[rsi+00000100]
1C0ADE35AAE: 33 D2 - xor edx,edx
1C0ADE35AB0: 48 8D 64 24 00 - lea rsp,[rsp+00]
1C0ADE35AB5: 90 - nop
1C0ADE35AB6: 49 BB D0 CB F1 83 C0 01 00 00 - mov r11,000001C083F1CBD0
1C0ADE35AC0: 41 FF D3 - call r11
1C0ADE35AC3: 85 C0 - test eax,eax
1C0ADE35AC5: 0F 84 B6 00 00 00 - je 1C0ADE35B81
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>720</ID>
<Description>"Education to All"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : The Universim.exe
Version:
Date : 2020-09-07
Author : pongo
This script does blah blah blah
}
[ENABLE]
aobscan(educa,48 63 80 7C 03 00 00 48) // should be unique
alloc(newmem,$1000,Game.AI:NuggetHasEducationLevelScorer:Score+86 )
label(code)
label(return)
newmem:
mov BYTE [rax+0000037C],1
code:
movsxd rax,dword ptr [rax+0000037C]
jmp return
educa:
jmp newmem
nop 2
return:
registersymbol(educa)
[DISABLE]
educa:
db 48 63 80 7C 03 00 00
unregistersymbol(educa)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Game.AI:NuggetHasEducationLevelScorer:Score+86
1C094C7AED0: 48 8B 00 - mov rax,[rax]
1C094C7AED3: 48 8B 40 10 - mov rax,[rax+10]
1C094C7AED7: 48 8B 40 28 - mov rax,[rax+28]
1C094C7AEDB: 48 B9 C8 66 D9 AE C0 01 00 00 - mov rcx,000001C0AED966C8
1C094C7AEE5: 48 3B C1 - cmp rax,rcx
1C094C7AEE8: 74 03 - je 1C094C7AEED
1C094C7AEEA: 45 33 ED - xor r13d,r13d
1C094C7AEED: 49 8B C5 - mov rax,r13
1C094C7AEF0: 48 8B C8 - mov rcx,rax
1C094C7AEF3: 83 39 00 - cmp dword ptr [rcx],00
// ---------- INJECTING HERE ----------
1C094C7AEF6: 48 63 80 7C 03 00 00 - movsxd rax,dword ptr [rax+0000037C]
// ---------- DONE INJECTING ----------
1C094C7AEFD: 48 63 4F 1C - movsxd rcx,dword ptr [rdi+1C]
1C094C7AF01: 3B C1 - cmp eax,ecx
1C094C7AF03: 40 0F 94 C0 - sete al
1C094C7AF07: 48 0F B6 C0 - movzx rax,al
1C094C7AF0B: 4C 0F B6 F8 - movzx r15,al
1C094C7AF0F: 0F B6 47 18 - movzx eax,byte ptr [rdi+18]
1C094C7AF13: 85 C0 - test eax,eax
1C094C7AF15: 74 21 - je 1C094C7AF38
1C094C7AF17: 45 85 FF - test r15d,r15d
1C094C7AF1A: 75 12 - jne 1C094C7AF2E
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>