MrAntiFun + WeMod Partnership Announcement

Trainer Search

UtkuGARIP

Active Member
Joined
Nov 26, 2015
Messages
26
Reaction score
4
It is available as a "Cheat Table", but only the "Set Minimum Resource for Building" feature works, it causes the game to freeze after a while, but when you uncheck it, the freezing goes away.

Copy and paste all the codes into Notepad and save as "FileName.ct", the extension must be ".ct".

Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="34">
  <CheatEntries>
    <CheatEntry>
      <ID>16</ID>
      <Description>"Free Build"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
    Game    : nebuchadnezzar.exe
    Version    :
    Date    : 2021-02-19
    Author    : aSwedishMagyar
}
[ENABLE]
aobscanmodule(freeBuild,nebuchadnezzar.exe,41 2B 84 24 90 01 00 00)
registersymbol(freeBuild)

freeBuild:
  nop 8

[DISABLE]
freeBuild:
  db 41 2B 84 24 90 01 00 00

unregistersymbol(freeBuild)

{
// ORIGINAL CODE - INJECTION POINT: nebuchadnezzar.exe+695F72

nebuchadnezzar.exe+695F13: 49 8B 95 C0 00 00 00     - mov rdx,[r13+000000C0]
nebuchadnezzar.exe+695F1A: 48 8B 0D 27 6D 16 00     - mov rcx,[nebuchadnezzar.exe+7FCC48]
nebuchadnezzar.exe+695F21: E8 5A 9D FF FF           - call nebuchadnezzar.exe+68FC80
nebuchadnezzar.exe+695F26: 48 8B 08                 - mov rcx,[rax]
nebuchadnezzar.exe+695F29: 40 38 B1 40 01 00 00     - cmp [rcx+00000140],sil
nebuchadnezzar.exe+695F30: 74 15                    - je nebuchadnezzar.exe+695F47
nebuchadnezzar.exe+695F32: 41 FF C7                 - inc r15d
nebuchadnezzar.exe+695F35: 41 83 FF 04              - cmp r15d,04
nebuchadnezzar.exe+695F39: 7C D5                    - jl nebuchadnezzar.exe+695F10
nebuchadnezzar.exe+695F3B: 49 8D 8E C0 1F 00 00     - lea rcx,[r14+00001FC0]
nebuchadnezzar.exe+695F42: E8 39 79 F5 FF           - call nebuchadnezzar.exe+5ED880
nebuchadnezzar.exe+695F47: 48 83 C3 08              - add rbx,08
nebuchadnezzar.exe+695F4B: 48 3B DF                 - cmp rbx,rdi
nebuchadnezzar.exe+695F4E: 0F 85 5C FF FF FF        - jne nebuchadnezzar.exe+695EB0
nebuchadnezzar.exe+695F54: 48 8B 74 24 60           - mov rsi,[rsp+60]
nebuchadnezzar.exe+695F59: 44 8B 7C 24 30           - mov r15d,[rsp+30]
nebuchadnezzar.exe+695F5E: 45 33 ED                 - xor r13d,r13d
nebuchadnezzar.exe+695F61: 49 83 BE B0 20 00 00 00  - cmp qword ptr [r14+000020B0],00
nebuchadnezzar.exe+695F69: 74 68                    - je nebuchadnezzar.exe+695FD3
nebuchadnezzar.exe+695F6B: 41 8B 86 DC 14 00 00     - mov eax,[r14+000014DC]
// ---------- INJECTING HERE ----------
nebuchadnezzar.exe+695F72: 41 2B 84 24 90 01 00 00  - sub eax,[r12+00000190]
// ---------- DONE INJECTING  ----------
nebuchadnezzar.exe+695F7A: 41 89 86 DC 14 00 00     - mov [r14+000014DC],eax
nebuchadnezzar.exe+695F81: 48 8B 0D C0 6C 16 00     - mov rcx,[nebuchadnezzar.exe+7FCC48]
nebuchadnezzar.exe+695F88: 80 B9 A8 21 00 00 00     - cmp byte ptr [rcx+000021A8],00
nebuchadnezzar.exe+695F8F: 75 42                    - jne nebuchadnezzar.exe+695FD3
nebuchadnezzar.exe+695F91: 85 C0                    - test eax,eax
nebuchadnezzar.exe+695F93: 79 3E                    - jns nebuchadnezzar.exe+695FD3
nebuchadnezzar.exe+695F95: 48 8B 81 A0 21 00 00     - mov rax,[rcx+000021A0]
nebuchadnezzar.exe+695F9C: 4C 8B 90 10 02 00 00     - mov r10,[rax+00000210]
nebuchadnezzar.exe+695FA3: 48 8B 90 18 02 00 00     - mov rdx,[rax+00000218]
nebuchadnezzar.exe+695FAA: 49 2B D2                 - sub rdx,r10
nebuchadnezzar.exe+695FAD: 48 C1 FA 03              - sar rdx,03
nebuchadnezzar.exe+695FB1: 49 63 86 A8 1D 00 00     - movsxd  rax,dword ptr [r14+00001DA8]
nebuchadnezzar.exe+695FB8: 3B C2                    - cmp eax,edx
nebuchadnezzar.exe+695FBA: 7D 17                    - jnl nebuchadnezzar.exe+695FD3
nebuchadnezzar.exe+695FBC: 45 33 C9                 - xor r9d,r9d
nebuchadnezzar.exe+695FBF: 45 8D 41 05              - lea r8d,[r9+05]
nebuchadnezzar.exe+695FC3: 49 8B 14 C2              - mov rdx,[r10+rax*8]
nebuchadnezzar.exe+695FC7: E8 84 B2 FF FF           - call nebuchadnezzar.exe+691250
nebuchadnezzar.exe+695FCC: 41 FF 86 A8 1D 00 00     - inc [r14+00001DA8]
nebuchadnezzar.exe+695FD3: 4D 8D 8E B8 00 00 00     - lea r9,[r14+000000B8]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>50</ID>
      <Description>"Inf Building Resources"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
    Game    : nebuchadnezzar.exe
    Version    :
    Date    : 2021-02-19
    Author    : aSwedishMagyar
}
[ENABLE]
aobscanmodule(infResources,nebuchadnezzar.exe,41 FF 0C 00 48 8B 86 C8 00 00 00)
registersymbol(infResources)

