11
"Active Cheat Table"
Auto Assembler Script
[ENABLE]
{$lua}
LaunchMonoDataCollector()
[DISABLE]
8
"Add Kudos (aka exp points)"
Auto Assembler Script
//Game: PC Building Simulator
//Version: 0.9.2.5
define(address,CareerStatus:AddKudos+50)
define(bytes,48 63 88 A4 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,CareerStatus:AddKudos+50)
label(code)
label(return)
globalalloc(kudos_ptr,8)
newmem:
mov [kudos_ptr],rax
mov [rax+000000A4],1E078 //123000 (level 30)
code:
movsxd rcx,dword ptr [rax+000000A4]
jmp return
address:
jmp newmem
nop
nop
return:
[DISABLE]
address:
db bytes
// movsxd rcx,dword ptr [rax+000000A4]
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: CareerStatus:AddKudos+50
16C28442: 49 BB B0 13 4B 05 00 00 00 00 - mov r11,System:Object:__icall_wrapper_mono_object_new_fast
16C2844C: 41 FF D3 - call r11
16C2844F: 48 83 C4 20 - add rsp,20
16C28453: 48 8B C8 - mov rcx,rax
16C28456: 48 89 4D A0 - mov [rbp-60],rcx
16C2845A: 48 89 78 10 - mov [rax+10],rdi
16C2845E: 48 8B 4F 20 - mov rcx,[rdi+20]
16C28462: 48 63 89 A4 00 00 00 - movsxd rcx,dword ptr [rcx+000000A4]
16C28469: 89 48 18 - mov [rax+18],ecx
16C2846C: 48 8B 47 20 - mov rax,[rdi+20]
// ---------- INJECTING HERE ----------
16C28470: 48 63 88 A4 00 00 00 - movsxd rcx,dword ptr [rax+000000A4]
// ---------- DONE INJECTING ----------
16C28477: 48 83 EC 20 - sub rsp,20
16C2847B: 49 BB 80 ED 01 17 00 00 00 00 - mov r11,LevelProgression:GetZeroIndexedLevel
16C28485: 41 FF D3 - call r11
16C28488: 48 83 C4 20 - add rsp,20
16C2848C: 89 45 C4 - mov [rbp-3C],eax
16C2848F: 48 8B 47 20 - mov rax,[rdi+20]
16C28493: 48 63 88 A4 00 00 00 - movsxd rcx,dword ptr [rax+000000A4]
16C2849A: 03 CE - add ecx,esi
16C2849C: 89 88 A4 00 00 00 - mov [rax+000000A4],ecx
16C284A2: 48 8B 47 20 - mov rax,[rdi+20]
}
9
"Base Address"
String
0
0
0
1
kudos_ptr
0
10
"m_kudos"
4 Bytes
+A4
4
"Add Cash (aka money)"
Auto Assembler Script
//Game: PC Building Simulator
//Version: 0.9.2.5
define(address,CareerStatus:GetAccountStatus+f)
define(bytes,48 63 80 A8 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,CareerStatus:GetAccountStatus+f)
label(code)
label(return)
globalalloc(cash_ptr,8)
newmem:
mov [cash_ptr],rax
add [rax+000000A8],2710
code:
movsxd rax,dword ptr [rax+000000A8]
jmp return
address:
jmp newmem
nop
nop
return:
[DISABLE]
address:
db bytes
// movsxd rax,dword ptr [rax+000000A8]
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: CareerStatus:GetAccountStatus+f
16C1D1D7: 00 00 - add [rax],al
16C1D1D9: 00 00 - add [rax],al
16C1D1DB: 00 00 - add [rax],al
16C1D1DD: 00 00 - add [rax],al
16C1D1DF: 00 48 83 - add [rax-7D],cl
16C1D1E2: EC - in al,dx
16C1D1E3: 08 48 89 - or [rax-77],cl
16C1D1E6: 34 24 - xor al,24
16C1D1E8: 48 8B F1 - mov rsi,rcx
16C1D1EB: 48 8B 46 20 - mov rax,[rsi+20]
// ---------- INJECTING HERE ----------
16C1D1EF: 48 63 80 A8 00 00 00 - movsxd rax,dword ptr [rax+000000A8]
// ---------- DONE INJECTING ----------
16C1D1F6: 85 C0 - test eax,eax
16C1D1F8: 7C 07 - jl CareerStatus:GetAccountStatus+21
16C1D1FA: 33 C0 - xor eax,eax
16C1D1FC: E9 48 00 00 00 - jmp CareerStatus:GetAccountStatus+69
16C1D201: 48 8B 46 20 - mov rax,[rsi+20]
16C1D205: 48 63 80 A8 00 00 00 - movsxd rax,dword ptr [rax+000000A8]
16C1D20C: B9 2C 4F 5F 22 - mov ecx,225F4F2C
16C1D211: 48 63 09 - movsxd rcx,dword ptr [rcx]
16C1D214: F7 D9 - neg ecx
16C1D216: 3B C1 - cmp eax,ecx
}
5
"Base Address"
String
0
0
0
1
cash_ptr
0
6
"m_cash"
4 Bytes
+A8
15
"Add Review (aka star rating)"
Auto Assembler Script
//Game: PC Building Simulator
//Version: 0.9.2.5
define(address,CareerStatus:AddReview+15a)
define(bytes,F3 0F 10 80 AC 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$100,CareerStatus:AddReview+15a)
label(code)
label(return)
globalalloc(review_ptr,8)
newmem:
mov [review_ptr],rax
mov [rax+000000AC],(float)5
code:
movss xmm0,[rax+000000AC]
jmp return
address:
jmp newmem
nop
nop
nop
return:
[DISABLE]
address:
db bytes
// movss xmm0,[rax+000000AC]
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: CareerStatus:AddReview+15a
322D8C3F: 45 3B F7 - cmp r14d,r15d
322D8C42: 7C 94 - jl CareerStatus:AddReview+c8
322D8C44: 48 8B 47 20 - mov rax,[rdi+20]
322D8C48: F3 0F 10 45 DC - movss xmm0,[rbp-24]
322D8C4D: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
322D8C51: F2 41 0F 2A CF - cvtsi2sd xmm1,r15d
322D8C56: F2 0F 5E C1 - divsd xmm0,xmm1
322D8C5A: F2 0F 5A E8 - cvtsd2ss xmm5,xmm0
322D8C5E: F3 0F 11 A8 AC 00 00 00 - movss [rax+000000AC],xmm5
322D8C66: 48 8B 47 20 - mov rax,[rdi+20]
// ---------- INJECTING HERE ----------
322D8C6A: F3 0F 10 80 AC 00 00 00 - movss xmm0,[rax+000000AC]
// ---------- DONE INJECTING ----------
322D8C72: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
322D8C76: F2 0F 5A C0 - cvtsd2ss xmm0,xmm0
322D8C7A: 48 83 EC 20 - sub rsp,20
322D8C7E: 49 BB 30 8E 2D 32 00 00 00 00 - mov r11,Achievements:OnStarRating
322D8C88: 41 FF D3 - call r11
322D8C8B: 48 83 C4 20 - add rsp,20
322D8C8F: 48 8B 04 25 60 BE 2B 06 - mov rax,[062BBE60]
322D8C97: 48 85 C0 - test rax,rax
322D8C9A: 0F 84 19 00 00 00 - je CareerStatus:AddReview+1a9
322D8CA0: 48 8B 04 25 60 BE 2B 06 - mov rax,[062BBE60]
}
16
"Base Address"
String
0
0
0
1
review_ptr
0
17
"m_starRating"
Float
+AC
13
"NoCost"
Auto Assembler Script
//Game: PC Building Simulator
//Version: 1.01
[ENABLE]
Shop:OnBuy+38+3:
db 20
//48 63 96 20 01 00 00
//movsxd rdx,dword ptr [rsi+00000120]
[DISABLE]
Shop:OnBuy+38+3:
db 28
//48 63 96 28 01 00 00
//movsxd rdx,dword ptr [rsi+00000128]
{
// ORIGINAL CODE - INJECTION POINT: Shop:OnBuy+38
1B2A3049: 41 55 - push r13
1B2A304B: 41 56 - push r14
1B2A304D: 41 57 - push r15
1B2A304F: 48 81 EC A8 00 00 00 - sub rsp,000000A8
1B2A3056: 48 8B F1 - mov rsi,rcx
1B2A3059: 33 C0 - xor eax,eax
1B2A305B: 48 89 85 50 FF FF FF - mov [rbp-000000B0],rax
1B2A3062: 48 89 85 58 FF FF FF - mov [rbp-000000A8],rax
1B2A3069: 48 89 85 60 FF FF FF - mov [rbp-000000A0],rax
1B2A3070: 48 8B 04 25 40 BE 16 06 - mov rax,[0616BE40]
// ---------- INJECTING HERE ----------
1B2A3078: 48 63 96 28 01 00 00 - movsxd rdx,dword ptr [rsi+00000128]
// ---------- DONE INJECTING ----------
1B2A307F: 48 8B C8 - mov rcx,rax
1B2A3082: 45 33 C0 - xor r8d,r8d
1B2A3085: 48 83 EC 20 - sub rsp,20
1B2A3089: 83 38 00 - cmp dword ptr [rax],00
1B2A308C: 49 BB 20 C6 30 1B 00 00 00 00 - mov r11,CareerStatus:SpendCash
1B2A3096: 41 FF D3 - call r11
1B2A3099: 48 83 C4 20 - add rsp,20
1B2A309D: 85 C0 - test eax,eax
1B2A309F: 0F 84 AB 06 00 00 - je Shop:OnBuy+710
1B2A30A5: 48 8B 8E C8 00 00 00 - mov rcx,[rsi+000000C8]
}
0
"To use walk boost press SHIFT while walking. (cosminuk2011)"
0000FF
1
1
"To speed up 3DMARK hold TAB. (cosminuk2011)"
0000FF
1
cash_ptr
05620000
kudos_ptr
05620010
starRating_ptr
05620020
review_ptr
05620030
lastSpeed=1;
function checkKeys(timer)
if (isKeyPressed(VK_SHIFT)) then if lastspeed ~= 3 then speedhack_setSpeed(3) lastSpeed=3 end
else
if (isKeyPressed(VK_TAB)) then if lastspeed ~= 10 then speedhack_setSpeed(10) lastSpeed=10 end
else if lastspeed ~= 1 then speedhack_setSpeed(1) lastSpeed=1 end
end
end
end
t=createTimer(nil)
timer_setInterval(t, 100)
timer_onTimer(t, checkKeys)
timer_setEnabled(t, true)