673
"Set Population Cap"
Auto Assembler Script
[ENABLE]
aobscanmodule(dwarfcap,CraftWorld.exe,8B 40 08 3B C7)
alloc(newmem,$1000)
label(code)
label(return)
label(dwarfcap_val)
newmem:
code:
mov eax,[dwarfcap_val]
cmp eax,edi
jmp return
dwarfcap_val:
dd #20
dwarfcap:
jmp code
return:
registersymbol(dwarfcap)
registersymbol(dwarfcap_val)
[DISABLE]
dwarfcap:
db 8B 40 08 3B C7
unregistersymbol(dwarfcap)
unregistersymbol(dwarfcap_val)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+1CCDE0
"CraftWorld.exe"+1CCDBB: 8B 40 08 - mov eax,[eax+08]
"CraftWorld.exe"+1CCDBE: 83 78 0C 00 - cmp dword ptr [eax+0C],00
"CraftWorld.exe"+1CCDC2: 0F 85 5E 01 00 00 - jne CraftWorld.exe+1CCF26
"CraftWorld.exe"+1CCDC8: 8B CE - mov ecx,esi
"CraftWorld.exe"+1CCDCA: E8 21 0F 00 00 - call CraftWorld.exe+1CDCF0
"CraftWorld.exe"+1CCDCF: 8B 7E 08 - mov edi,[esi+08]
"CraftWorld.exe"+1CCDD2: 8B CE - mov ecx,esi
"CraftWorld.exe"+1CCDD4: 03 F8 - add edi,eax
"CraftWorld.exe"+1CCDD6: E8 85 18 00 00 - call CraftWorld.exe+1CE660
"CraftWorld.exe"+1CCDDB: E8 A0 C9 E8 FF - call CraftWorld.exe+59780
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+1CCDE0: 8B 40 08 - mov eax,[eax+08]
"CraftWorld.exe"+1CCDE3: 3B C7 - cmp eax,edi
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+1CCDE5: 0F 8E 3B 01 00 00 - jng CraftWorld.exe+1CCF26
"CraftWorld.exe"+1CCDEB: 0F 57 C0 - xorps xmm0,xmm0
"CraftWorld.exe"+1CCDEE: 90 - nop
"CraftWorld.exe"+1CCDEF: 90 - nop
"CraftWorld.exe"+1CCDF0: 8D 4D D8 - lea ecx,[ebp-28]
"CraftWorld.exe"+1CCDF3: F3 0F 5C 05 84 B6 E3 00 - subss xmm0,[CraftWorld.exe+3BB684]
"CraftWorld.exe"+1CCDFB: 6A 01 - push 01
"CraftWorld.exe"+1CCDFD: 68 74 D4 E2 00 - push CraftWorld.exe+3AD474
"CraftWorld.exe"+1CCE02: F3 0F 11 46 14 - movss [esi+14],xmm0
"CraftWorld.exe"+1CCE07: E8 D4 4B E6 FF - call CraftWorld.exe+319E0
}
674
"Population Cap"
4 Bytes
dwarfcap_val
670
"Disable Respawn Timer"
Auto Assembler Script
[ENABLE]
aobscanmodule(respawn,CraftWorld.exe,F3 0F 10 46 14 8D)
respawn:
db 0F 57 C0 90 90
registersymbol(respawn)
[DISABLE]
respawn:
db F3 0F 10 46 14
unregistersymbol(respawn)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+1CCDEB
"CraftWorld.exe"+1CCDC8: 8B CE - mov ecx,esi
"CraftWorld.exe"+1CCDCA: E8 21 0F 00 00 - call CraftWorld.exe+1CDCF0
"CraftWorld.exe"+1CCDCF: 8B 7E 08 - mov edi,[esi+08]
"CraftWorld.exe"+1CCDD2: 8B CE - mov ecx,esi
"CraftWorld.exe"+1CCDD4: 03 F8 - add edi,eax
"CraftWorld.exe"+1CCDD6: E8 85 18 00 00 - call CraftWorld.exe+1CE660
"CraftWorld.exe"+1CCDDB: E8 A0 C9 E8 FF - call CraftWorld.exe+59780
"CraftWorld.exe"+1CCDE0: 8B 40 08 - mov eax,[eax+08]
"CraftWorld.exe"+1CCDE3: 3B C7 - cmp eax,edi
"CraftWorld.exe"+1CCDE5: 0F 8E 3B 01 00 00 - jng CraftWorld.exe+1CCF26
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+1CCDEB: F3 0F 10 46 14 - movss xmm0,[esi+14]
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+1CCDF0: 8D 4D D8 - lea ecx,[ebp-28]
"CraftWorld.exe"+1CCDF3: F3 0F 5C 05 84 B6 E3 00 - subss xmm0,[CraftWorld.exe+3BB684]
"CraftWorld.exe"+1CCDFB: 6A 01 - push 01
"CraftWorld.exe"+1CCDFD: 68 74 D4 E2 00 - push CraftWorld.exe+3AD474
"CraftWorld.exe"+1CCE02: F3 0F 11 46 14 - movss [esi+14],xmm0
"CraftWorld.exe"+1CCE07: E8 D4 4B E6 FF - call CraftWorld.exe+319E0
"CraftWorld.exe"+1CCE0C: C7 45 FC 02 00 00 00 - mov [ebp-04],00000002
"CraftWorld.exe"+1CCE13: F3 0F 2C 4E 14 - cvttss2si ecx,[esi+14]
"CraftWorld.exe"+1CCE18: 51 - push ecx
"CraftWorld.exe"+1CCE19: 8B C8 - mov ecx,eax
}
686
"Unlimited Mana"
Auto Assembler Script
[ENABLE]
aobscanmodule(mana,CraftWorld.exe,0F 5B C9 F3 0F 58 C8 E8)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
cmp [ebp+08],0
jg code
xorps xmm1,xmm1
code:
cvtdq2ps xmm1,xmm1
addss xmm1,xmm0
jmp return
mana:
jmp newmem
nop
nop
return:
registersymbol(mana)
[DISABLE]
mana:
db 0F 5B C9 F3 0F 58 C8
unregistersymbol(mana)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+1998B4
"CraftWorld.exe"+199896: A1 70 91 E8 00 - mov eax,[CraftWorld.exe+409170]
"CraftWorld.exe"+19989B: 33 C5 - xor eax,ebp
"CraftWorld.exe"+19989D: 89 45 F8 - mov [ebp-08],eax
"CraftWorld.exe"+1998A0: 56 - push esi
"CraftWorld.exe"+1998A1: 57 - push edi
"CraftWorld.exe"+1998A2: 8B F9 - mov edi,ecx
"CraftWorld.exe"+1998A4: 8D 4F 50 - lea ecx,[edi+50]
"CraftWorld.exe"+1998A7: E8 D4 86 EF FF - call CraftWorld.exe+91F80
"CraftWorld.exe"+1998AC: 66 0F 6E 4D 08 - movd xmm1,[ebp+08]
"CraftWorld.exe"+1998B1: 8D 4D E8 - lea ecx,[ebp-18]
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+1998B4: 0F 5B C9 - cvtdq2ps xmm1,xmm1
"CraftWorld.exe"+1998B7: F3 0F 58 C8 - addss xmm1,xmm0
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+1998BB: E8 F0 46 01 00 - call CraftWorld.exe+1ADFB0
"CraftWorld.exe"+1998C0: F3 0F 6F 45 E8 - movdqu xmm0,[ebp-18]
"CraftWorld.exe"+1998C5: 8D 4F 50 - lea ecx,[edi+50]
"CraftWorld.exe"+1998C8: F3 0F 7F 47 50 - movdqu [edi+50],xmm0
"CraftWorld.exe"+1998CD: E8 AE 86 EF FF - call CraftWorld.exe+91F80
"CraftWorld.exe"+1998D2: 8D 4F 40 - lea ecx,[edi+40]
"CraftWorld.exe"+1998D5: F3 0F 11 45 E4 - movss [ebp-1C],xmm0
"CraftWorld.exe"+1998DA: E8 A1 86 EF FF - call CraftWorld.exe+91F80
"CraftWorld.exe"+1998DF: F3 0F 10 4D E4 - movss xmm1,[ebp-1C]
"CraftWorld.exe"+1998E4: 0F 2F C8 - comiss xmm1,xmm0
}
677
"Unlimited Resources"
Auto Assembler Script
[ENABLE]
aobscanmodule(inventory,CraftWorld.exe,03 DE 89 74 24 24)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
cmp ebx,0
jg code
xor ebx,ebx
code:
add ebx,esi
mov [esp+24],esi
jmp return
inventory:
jmp newmem
nop
return:
registersymbol(inventory)
[DISABLE]
inventory:
db 03 DE 89 74 24 24
unregistersymbol(inventory)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+105F51
"CraftWorld.exe"+105F2A: 03 C2 - add eax,edx
"CraftWorld.exe"+105F2C: 3B F0 - cmp esi,eax
"CraftWorld.exe"+105F2E: 0F 8D C3 02 00 00 - jnl CraftWorld.exe+1061F7
"CraftWorld.exe"+105F34: A1 5C D1 E9 00 - mov eax,[CraftWorld.exe+41D15C]
"CraftWorld.exe"+105F39: 69 FE F8 01 00 00 - imul edi,esi,000001F8
"CraftWorld.exe"+105F3F: 03 78 20 - add edi,[eax+20]
"CraftWorld.exe"+105F42: 0F 84 AF 02 00 00 - je CraftWorld.exe+1061F7
"CraftWorld.exe"+105F48: 8B CF - mov ecx,edi
"CraftWorld.exe"+105F4A: E8 E1 2F 14 00 - call CraftWorld.exe+248F30
"CraftWorld.exe"+105F4F: 8B F0 - mov esi,eax
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+105F51: 03 DE - add ebx,esi
"CraftWorld.exe"+105F53: 89 74 24 24 - mov [esp+24],esi
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+105F57: 0F 88 9A 02 00 00 - js CraftWorld.exe+1061F7
"CraftWorld.exe"+105F5D: 80 BF 94 01 00 00 00 - cmp byte ptr [edi+00000194],00
"CraftWorld.exe"+105F64: 0F 84 8D 02 00 00 - je CraftWorld.exe+1061F7
"CraftWorld.exe"+105F6A: 68 B5 00 00 00 - push 000000B5
"CraftWorld.exe"+105F6F: 8D 44 24 20 - lea eax,[esp+20]
"CraftWorld.exe"+105F73: 8B CF - mov ecx,edi
"CraftWorld.exe"+105F75: 50 - push eax
"CraftWorld.exe"+105F76: E8 E5 C6 F2 FF - call CraftWorld.exe+32660
"CraftWorld.exe"+105F7B: 8B C8 - mov ecx,eax
"CraftWorld.exe"+105F7D: E8 FE C6 F2 FF - call CraftWorld.exe+32680
}
617
"Instant Tech Tree"
Auto Assembler Script
[ENABLE]
//CraftWorld.AI::Update+1B0
aobscanmodule(techtree,CraftWorld.exe,F3 0F 10 47 6C F3 0F 58)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
mov [edi+6C],(float)1.0
movss xmm0,[edi+6C]
jmp return
techtree:
jmp code
return:
registersymbol(techtree)
[DISABLE]
techtree:
db F3 0F 10 47 6C
unregistersymbol(techtree)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+1B6E30
"CraftWorld.exe"+1B6E0D: 8B 4F 48 - mov ecx,[edi+48]
"CraftWorld.exe"+1B6E10: 2B 4F 44 - sub ecx,[edi+44]
"CraftWorld.exe"+1B6E13: C1 F9 02 - sar ecx,02
"CraftWorld.exe"+1B6E16: E8 E5 FC FF FF - call CraftWorld.exe+1B6B00
"CraftWorld.exe"+1B6E1B: 80 7D 08 00 - cmp byte ptr [ebp+08],00
"CraftWorld.exe"+1B6E1F: 0F 28 D0 - movaps xmm2,xmm0
"CraftWorld.exe"+1B6E22: 74 0C - je CraftWorld.exe+1B6E30
"CraftWorld.exe"+1B6E24: 66 0F 6E 4B 78 - movd xmm1,[ebx+78]
"CraftWorld.exe"+1B6E29: 0F 5B C9 - cvtdq2ps xmm1,xmm1
"CraftWorld.exe"+1B6E2C: F3 0F 5E D1 - divss xmm2,xmm1
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+1B6E30: F3 0F 10 47 6C - movss xmm0,[edi+6C]
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+1B6E35: F3 0F 58 C2 - addss xmm0,xmm2
"CraftWorld.exe"+1B6E39: 0F 2F 05 28 01 5D 01 - comiss xmm0,[CraftWorld.exe+300128]
"CraftWorld.exe"+1B6E40: F3 0F 11 47 6C - movss [edi+6C],xmm0
"CraftWorld.exe"+1B6E45: 72 0B - jb CraftWorld.exe+1B6E52
"CraftWorld.exe"+1B6E47: E8 04 80 E8 FF - call CraftWorld.exe+3EE50
"CraftWorld.exe"+1B6E4C: 57 - push edi
"CraftWorld.exe"+1B6E4D: E8 7E 5D 00 00 - call CraftWorld.exe+1BCBD0
"CraftWorld.exe"+1B6E52: C7 45 B4 00 00 00 00 - mov [ebp-4C],00000000
"CraftWorld.exe"+1B6E59: C7 45 B8 00 00 00 00 - mov [ebp-48],00000000
"CraftWorld.exe"+1B6E60: C7 45 BC 00 00 00 00 - mov [ebp-44],00000000
}
689
"Unlimited Health"
Auto Assembler Script
[ENABLE]
//CraftWorld.Worker::UpdateHealtSatiety+185
aobscanmodule(health,CraftWorld.exe,76 * 8D 8E * * * * E8 * * * * 0F)
alloc(health_bkp,2)
health_bkp:
readmem(health,2)
health:
db 90 90
registersymbol(health)
registersymbol(health_bkp)
[DISABLE]
health:
readmem(health_bkp,2)
unregistersymbol(health)
unregistersymbol(health_bkp)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+223CC5
"CraftWorld.exe"+223C96: F3 0F 59 4D D0 - mulss xmm1,[ebp-30]
"CraftWorld.exe"+223C9B: E8 F0 B8 FB FF - call CraftWorld.exe+1DF590
"CraftWorld.exe"+223CA0: 8D BE C0 00 00 00 - lea edi,[esi+000000C0]
"CraftWorld.exe"+223CA6: 8B CF - mov ecx,edi
"CraftWorld.exe"+223CA8: E8 93 8E E1 FF - call CraftWorld.exe+3CB40
"CraftWorld.exe"+223CAD: 8D 8E F0 00 00 00 - lea ecx,[esi+000000F0]
"CraftWorld.exe"+223CB3: F3 0F 11 45 D4 - movss [ebp-2C],xmm0
"CraftWorld.exe"+223CB8: E8 83 8E E1 FF - call CraftWorld.exe+3CB40
"CraftWorld.exe"+223CBD: F3 0F 10 4D D4 - movss xmm1,[ebp-2C]
"CraftWorld.exe"+223CC2: 0F 2F C8 - comiss xmm1,xmm0
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+223CC5: 76 25 - jna CraftWorld.exe+223CEC
"CraftWorld.exe"+223CC7: 8D 8E F0 00 00 00 - lea ecx,[esi+000000F0]
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+223CCD: E8 6E 8E E1 FF - call CraftWorld.exe+3CB40
"CraftWorld.exe"+223CD2: 0F 28 C8 - movaps xmm1,xmm0
"CraftWorld.exe"+223CD5: 8D 4D DC - lea ecx,[ebp-24]
"CraftWorld.exe"+223CD8: E8 23 C1 F8 FF - call CraftWorld.exe+1AFE00
"CraftWorld.exe"+223CDD: F3 0F 6F 45 DC - movdqu xmm0,[ebp-24]
"CraftWorld.exe"+223CE2: 8B 45 EC - mov eax,[ebp-14]
"CraftWorld.exe"+223CE5: F3 0F 7F 07 - movdqu [edi],xmm0
"CraftWorld.exe"+223CE9: 89 47 10 - mov [edi+10],eax
"CraftWorld.exe"+223CEC: 8D 8E D4 00 00 00 - lea ecx,[esi+000000D4]
"CraftWorld.exe"+223CF2: E8 49 8E E1 FF - call CraftWorld.exe+3CB40
}
697
"Disable Hunger"
Auto Assembler Script
[ENABLE]
//CraftWorld.Worker::UpdateHealtSatiety+D8
aobscanmodule(hunger,CraftWorld.exe,F3 0F 59 4D D0 8D)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
dd (float)-0.01
code:
movss xmm1,[newmem]
jmp return
hunger:
jmp code
return:
registersymbol(hunger)
[DISABLE]
hunger:
db F3 0F 59 4D D0
unregistersymbol(hunger)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+223C18
"CraftWorld.exe"+223BEA: C7 45 FC 01 00 00 00 - mov [ebp-04],00000001
"CraftWorld.exe"+223BF1: 85 C0 - test eax,eax
"CraftWorld.exe"+223BF3: 74 07 - je CraftWorld.exe+223BFC
"CraftWorld.exe"+223BF5: 8B C8 - mov ecx,eax
"CraftWorld.exe"+223BF7: E8 14 19 F5 FF - call CraftWorld.exe+175510
"CraftWorld.exe"+223BFC: C7 45 FC FF FF FF FF - mov [ebp-04],FFFFFFFF
"CraftWorld.exe"+223C03: A1 B4 82 19 01 - mov eax,[CraftWorld.exe+4282B4]
"CraftWorld.exe"+223C08: F3 0F 10 05 DC F9 12 01 - movss xmm0,[CraftWorld.exe+3BF9DC]
"CraftWorld.exe"+223C10: 0F 28 C8 - movaps xmm1,xmm0
"CraftWorld.exe"+223C13: F3 0F 5E 48 20 - divss xmm1,[eax+20]
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+223C18: F3 0F 59 4D D0 - mulss xmm1,[ebp-30]
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+223C1D: 8D 8E D4 00 00 00 - lea ecx,[esi+000000D4]
"CraftWorld.exe"+223C23: E8 58 EF F9 FF - call CraftWorld.exe+1C2B80
"CraftWorld.exe"+223C28: 83 BE 98 02 00 00 05 - cmp dword ptr [esi+00000298],05
"CraftWorld.exe"+223C2F: 74 6F - je CraftWorld.exe+223CA0
"CraftWorld.exe"+223C31: 8D 8E D4 00 00 00 - lea ecx,[esi+000000D4]
"CraftWorld.exe"+223C37: E8 04 8F E1 FF - call CraftWorld.exe+3CB40
"CraftWorld.exe"+223C3C: 0F 2F 05 58 FA 12 01 - comiss xmm0,[CraftWorld.exe+3BFA58]
"CraftWorld.exe"+223C43: 76 5B - jna CraftWorld.exe+223CA0
"CraftWorld.exe"+223C45: 8D 8E C0 00 00 00 - lea ecx,[esi+000000C0]
"CraftWorld.exe"+223C4B: E8 F0 8E E1 FF - call CraftWorld.exe+3CB40
}
701
"Increase Running Speed"
Auto Assembler Script
[ENABLE]
//CraftWorld.Worker::Update+14AA
aobscanmodule(run,CraftWorld.exe,D9 9F 30 01 00 00)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
//fstp dword ptr [edi+00000130]
fstp st(0)
mov dword ptr [edi+00000130],(float)3
jmp return
run:
jmp code
nop
return:
registersymbol(run)
[DISABLE]
run:
db D9 9F 30 01 00 00
unregistersymbol(run)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+2213FA
"CraftWorld.exe"+2213CE: 90 - nop
"CraftWorld.exe"+2213CF: 90 - nop
"CraftWorld.exe"+2213D0: EB 0A - jmp CraftWorld.exe+2213DC
"CraftWorld.exe"+2213D2: C7 87 30 01 00 00 00 00 C0 3F - mov [edi+00000130],3FC00000
"CraftWorld.exe"+2213DC: 8B 87 F4 04 00 00 - mov eax,[edi+000004F4]
"CraftWorld.exe"+2213E2: 8D 8F F4 04 00 00 - lea ecx,[edi+000004F4]
"CraftWorld.exe"+2213E8: 8B 40 0C - mov eax,[eax+0C]
"CraftWorld.exe"+2213EB: FF D0 - call eax
"CraftWorld.exe"+2213ED: 80 BF 54 01 00 00 00 - cmp byte ptr [edi+00000154],00
"CraftWorld.exe"+2213F4: D8 8F 30 01 00 00 - fmul dword ptr [edi+00000130]
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+2213FA: D9 9F 30 01 00 00 - fstp dword ptr [edi+00000130]
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+221400: 74 7C - je CraftWorld.exe+22147E
"CraftWorld.exe"+221402: F3 0F 10 05 DC F9 12 01 - movss xmm0,[CraftWorld.exe+3BF9DC]
"CraftWorld.exe"+22140A: 8B CF - mov ecx,edi
"CraftWorld.exe"+22140C: F3 0F 5E 87 50 08 00 00 - divss xmm0,[edi+00000850]
"CraftWorld.exe"+221414: 68 D6 00 00 00 - push 000000D6
"CraftWorld.exe"+221419: F3 0F 11 44 24 14 - movss [esp+14],xmm0
"CraftWorld.exe"+22141F: E8 BC 34 02 00 - call CraftWorld.exe+2448E0
"CraftWorld.exe"+221424: 68 D6 00 00 00 - push 000000D6
"CraftWorld.exe"+221429: 8D 8F 2C 06 00 00 - lea ecx,[edi+0000062C]
"CraftWorld.exe"+22142F: F3 0F 11 44 24 18 - movss [esp+18],xmm0
}
702
"Increase Climbing Speed"
Auto Assembler Script
[ENABLE]
//CraftWorld.Worker::Update+15A8
aobscanmodule(climbing,CraftWorld.exe,F3 0F 11 87 30 01 00 00 8B)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
mov [edi+00000130],(float)3
jmp return
climbing:
jmp code
nop
nop
nop
return:
registersymbol(climbing)
[DISABLE]
climbing:
db F3 0F 11 87 30 01 00 00
unregistersymbol(climbing)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+2214F8
"CraftWorld.exe"+2214CE: F3 0F 59 05 EC F8 12 01 - mulss xmm0,[CraftWorld.exe+3BF8EC]
"CraftWorld.exe"+2214D6: 0F 2E 05 B0 F8 12 01 - ucomiss xmm0,[CraftWorld.exe+3BF8B0]
"CraftWorld.exe"+2214DD: 9F - lahf
"CraftWorld.exe"+2214DE: F6 C4 44 - test ah,44
"CraftWorld.exe"+2214E1: 7B 0E - jnp CraftWorld.exe+2214F1
"CraftWorld.exe"+2214E3: F3 0F 58 05 DC F9 12 01 - addss xmm0,[CraftWorld.exe+3BF9DC]
"CraftWorld.exe"+2214EB: F3 0F 59 C1 - mulss xmm0,xmm1
"CraftWorld.exe"+2214EF: EB 03 - jmp CraftWorld.exe+2214F4
"CraftWorld.exe"+2214F1: 0F 28 C1 - movaps xmm0,xmm1
"CraftWorld.exe"+2214F4: F3 0F 5E C1 - divss xmm0,xmm1
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+2214F8: F3 0F 11 87 30 01 00 00 - movss [edi+00000130],xmm0
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+221500: 8B CF - mov ecx,edi
"CraftWorld.exe"+221502: E8 29 2D 00 00 - call CraftWorld.exe+224230
"CraftWorld.exe"+221507: F3 0F 10 45 08 - movss xmm0,[ebp+08]
"CraftWorld.exe"+22150C: 51 - push ecx
"CraftWorld.exe"+22150D: 8B CF - mov ecx,edi
"CraftWorld.exe"+22150F: F3 0F 11 04 24 - movss [esp],xmm0
"CraftWorld.exe"+221514: E8 77 17 F9 FF - call CraftWorld.exe+1B2C90
"CraftWorld.exe"+221519: 83 BF 98 02 00 00 09 - cmp dword ptr [edi+00000298],09
"CraftWorld.exe"+221520: 0F 85 D8 00 00 00 - jne CraftWorld.exe+2215FE
"CraftWorld.exe"+221526: 80 BF 94 02 00 00 00 - cmp byte ptr [edi+00000294],00
}
664
"Reveal Entire Map"
Auto Assembler Script
[ENABLE]
aobscanmodule(revealmap,CraftWorld.exe,74278B4508C74004FF000000C74008FF000000C7400CFF000000C700 * * * * 5F5E5B8BE55DC208008B5D0C8B8F)
revealmap:
db 90 90
registersymbol(revealmap)
[DISABLE]
revealmap:
db 74 27
unregistersymbol(revealmap)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+BD8C2
"CraftWorld.exe"+BD8AC: C2 08 00 - ret 0008
"CraftWorld.exe"+BD8AF: CC - int 3
"CraftWorld.exe"+BD8B0: 55 - push ebp
"CraftWorld.exe"+BD8B1: 8B EC - mov ebp,esp
"CraftWorld.exe"+BD8B3: 83 EC 24 - sub esp,24
"CraftWorld.exe"+BD8B6: 80 3D A5 02 2C 01 00 - cmp byte ptr [CraftWorld.exe+3902A5],00
"CraftWorld.exe"+BD8BD: 53 - push ebx
"CraftWorld.exe"+BD8BE: 56 - push esi
"CraftWorld.exe"+BD8BF: 57 - push edi
"CraftWorld.exe"+BD8C0: 8B F9 - mov edi,ecx
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+BD8C2: 74 27 - je CraftWorld.exe+BD8EB
"CraftWorld.exe"+BD8C4: 8B 45 08 - mov eax,[ebp+08]
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+BD8C7: C7 40 04 FF 00 00 00 - mov [eax+04],000000FF
"CraftWorld.exe"+BD8CE: C7 40 08 FF 00 00 00 - mov [eax+08],000000FF
"CraftWorld.exe"+BD8D5: C7 40 0C FF 00 00 00 - mov [eax+0C],000000FF
"CraftWorld.exe"+BD8DC: C7 00 84 34 25 01 - mov [eax],CraftWorld.exe+323484
"CraftWorld.exe"+BD8E2: 5F - pop edi
"CraftWorld.exe"+BD8E3: 5E - pop esi
"CraftWorld.exe"+BD8E4: 5B - pop ebx
"CraftWorld.exe"+BD8E5: 8B E5 - mov esp,ebp
"CraftWorld.exe"+BD8E7: 5D - pop ebp
"CraftWorld.exe"+BD8E8: C2 08 00 - ret 0008
}
659
"Remove Fog of War"
Auto Assembler Script
[ENABLE]
//CraftWorld.WorldColor::GetPointcolor+136
aobscanmodule(light,CraftWorld.exe,8B 48 08 8B 40 0C EB)
light+6:
db 90 90
registersymbol(light)
[DISABLE]
light+6:
db EB 11
unregistersymbol(light)
629
"Ignore This"
1
569
"Auto Equip (old)"
Auto Assembler Script
[ENABLE]
// "CraftWorld.exe"+1D3722
aobscanmodule(equipment,CraftWorld.exe,8B 33 89 45 E8)
alloc(newmem,$1000)
label(code)
label(return)
label(original)
label(helm)
label(boots)
label(chest)
label(pickaxe)
label(axe)
label(weapon)
label(backpack)
newmem:
helm:
// #239 Mithril
// #240 Santa's Hat
// #242 Jason Mask
mov [ebx],#242
jmp original
boots:
// #250 Mithril
mov [ebx],#250
jmp original
chest:
// #259 Mithril
// #260 Santa's Coat
mov [ebx],#259
jmp original
pickaxe:
// #75 Mithril
mov [ebx],#75
jmp original
axe:
// #70 Mithril
mov [ebx],#70
jmp original
weapon:
// #79 Mithril Sword
// #82 Mithril Hammer
// #85 Heavy Bow
// #88 Mithril Staff
mov [ebx],#88
jmp original
backpack:
// #277 Tough Backpack
mov [ebx],#277
jmp original
code:
cmp edi,0
je helm
cmp edi,1
je boots
cmp edi,2
je chest
cmp edi,3
je pickaxe
cmp edi,4
je axe
cmp edi,5
je weapon
cmp edi,6
je backpack
original:
mov esi,[ebx]
mov [ebp-18],eax
jmp return
equipment:
jmp code
return:
registersymbol(equipment)
[DISABLE]
equipment:
db 8B 33 89 45 E8
unregistersymbol(equipment)
dealloc(newmem)
631
"Unit Variables"
Auto Assembler Script
[ENABLE]
alloc(unit,4)
registersymbol(unit)
[DISABLE]
dealloc(unit)
unregistersymbol(unit)
632
"Base Pointer"
1
4 Bytes
unit
635
"Unit Type"
String
32
0
1
unit
78
636
"Current Health"
Float
unit
B8
639
"Maximum Health"
Float
unit
C8
634
"Previous Health ???"
Float
unit
54
637
"Hunger"
Float
unit
BC
630
"Speed Ratio"
Float
unit
F0
642
"Unit Scale"
Float
unit
1C
638
"Refresh Bars ???"
Float
unit
C4
640
"???"
Float
unit
E8
641
"???"
Float
unit
F4
643
"???"
4 Bytes
unit
58
644
"???"
4 Bytes
unit
14
645
"???"
4 Bytes
unit
A8
646
"???"
4 Bytes
unit
B0
647
"???"
4 Bytes
unit
B4
648
"???"
4 Bytes
unit
C0
649
"???"
4 Bytes
unit
CC
650
"Allowable Fall Height ???"
4 Bytes
unit
D0
651
"Animation FPS"
4 Bytes
unit
D4
652
"Draw Y Offset"
4 Bytes
unit
DC
653
"???"
4 Bytes
unit
E0
654
"???"
4 Bytes
unit
E4
65
"Disable Respawn Timer"
Auto Assembler Script
[ENABLE]
//CraftWorld.AIManager::SpawnWorkers+CE
registersymbol(respawntimer)
aobscan(respawntimer, F3 0F 10 47 0C 8D 4D D8)
respawntimer:
db 0F 57 C0 90 90
[DISABLE]
respawntimer:
db F3 0F 10 47 0C
unregistersymbol(respawntimer)
52
"Increase Population"
Auto Assembler Script
[ENABLE]
//CraftWorld.AIManager::SpawnWorkers+C5
registersymbol(dwarfcap)
aobscan(dwarfcap, 39 70 08 0F 8E)
dwarfcap:
db 83 FE 14 0F 8D
[DISABLE]
dwarfcap:
db 39 70 08 0F 8E
unregistersymbol(dwarfcap)
628
"Population Cap"
Byte
dwarfcap+2
574
"Unlimited Resourcs"
Auto Assembler Script
[ENABLE]
//CraftWorld.World::ChangeResourceCount+147
aobscanmodule(resources,CraftWorld.exe,01 9F * * * * 8D 44 24 18 8B 35)
alloc(newmem,$1000)
alloc(resources_save,6)
label(code)
label(return)
resources_save:
readmem(resources,6)
newmem:
code:
or ebx,ebx
js return
//add [edi+00000170],ebx
readmem(resources,6)
jmp return
resources:
jmp code
nop
return:
registersymbol(resources)
registersymbol(resources_save)
[DISABLE]
resources:
readmem(resources_save,6)
unregistersymbol(resources)
unregistersymbol(resources_save)
dealloc(newmem)
dealloc(resources_save)
572
"Full Resources"
Auto Assembler Script
[ENABLE]
//CraftWorld.AIManager::GetcountRes+FE
aobscanmodule(inventory,CraftWorld.exe,8B 45 * 8B 88 * * * * 85 C9 7E * 80 78 * 00)
alloc(newmem,$1000)
alloc(inventory_save,6)
label(code)
label(return)
inventory_save:
readmem(inventory+3,6)
newmem:
code:
db C7 80
readmem(inventory+5,4)
dd #100
readmem(inventory+3,6)
jmp return
inventory+03:
jmp code
nop
return:
registersymbol(inventory)
registersymbol(inventory_save)
[DISABLE]
inventory+03:
readmem(inventory_save,6)
unregistersymbol(inventory)
unregistersymbol(inventory_save)
dealloc(newmem)
dealloc(inventory_save)
614
"Unlimited Mana"
Auto Assembler Script
[ENABLE]
//CraftWorld.Game::ChangeMana+6
aobscanmodule(mana,CraftWorld.exe,08 F3 0F 10 49 * 66 0F 6E C0 0F 5B C0 F3 0F 58 41)
mana+0D:
db F3 0F 10 C1 90
registersymbol(mana)
[DISABLE]
mana+0D:
db F3 0F 58 41 24
unregistersymbol(mana)
618
"Equipment (open equipment window)"
Auto Assembler Script
[ENABLE]
//CraftWorld.CharInvDialog::CreateWorkerAni+189
aobscanmodule(equipment,CraftWorld.exe,8B 33 89 45 E8)
alloc(newmem,$1000)
alloc(equipment_ptr,28)
label(code)
label(return)
newmem:
code:
mov [equipment_ptr+edi*4],ebx
mov esi,[ebx]
mov [ebp-18],eax
jmp return
equipment:
jmp code
return:
registersymbol(equipment)
registersymbol(equipment_ptr)
[DISABLE]
equipment:
db 8B 33 89 45 E8
unregistersymbol(equipment)
unregistersymbol(equipment_ptr)
dealloc(newmem)
dealloc(equipment_ptr)
620
"You can select equipment, freeze the values, and then cycle through each dwarf"
008000
1
621
"Freeze All"
1
619
"Helm"
4 Bytes
equipment_ptr
0
622
"Boots"
4 Bytes
equipment_ptr
4
623
"Chest"
4 Bytes
equipment_ptr
8
624
"Pickaxe"
4 Bytes
equipment_ptr
C
625
"Axe"
4 Bytes
equipment_ptr
10
626
"Weapon"
4 Bytes
equipment_ptr
14
627
"Accessory"
4 Bytes
equipment_ptr
18
54
"Max Skills"
Auto Assembler Script
[ENABLE]
//CraftWorld.CharInvDialog::RefreshSkills+19F
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
registersymbol(maxskill)
aobscan(maxskill, F3 0F 10 40 04 8B 08)
newmem:
mov [eax+04],(float)100.0
originalcode:
movss xmm0,[eax+04]
exit:
jmp returnhere
maxskill:
jmp newmem
returnhere:
[DISABLE]
dealloc(newmem)
maxskill:
movss xmm0,[eax+04]
unregistersymbol(maxskill)
605
"Disable Hunger"
Auto Assembler Script
[ENABLE]
//CraftWorldWorker::UpdateHealtSatiety+EE
aobscanmodule(hunger,CraftWorld.exe,F3 0F 5C C1 F3 0F 11 86 C4 00 00 00)
hunger:
db C7 86 C4 00 00 00 00 00 20 41 90 90
registersymbol(hunger)
[DISABLE]
hunger:
db F3 0F 5C C1 F3 0F 11 86 C4 00 00 00
unregistersymbol(hunger)
663
"Increase Running Speed"
Auto Assembler Script
[ENABLE]
//CraftWorld.Worker::Update+1200
aobscanmodule(running,CraftWorld.exe,F3 0F 5C C1 F3 0F 11 87 30 01 00 00)
running:
db C7 87 00 01 00 00 00 00 40 40 90 90
registersymbol(running)
[DISABLE]
running:
db F3 0F 5C C1 F3 0F 11 87 30 01 00 00
unregistersymbol(running)
{
// ORIGINAL CODE - INJECTION POINT: "CraftWorld.exe"+1BE6D0
"CraftWorld.exe"+1BE69C: 75 0C - jne CraftWorld.exe+1BE6AA
"CraftWorld.exe"+1BE69E: C7 87 00 01 00 00 66 66 A6 3F - mov [edi+00000100],3FA66666
"CraftWorld.exe"+1BE6A8: EB 3E - jmp CraftWorld.exe+1BE6E8
"CraftWorld.exe"+1BE6AA: 8B 87 B4 04 00 00 - mov eax,[edi+000004B4]
"CraftWorld.exe"+1BE6B0: 2B 87 B0 04 00 00 - sub eax,[edi+000004B0]
"CraftWorld.exe"+1BE6B6: F3 0F 10 05 58 B8 68 00 - movss xmm0,[CraftWorld.exe+33B858]
"CraftWorld.exe"+1BE6BE: C1 F8 02 - sar eax,02
"CraftWorld.exe"+1BE6C1: 66 0F 6E C8 - movd xmm1,eax
"CraftWorld.exe"+1BE6C5: 0F 5B C9 - cvtdq2ps xmm1,xmm1
"CraftWorld.exe"+1BE6C8: F3 0F 59 0D C0 B7 68 00 - mulss xmm1,[CraftWorld.exe+33B7C0]
// ---------- INJECTING HERE ----------
"CraftWorld.exe"+1BE6D0: F3 0F 5C C1 - subss xmm0,xmm1
"CraftWorld.exe"+1BE6D4: F3 0F 11 87 00 01 00 00 - movss [edi+00000100],xmm0
// ---------- DONE INJECTING ----------
"CraftWorld.exe"+1BE6DC: EB 0A - jmp CraftWorld.exe+1BE6E8
"CraftWorld.exe"+1BE6DE: C7 87 00 01 00 00 00 00 C0 3F - mov [edi+00000100],3FC00000
"CraftWorld.exe"+1BE6E8: 8B 87 5C 04 00 00 - mov eax,[edi+0000045C]
"CraftWorld.exe"+1BE6EE: 8D 8F 5C 04 00 00 - lea ecx,[edi+0000045C]
"CraftWorld.exe"+1BE6F4: 8B 40 0C - mov eax,[eax+0C]
"CraftWorld.exe"+1BE6F7: FF D0 - call eax
"CraftWorld.exe"+1BE6F9: 80 BF 24 01 00 00 00 - cmp byte ptr [edi+00000124],00
"CraftWorld.exe"+1BE700: D8 8F 00 01 00 00 - fmul dword ptr [edi+00000100]
"CraftWorld.exe"+1BE706: D9 9F 00 01 00 00 - fstp dword ptr [edi+00000100]
"CraftWorld.exe"+1BE70C: 74 7B - je CraftWorld.exe+1BE789
}
FallHack
0040E440
ZeroDamageHack
004744A6
ResourcesHack
00370687
ExperienceMultiplier
04420015
ExperienceHack
003EC9E8
resources3
00E75E4C
resources4
00DD095D
HackZeroManaUsage
00C22F64
ladder
00C91E7D
respawntimer
003245BE
maxskill
003C572F
mana
00F0BA45
inventory
00E78191
techtree
00F22E43
revealmap
00E77172
light
00E8BC46
health
00F93CC5