infResources:
  nop 4

[DISABLE]
infResources:
  db 41 FF 0C 00

unregistersymbol(infResources)

{
// ORIGINAL CODE - INJECTION POINT: nebuchadnezzar.exe+667BFA

nebuchadnezzar.exe+667BB9: CC                       - int 3
nebuchadnezzar.exe+667BBA: CC                       - int 3
nebuchadnezzar.exe+667BBB: CC                       - int 3
nebuchadnezzar.exe+667BBC: CC                       - int 3
nebuchadnezzar.exe+667BBD: CC                       - int 3
nebuchadnezzar.exe+667BBE: CC                       - int 3
nebuchadnezzar.exe+667BBF: CC                       - int 3
nebuchadnezzar.exe+667BC0: 48 89 5C 24 18           - mov [rsp+18],rbx
nebuchadnezzar.exe+667BC5: 48 89 74 24 20           - mov [rsp+20],rsi
nebuchadnezzar.exe+667BCA: 57                       - push rdi
nebuchadnezzar.exe+667BCB: 48 81 EC 90 00 00 00     - sub rsp,00000090
nebuchadnezzar.exe+667BD2: 48 63 DA                 - movsxd  rbx,edx
nebuchadnezzar.exe+667BD5: 48 8B F1                 - mov rsi,rcx
nebuchadnezzar.exe+667BD8: 48 8B 01                 - mov rax,[rcx]
nebuchadnezzar.exe+667BDB: 8B D3                    - mov edx,ebx
nebuchadnezzar.exe+667BDD: FF 90 88 00 00 00        - call qword ptr [rax+00000088]
nebuchadnezzar.exe+667BE3: 84 C0                    - test al,al
nebuchadnezzar.exe+667BE5: 0F 84 A4 00 00 00        - je nebuchadnezzar.exe+667C8F
nebuchadnezzar.exe+667BEB: 4C 8D 04 9D 00 00 00 00  - lea r8,[rbx*4+00000000]
nebuchadnezzar.exe+667BF3: 48 8B 86 98 00 00 00     - mov rax,[rsi+00000098]
// ---------- INJECTING HERE ----------
nebuchadnezzar.exe+667BFA: 41 FF 0C 00              - dec [r8+rax]
// ---------- DONE INJECTING  ----------
nebuchadnezzar.exe+667BFE: 48 8B 86 C8 00 00 00     - mov rax,[rsi+000000C8]
nebuchadnezzar.exe+667C05: 48 8B 8E B0 00 00 00     - mov rcx,[rsi+000000B0]
nebuchadnezzar.exe+667C0C: 42 8B 14 01              - mov edx,[rcx+r8]
nebuchadnezzar.exe+667C10: 42 2B 14 00              - sub edx,[rax+r8]
nebuchadnezzar.exe+667C14: FF CA                    - dec edx
nebuchadnezzar.exe+667C16: 48 8B 86 98 00 00 00     - mov rax,[rsi+00000098]
nebuchadnezzar.exe+667C1D: 41 39 14 00              - cmp [r8+rax],edx
nebuchadnezzar.exe+667C21: 75 57                    - jne nebuchadnezzar.exe+667C7A
nebuchadnezzar.exe+667C23: B2 01                    - mov dl,01
nebuchadnezzar.exe+667C25: 48 8B CE                 - mov rcx,rsi
nebuchadnezzar.exe+667C28: E8 23 11 00 00           - call nebuchadnezzar.exe+668D50
nebuchadnezzar.exe+667C2D: 48 8B BE 48 02 00 00     - mov rdi,[rsi+00000248]
nebuchadnezzar.exe+667C34: 48 8B 9E 40 02 00 00     - mov rbx,[rsi+00000240]
nebuchadnezzar.exe+667C3B: 48 3B DF                 - cmp rbx,rdi
nebuchadnezzar.exe+667C3E: 74 3A                    - je nebuchadnezzar.exe+667C7A
nebuchadnezzar.exe+667C40: 81 3B FF FF FF 1F        - cmp [rbx],1FFFFFFF
nebuchadnezzar.exe+667C46: 7D 29                    - jnl nebuchadnezzar.exe+667C71
nebuchadnezzar.exe+667C48: C7 44 24 20 03 00 00 00  - mov [rsp+20],00000003
nebuchadnezzar.exe+667C50: 48 8B 06                 - mov rax,[rsi]
nebuchadnezzar.exe+667C53: 48 8B CE                 - mov rcx,rsi
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>153</ID>
      <Description>"Inf Warehouse Resources"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
    Game    : nebuchadnezzar.exe
    Version    :
    Date    : 2021-02-20
    Author    : aSwedishMagyar
}
[ENABLE]
aobscanmodule(infWarehouse,nebuchadnezzar.exe,41 FF 0C 01 48 8B 83 B0 00 00 00)
registersymbol(infWarehouse)

infWarehouse:
  nop 4

[DISABLE]
infWarehouse:
  db 41 FF 0C 01

unregistersymbol(infWarehouse)

{
// ORIGINAL CODE - INJECTION POINT: nebuchadnezzar.exe+5E2DF7

nebuchadnezzar.exe+5E2DAB: CC                                - int 3
nebuchadnezzar.exe+5E2DAC: CC                                - int 3
nebuchadnezzar.exe+5E2DAD: CC                                - int 3
nebuchadnezzar.exe+5E2DAE: CC                                - int 3
nebuchadnezzar.exe+5E2DAF: CC                                - int 3
nebuchadnezzar.exe+5E2DB0: 48 89 5C 24 18                    - mov [rsp+18],rbx
nebuchadnezzar.exe+5E2DB5: 57                                - push rdi
nebuchadnezzar.exe+5E2DB6: 48 81 EC 90 00 00 00              - sub rsp,00000090
nebuchadnezzar.exe+5E2DBD: 48 8B 05 64 A2 20 00              - mov rax,[nebuchadnezzar.exe+7ED028]
nebuchadnezzar.exe+5E2DC4: 48 33 C4                          - xor rax,rsp
nebuchadnezzar.exe+5E2DC7: 48 89 84 24 88 00 00 00           - mov [rsp+00000088],rax
nebuchadnezzar.exe+5E2DCF: 48 63 FA                          - movsxd  rdi,edx
nebuchadnezzar.exe+5E2DD2: 48 8B D9                          - mov rbx,rcx
nebuchadnezzar.exe+5E2DD5: 48 8B 01                          - mov rax,[rcx]
nebuchadnezzar.exe+5E2DD8: 8B D7                             - mov edx,edi
nebuchadnezzar.exe+5E2DDA: FF 90 88 00 00 00                 - call qword ptr [rax+00000088]
nebuchadnezzar.exe+5E2DE0: 84 C0                             - test al,al
nebuchadnezzar.exe+5E2DE2: 0F 84 96 00 00 00                 - je nebuchadnezzar.exe+5E2E7E
nebuchadnezzar.exe+5E2DE8: 4C 8D 0C BD 00 00 00 00           - lea r9,[rdi*4+00000000]
nebuchadnezzar.exe+5E2DF0: 48 8B 83 80 00 00 00              - mov rax,[rbx+00000080]
// ---------- INJECTING HERE ----------
nebuchadnezzar.exe+5E2DF7: 41 FF 0C 01                       - dec [r9+rax]
// ---------- DONE INJECTING  ----------
nebuchadnezzar.exe+5E2DFB: 48 8B 83 B0 00 00 00              - mov rax,[rbx+000000B0]
nebuchadnezzar.exe+5E2E02: 48 8B 93 98 00 00 00              - mov rdx,[rbx+00000098]
nebuchadnezzar.exe+5E2E09: 46 8B 04 0A                       - mov r8d,[rdx+r9]
nebuchadnezzar.exe+5E2E0D: 46 2B 04 08                       - sub r8d,[rax+r9]
nebuchadnezzar.exe+5E2E11: 41 FF C8                          - dec r8d
nebuchadnezzar.exe+5E2E14: 48 8B 83 80 00 00 00              - mov rax,[rbx+00000080]
nebuchadnezzar.exe+5E2E1B: 45 39 04 01                       - cmp [r9+rax],r8d
nebuchadnezzar.exe+5E2E1F: 75 3C                             - jne nebuchadnezzar.exe+5E2E5D
nebuchadnezzar.exe+5E2E21: C7 84 24 80 00 00 00 03 00 00 00  - mov [rsp+00000080],00000003
nebuchadnezzar.exe+5E2E2C: 48 8B 03                          - mov rax,[rbx]
nebuchadnezzar.exe+5E2E2F: 48 8B CB                          - mov rcx,rbx
nebuchadnezzar.exe+5E2E32: FF 90 00 01 00 00                 - call qword ptr [rax+00000100]
nebuchadnezzar.exe+5E2E38: 89 84 24 84 00 00 00              - mov [rsp+00000084],eax
nebuchadnezzar.exe+5E2E3F: 48 8B 0D 02 9E 21 00              - mov rcx,[nebuchadnezzar.exe+7FCC48]
nebuchadnezzar.exe+5E2E46: 48 81 C1 B8 00 00 00              - add rcx,000000B8
nebuchadnezzar.exe+5E2E4D: 45 33 C0                          - xor r8d,r8d
nebuchadnezzar.exe+5E2E50: 48 8D 94 24 80 00 00 00           - lea rdx,[rsp+00000080]
nebuchadnezzar.exe+5E2E58: E8 83 2E F7 FF                    - call nebuchadnezzar.exe+555CE0
nebuchadnezzar.exe+5E2E5D: 48 8B 8C 24 88 00 00 00           - mov rcx,[rsp+00000088]
nebuchadnezzar.exe+5E2E65: 48 33 CC                          - xor rcx,rsp
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>8</ID>
      <Description>"Get Base"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
    Game    : nebuchadnezzar.exe
    Version    :
    Date    : 2021-02-19
    Author    : aSwedishMagyar
}
{$lua}
if syntaxcheck then return end
local offsetResources = 0x13A8
local resourceNames = {"Wheat","Bread","Milk","Clay","Ceramic","Bricks","Fish","Spices"}
local offsets = {0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x20,0x24,0x28,0x2C,0x30}
local bTypes ={{"Poor market","base::build.market.basic.3"},{"Bakery","base::build.shop.bread"},
{"Crop farm","base::build.farm.plant.1"},{"Livestock farm","base::build.farm.animal.2"},
{"Clay mine","base::build.mine.clay"},{"Ceramic workshop","base::build.shop.ceramic"},
{"Well","base::build.service.water"}}
local bOffsets = {{2,3},{1,2},{1},{3},{4},{4,5},{0}}
function matchBuilding(bString)
    for i = 1,#bTypes do
        if bString == bTypes[i][2] then
            return {Offsets = bOffsets[i],Type = bTypes[i][1]}
        end
    end
    return nil
end
function createBuilding(base,mainRec,building)
    local topRec = createHeader(building.Type,mainRec)
    local baseCurrent = readPointer(base+0x98)
    local baseMax = readPointer(base+0xB0)
    for i = 1,#building.Offsets do
        if building.Offsets[i] ~= 0 then
          createRec(baseCurrent,offsets[building.Offsets[i]],"Current "..resourceNames[building.Offsets[i]],topRec)
          createRec(baseMax,offsets[building.Offsets[i]],"Max "..resourceNames[building.Offsets[i]],topRec)
        end
    end
end
function populateBuildings(mainRec)
    local baseAddr = getAddressSafe('[[baseGame]+0x13C0]')
    if baseAddr then
        local buildingNum = readInteger(getAddressSafe('[baseGame]+0x17A8'))-1
        for i = 0,buildingNum do
            local baseBuilding = readPointer(baseAddr+8*i)
            local bString = readString(readPointer(readPointer(baseBuilding+0x20)+0x10),50)
            local building = matchBuilding(bString)
            if building ~= nil then
              createBuilding(baseBuilding,mainRec,building)
            end
        end
    end
end
function createHeader(name,mainRec)
    local addList = getAddressList()
    local topRec = addList.createMemoryRecord()
    topRec.isGroupHeader = true
    topRec.options = '[moHideChildren]'
    topRec.setDescription(name)
    topRec.appendToEntry(mainRec)
    return topRec
end
function populateResources(mainRec)
    local base = getAddressSafe('[[baseGame]+13A8]')
    for i = 1,#resourceNames do
        createRec(base,offsets[i],resourceNames[i],mainRec)
    end
end
function createRec(addr,offset,recName,topRec)
    local addList = getAddressList()
    local newRec = addList.createMemoryRecord()
    newRec.setAddress(addr+offset)
    newRec.setDescription(recName)
    newRec.Type = 2
    newRec.appendToEntry(topRec)
end
function removeRecords(mainRec)
    if mainRec ~= nil then
        while mainRec.Count &gt; 0 do
           mainRec.Child[0]:Delete()
        end
    end
end
{$asm}
[ENABLE]
aobscanmodule(getGame,nebuchadnezzar.exe,44 8B B6 24 14 00 00)
registersymbol(getGame)
registersymbol(baseGame)
alloc(newgetGame,100,getGame)
label(codegetGame)
label(returngetGame)
label(baseGame)
newgetGame:
  mov [baseGame],rsi
codegetGame:
  mov r14d,[rsi+00001424]
  jmp returngetGame
baseGame:
  dq 0
getGame:
  jmp newgetGame
  nop 2
returngetGame:

[DISABLE]
getGame:
  db 44 8B B6 24 14 00 00

unregistersymbol(getGame)
unregistersymbol(baseGame)
dealloc(newgetGame)

{
// ORIGINAL CODE - INJECTION POINT: nebuchadnezzar.exe+590947

nebuchadnezzar.exe+5908FA: B8 20 3A 00 00        - mov eax,00003A20
nebuchadnezzar.exe+5908FF: EB 36                 - jmp nebuchadnezzar.exe+590937
nebuchadnezzar.exe+590901: B8 40 3A 00 00        - mov eax,00003A40
nebuchadnezzar.exe+590906: EB 2F                 - jmp nebuchadnezzar.exe+590937
nebuchadnezzar.exe+590908: B8 60 3A 00 00        - mov eax,00003A60
nebuchadnezzar.exe+59090D: EB 28                 - jmp nebuchadnezzar.exe+590937
nebuchadnezzar.exe+59090F: B8 80 3A 00 00        - mov eax,00003A80
nebuchadnezzar.exe+590914: EB 21                 - jmp nebuchadnezzar.exe+590937
nebuchadnezzar.exe+590916: B8 A0 3A 00 00        - mov eax,00003AA0
nebuchadnezzar.exe+59091B: EB 1A                 - jmp nebuchadnezzar.exe+590937
nebuchadnezzar.exe+59091D: B8 C0 3A 00 00        - mov eax,00003AC0
nebuchadnezzar.exe+590922: EB 13                 - jmp nebuchadnezzar.exe+590937
nebuchadnezzar.exe+590924: B8 E0 3A 00 00        - mov eax,00003AE0
nebuchadnezzar.exe+590929: EB 0C                 - jmp nebuchadnezzar.exe+590937
nebuchadnezzar.exe+59092B: B8 00 3B 00 00        - mov eax,00003B00
nebuchadnezzar.exe+590930: EB 05                 - jmp nebuchadnezzar.exe+590937
nebuchadnezzar.exe+590932: B8 20 3B 00 00        - mov eax,00003B20
nebuchadnezzar.exe+590937: 49 8D 14 00           - lea rdx,[r8+rax]
nebuchadnezzar.exe+59093B: 48 8B 8F 18 01 00 00  - mov rcx,[rdi+00000118]
nebuchadnezzar.exe+590942: E8 69 5B 08 00        - call nebuchadnezzar.exe+6164B0
// ---------- INJECTING HERE ----------
nebuchadnezzar.exe+590947: 44 8B B6 24 14 00 00  - mov r14d,[rsi+00001424]
// ---------- DONE INJECTING  ----------
nebuchadnezzar.exe+59094E: 48 8B 9F 38 01 00 00  - mov rbx,[rdi+00000138]
nebuchadnezzar.exe+590955: 45 33 ED              - xor r13d,r13d
nebuchadnezzar.exe+590958: 44 39 B3 F8 00 00 00  - cmp [rbx+000000F8],r14d
nebuchadnezzar.exe+59095F: 75 09                 - jne nebuchadnezzar.exe+59096A
nebuchadnezzar.exe+590961: 44 39 AB 20 01 00 00  - cmp [rbx+00000120],r13d
nebuchadnezzar.exe+590968: 74 3E                 - je nebuchadnezzar.exe+5909A8
nebuchadnezzar.exe+59096A: 45 8B C6              - mov r8d,r14d
nebuchadnezzar.exe+59096D: 48 8D 55 50           - lea rdx,[rbp+50]
nebuchadnezzar.exe+590971: 48 8B 0D C0 C2 26 00  - mov rcx,[nebuchadnezzar.exe+7FCC38]
nebuchadnezzar.exe+590978: 48 8B 89 68 03 00 00  - mov rcx,[rcx+00000368]
nebuchadnezzar.exe+59097F: E8 DC 85 D6 FF        - call nebuchadnezzar.exe+2F8F60
nebuchadnezzar.exe+590984: 90                    - nop
nebuchadnezzar.exe+590985: 48 8B D0              - mov rdx,rax
nebuchadnezzar.exe+590988: 48 8B CB              - mov rcx,rbx
nebuchadnezzar.exe+59098B: E8 A0 53 08 00        - call nebuchadnezzar.exe+615D30
nebuchadnezzar.exe+590990: 90                    - nop
nebuchadnezzar.exe+590991: 48 8D 4D 50           - lea rcx,[rbp+50]
nebuchadnezzar.exe+590995: E8 B6 AF B9 FF        - call nebuchadnezzar.exe+12B950
nebuchadnezzar.exe+59099A: 44 89 B3 F8 00 00 00  - mov [rbx+000000F8],r14d
nebuchadnezzar.exe+5909A1: 44 89 AB 20 01 00 00  - mov [rbx+00000120],r13d
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>15</ID>
          <Description>"Population"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>baseGame</Address>
          <Offsets>
            <Offset>1420</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Money"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>baseGame</Address>
          <Offsets>
            <Offset>1424</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"Resources"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
populateResources(memrec)
[DISABLE]
removeRecords(memrec)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"Buildings"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
populateBuildings(memrec)
[DISABLE]
removeRecords(memrec)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>56</ID>
          <Description>"Currently Selected Warehouse"</Description>
          <LastState Value="" RealAddress="00000000"/>
          <ShowAsSigned>0</ShowAsSigned>
          <GroupHeader>1</GroupHeader>
          <Address>baseGame</Address>
          <Offsets>
            <Offset>0</Offset>
            <Offset>2258</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>91</ID>
      <Description>"Set House Occupancy Limit"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
    Game    : nebuchadnezzar.exe
    Version    :
    Date    : 2021-02-20
    Author    : aSwedishMagyar
}
[ENABLE]
aobscanmodule(houseOccupancy,nebuchadnezzar.exe,41 3B 86 A8 00 00 00)
registersymbol(houseOccupancy)
registersymbol(minAmount)
alloc(newhouseOccupancy,100,houseOccupancy)
label(codehouseOccupancy)
label(returnhouseOccupancy)
label(minAmount)
newhouseOccupancy:
  push ebx
  mov ebx,[minAmount]
  mov [r14+A8],ebx
  pop ebx
codehouseOccupancy:
  cmp eax,[r14+000000A8]
  jmp returnhouseOccupancy
minAmount:
  dd 64
houseOccupancy:
  jmp newhouseOccupancy
  nop 2
returnhouseOccupancy:

[DISABLE]
houseOccupancy:
  db 41 3B 86 A8 00 00 00

unregistersymbol(houseOccupancy)
unregistersymbol(minAmount)
dealloc(newhouseOccupancy)

{
// ORIGINAL CODE - INJECTION POINT: nebuchadnezzar.exe+57448A

nebuchadnezzar.exe+57443A: 48 89 7C 24 20           - mov [rsp+20],rdi
nebuchadnezzar.exe+57443F: 55                       - push rbp
nebuchadnezzar.exe+574440: 41 54                    - push r12
nebuchadnezzar.exe+574442: 41 55                    - push r13
nebuchadnezzar.exe+574444: 41 56                    - push r14
nebuchadnezzar.exe+574446: 41 57                    - push r15
nebuchadnezzar.exe+574448: 48 8D 6C 24 C9           - lea rbp,[rsp-37]
nebuchadnezzar.exe+57444D: 48 81 EC E0 00 00 00     - sub rsp,000000E0
nebuchadnezzar.exe+574454: 48 8B 05 CD 8B 27 00     - mov rax,[nebuchadnezzar.exe+7ED028]
nebuchadnezzar.exe+57445B: 48 33 C4                 - xor rax,rsp
nebuchadnezzar.exe+57445E: 48 89 45 27              - mov [rbp+27],rax
nebuchadnezzar.exe+574462: 4C 8B F1                 - mov r14,rcx
nebuchadnezzar.exe+574465: 48 8B 49 20              - mov rcx,[rcx+20]
nebuchadnezzar.exe+574469: E8 B2 28 FD FF           - call nebuchadnezzar.exe+546D20
nebuchadnezzar.exe+57446E: 8B 90 48 02 00 00        - mov edx,[rax+00000248]
nebuchadnezzar.exe+574474: 49 8B 46 78              - mov rax,[r14+78]
nebuchadnezzar.exe+574478: 49 2B 46 70              - sub rax,[r14+70]
nebuchadnezzar.exe+57447C: 48 C1 F8 03              - sar rax,03
nebuchadnezzar.exe+574480: 0F AF C2                 - imul eax,edx
nebuchadnezzar.exe+574483: 41 03 86 A4 00 00 00     - add eax,[r14+000000A4]
// ---------- INJECTING HERE ----------
nebuchadnezzar.exe+57448A: 41 3B 86 A8 00 00 00     - cmp eax,[r14+000000A8]
// ---------- DONE INJECTING  ----------
nebuchadnezzar.exe+574491: 7C 07                    - jl nebuchadnezzar.exe+57449A
nebuchadnezzar.exe+574493: 33 C0                    - xor eax,eax
nebuchadnezzar.exe+574495: E9 37 02 00 00           - jmp nebuchadnezzar.exe+5746D1
nebuchadnezzar.exe+57449A: 48 C7 45 FF FF FF FF FF  - mov qword ptr [rbp-01],FFFFFFFFFFFFFFFF
nebuchadnezzar.exe+5744A2: 33 C0                    - xor eax,eax
nebuchadnezzar.exe+5744A4: 41 BF FF FF FF 7F        - mov r15d,7FFFFFFF
nebuchadnezzar.exe+5744AA: 0F 57 C9                 - xorps xmm1,xmm1
nebuchadnezzar.exe+5744AD: F3 0F 7F 4D 0F           - movdqu [rbp+0F],xmm1
nebuchadnezzar.exe+5744B2: 48 89 45 1F              - mov [rbp+1F],rax
nebuchadnezzar.exe+5744B6: C7 45 97 FF FF FF FF     - mov [rbp-69],FFFFFFFF
nebuchadnezzar.exe+5744BD: 33 F6                    - xor esi,esi
nebuchadnezzar.exe+5744BF: 48 8B 7D FF              - mov rdi,[rbp-01]
nebuchadnezzar.exe+5744C3: 48 8B 0D 7E 87 28 00     - mov rcx,[nebuchadnezzar.exe+7FCC48]
nebuchadnezzar.exe+5744CA: 66 0F 1F 44 00 00        - nop word ptr [rax+rax+00]
nebuchadnezzar.exe+5744D0: 48 8B 9C 0E 24 23 00 00  - mov rbx,[rsi+rcx+00002324]
nebuchadnezzar.exe+5744D8: 83 FB FF                 - cmp ebx,-01
nebuchadnezzar.exe+5744DB: 74 62                    - je nebuchadnezzar.exe+57453F
nebuchadnezzar.exe+5744DD: 48 81 C1 50 1F 00 00     - add rcx,00001F50
nebuchadnezzar.exe+5744E4: C6 44 24 38 00           - mov byte ptr [rsp+38],00
nebuchadnezzar.exe+5744E9: 48 8D 45 97              - lea rax,[rbp-69]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>92</ID>
          <Description>"Max House Occupancy"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>minAmount</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>98</ID>
      <Description>"Set Minium Resource Value"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
    Game    : nebuchadnezzar.exe
    Version    :
    Date    : 2021-02-20
    Author    : aSwedishMagyar
}
[ENABLE]
aobscanmodule(minResources,nebuchadnezzar.exe,44 8B 34 88 48 8B 87 90 01 00 00)
registersymbol(minResources)
registersymbol(minResourceVal)
alloc(newminResources,100,minResources)
label(codeminResources)
label(returnminResources)
label(minResourceVal)
newminResources:
  mov r14d,[rax+rcx*4]
  cmp r14d,[minResourceVal]
  jae codeminResources
  mov r14d,[minResourceVal]
codeminResources:
  mov [rax+rcx*4],r14d
  mov rax,[rdi+00000190]
  jmp returnminResources
minResourceVal:
  dd F
minResources:
  jmp newminResources
  nop 6
returnminResources:

[DISABLE]
minResources:
  db 44 8B 34 88 48 8B 87 90 01 00 00

unregistersymbol(minResources)
unregistersymbol(minResourceVal)
dealloc(newminResources)

{
// ORIGINAL CODE - INJECTION POINT: nebuchadnezzar.exe+590C5B

nebuchadnezzar.exe+590BFC: 49 83 C5 04                    - add r13,04
nebuchadnezzar.exe+590C00: 49 83 C7 08                    - add r15,08
nebuchadnezzar.exe+590C04: 49 83 C4 10                    - add r12,10
nebuchadnezzar.exe+590C08: 48 8B 05 29 C0 26 00           - mov rax,[nebuchadnezzar.exe+7FCC38]
nebuchadnezzar.exe+590C0F: 48 8B 88 68 04 00 00           - mov rcx,[rax+00000468]
nebuchadnezzar.exe+590C16: 48 2B 88 60 04 00 00           - sub rcx,[rax+00000460]
nebuchadnezzar.exe+590C1D: 48 C1 F9 03                    - sar rcx,03
nebuchadnezzar.exe+590C21: 44 3B F1                       - cmp r14d,ecx
nebuchadnezzar.exe+590C24: 0F 8C C6 FD FF FF              - jl nebuchadnezzar.exe+5909F0
nebuchadnezzar.exe+590C2A: 45 33 ED                       - xor r13d,r13d
nebuchadnezzar.exe+590C2D: 45 8B FD                       - mov r15d,r13d
nebuchadnezzar.exe+590C30: 48 8B 8F 60 01 00 00           - mov rcx,[rdi+00000160]
nebuchadnezzar.exe+590C37: 48 8B 87 68 01 00 00           - mov rax,[rdi+00000168]
nebuchadnezzar.exe+590C3E: 48 2B C1                       - sub rax,rcx
nebuchadnezzar.exe+590C41: 48 C1 F8 02                    - sar rax,02
nebuchadnezzar.exe+590C45: 85 C0                          - test eax,eax
nebuchadnezzar.exe+590C47: 0F 8E 8E 00 00 00              - jng nebuchadnezzar.exe+590CDB
nebuchadnezzar.exe+590C4D: 4D 8B E5                       - mov r12,r13
nebuchadnezzar.exe+590C50: 4A 63 0C 29                    - movsxd  rcx,dword ptr [rcx+r13]
nebuchadnezzar.exe+590C54: 48 8B 86 A8 13 00 00           - mov rax,[rsi+000013A8]
// ---------- INJECTING HERE ----------
nebuchadnezzar.exe+590C5B: 44 8B 34 88                    - mov r14d,[rax+rcx*4]
// ---------- DONE INJECTING  ----------
nebuchadnezzar.exe+590C5F: 48 8B 87 90 01 00 00           - mov rax,[rdi+00000190]
nebuchadnezzar.exe+590C66: 49 8B 1C 04                    - mov rbx,[r12+rax]
nebuchadnezzar.exe+590C6A: 44 39 B3 F8 00 00 00           - cmp [rbx+000000F8],r14d
nebuchadnezzar.exe+590C71: 75 09                          - jne nebuchadnezzar.exe+590C7C
nebuchadnezzar.exe+590C73: 83 BB 20 01 00 00 00           - cmp dword ptr [rbx+00000120],00
nebuchadnezzar.exe+590C7A: 74 33                          - je nebuchadnezzar.exe+590CAF
nebuchadnezzar.exe+590C7C: 41 8B D6                       - mov edx,r14d
nebuchadnezzar.exe+590C7F: 48 8D 4D A0                    - lea rcx,[rbp-60]
nebuchadnezzar.exe+590C83: E8 58 D1 BC FF                 - call nebuchadnezzar.exe+15DDE0
nebuchadnezzar.exe+590C88: 90                             - nop
nebuchadnezzar.exe+590C89: 48 8B D0                       - mov rdx,rax
nebuchadnezzar.exe+590C8C: 48 8B CB                       - mov rcx,rbx
nebuchadnezzar.exe+590C8F: E8 9C 50 08 00                 - call nebuchadnezzar.exe+615D30
nebuchadnezzar.exe+590C94: 90                             - nop
nebuchadnezzar.exe+590C95: 48 8D 4D A0                    - lea rcx,[rbp-60]
nebuchadnezzar.exe+590C99: E8 B2 AC B9 FF                 - call nebuchadnezzar.exe+12B950
nebuchadnezzar.exe+590C9E: 44 89 B3 F8 00 00 00           - mov [rbx+000000F8],r14d
nebuchadnezzar.exe+590CA5: C7 83 20 01 00 00 00 00 00 00  - mov [rbx+00000120],00000000
nebuchadnezzar.exe+590CAF: 41 FF C7                       - inc r15d
nebuchadnezzar.exe+590CB2: 49 83 C5 04                    - add r13,04
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>99</ID>
          <Description>"Minimum Value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>minResourceVal</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>140</ID>
      <Description>"Set Minimum Resource for Building"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
    Game    : nebuchadnezzar.exe
    Version    :
    Date    : 2021-02-20
    Author    : aSwedishMagyar
}
[ENABLE]
aobscanmodule(minimumBuildingVal,nebuchadnezzar.exe,42 8B 14 01 42 2B 14 00 85)
registersymbol(minimumBuildingVal)
registersymbol(minResourceBuildingVal)
alloc(newminimumBuildingVal,100,minimumBuildingVal)
label(codeminimumBuildingVal)
label(returnminimumBuildingVal)
label(minResourceBuildingVal)
newminimumBuildingVal:
  mov edx,[rcx+r8]
  cmp edx,[minResourceBuildingVal]
  jae codeminimumBuildingVal
  mov edx,[minResourceBuildingVal]
  mov [rcx+r8],edx
codeminimumBuildingVal:
  sub edx,[rax+r8]
  jmp returnminimumBuildingVal
minResourceBuildingVal:
  dd 5
minimumBuildingVal:
  jmp newminimumBuildingVal
  nop 3
returnminimumBuildingVal:

[DISABLE]
minimumBuildingVal:
  db 42 8B 14 01 42 2B 14 00

unregistersymbol(minimumBuildingVal)
unregistersymbol(minResourceBuildingVal)
dealloc(newminimumBuildingVal)

{
// ORIGINAL CODE - INJECTION POINT: nebuchadnezzar.exe+6679F9

nebuchadnezzar.exe+6679B1: 49 8B CF                 - mov rcx,r15
nebuchadnezzar.exe+6679B4: 4C 8D 44 24 20           - lea r8,[rsp+20]
nebuchadnezzar.exe+6679B9: 48 8B D0                 - mov rdx,rax
nebuchadnezzar.exe+6679BC: E8 EF BE AF FF           - call nebuchadnezzar.exe+1638B0
nebuchadnezzar.exe+6679C1: 48 83 C3 04              - add rbx,04
nebuchadnezzar.exe+6679C5: 48 3B DF                 - cmp rbx,rdi
nebuchadnezzar.exe+6679C8: 75 A8                    - jne nebuchadnezzar.exe+667972
nebuchadnezzar.exe+6679CA: 48 8B 5C 24 58           - mov rbx,[rsp+58]
nebuchadnezzar.exe+6679CF: 48 8B 74 24 60           - mov rsi,[rsp+60]
nebuchadnezzar.exe+6679D4: 48 83 C4 30              - add rsp,30
nebuchadnezzar.exe+6679D8: 41 5F                    - pop r15
nebuchadnezzar.exe+6679DA: 41 5E                    - pop r14
nebuchadnezzar.exe+6679DC: 5F                       - pop rdi
nebuchadnezzar.exe+6679DD: C3                       - ret
nebuchadnezzar.exe+6679DE: CC                       - int 3
nebuchadnezzar.exe+6679DF: CC                       - int 3
nebuchadnezzar.exe+6679E0: 48 63 C2                 - movsxd  rax,edx
nebuchadnezzar.exe+6679E3: 4C 8D 04 85 00 00 00 00  - lea r8,[rax*4+00000000]
nebuchadnezzar.exe+6679EB: 48 8B 81 E0 00 00 00     - mov rax,[rcx+000000E0]
nebuchadnezzar.exe+6679F2: 48 8B 89 98 00 00 00     - mov rcx,[rcx+00000098]
// ---------- INJECTING HERE ----------
nebuchadnezzar.exe+6679F9: 42 8B 14 01              - mov edx,[rcx+r8]
// ---------- DONE INJECTING  ----------
nebuchadnezzar.exe+6679FD: 42 2B 14 00              - sub edx,[rax+r8]
nebuchadnezzar.exe+667A01: 85 D2                    - test edx,edx
nebuchadnezzar.exe+667A03: 0F 9F C0                 - setg al
nebuchadnezzar.exe+667A06: C3                       - ret
nebuchadnezzar.exe+667A07: CC                       - int 3
nebuchadnezzar.exe+667A08: CC                       - int 3
nebuchadnezzar.exe+667A09: CC                       - int 3
nebuchadnezzar.exe+667A0A: CC                       - int 3
nebuchadnezzar.exe+667A0B: CC                       - int 3
nebuchadnezzar.exe+667A0C: CC                       - int 3
nebuchadnezzar.exe+667A0D: CC                       - int 3
nebuchadnezzar.exe+667A0E: CC                       - int 3
nebuchadnezzar.exe+667A0F: CC                       - int 3
nebuchadnezzar.exe+667A10: 48 8B 81 28 01 00 00     - mov rax,[rcx+00000128]
nebuchadnezzar.exe+667A17: 4C 63 C2                 - movsxd  r8,edx
nebuchadnezzar.exe+667A1A: 41 80 3C 00 00           - cmp byte ptr [r8+rax],00
nebuchadnezzar.exe+667A1F: 75 03                    - jne nebuchadnezzar.exe+667A24
nebuchadnezzar.exe+667A21: 32 C0                    - xor al,al
nebuchadnezzar.exe+667A23: C3                       - ret
nebuchadnezzar.exe+667A24: 48 8B 01                 - mov rax,[rcx]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>101</ID>
          <Description>"Minimum Value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>minResourceBuildingVal</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry Color="80000008">
      <Description>Change of movss [rcx+000000DC],xmm1</Description>
      <AddressString>nebuchadnezzar.exe+5B7B98</AddressString>
      <Before>
        <Byte>CA</Byte>
        <Byte>F3</Byte>
        <Byte>0F</Byte>
        <Byte>5E</Byte>
        <Byte>C2</Byte>
      </Before>
      <Actual>
        <Byte>F3</Byte>
        <Byte>0F</Byte>
        <Byte>11</Byte>
        <Byte>89</Byte>
        <Byte>DC</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>F3</Byte>
        <Byte>0F</Byte>
        <Byte>11</Byte>
        <Byte>81</Byte>
        <Byte>D8</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
</CheatTable>
 
Top