Code: Select all
ChangeList:4356657
Version:Open_1.39
User:silex-buildfarm
Branch://tgt-streams/beta
Project Name:TGT
Time:Wed Sep 18 17:54:34 2019
SDK:N/A
Exec:scimitar_engine_win64_f.exe
MD5:N/A
Notable changes:
- /belaunch -be still works, but once you get past the "Connecting" step, you'll see the game restarts itself *really* launching BE this time around; so I'd advise removing it from your UPlay client's 'Properties' > 'Game launch arguments' pane.
- GetName is now at 0x28 offset in the member-functions vtable, instead of 0x48.
- p_SilexNetComponent_Player (0x507DC2EC) shifted to 0x160 offset
- 'God Mode' offset moved to 0x4AB
- 'Immunity' offset moved to 0x1ED
- g_Weapon+0xC8 is now the offset at which p_SilexNetComponent_Player is stored
BR,
Sun
[ 08.09.2019 - LIVE_5.63 (4290415) ]
Revamped all scripts, as per the information here. All scripts are now player-sided, regardless or not the hooked locations are used by AI as well (I know 'Unlimited Clip Ammo' is).
Note #1: While in Erewhon, the [ Gather Intel ] script will loop through all available players in the room You can see that in the [ Debug ] section, while in windowed mode. Once you exit Erewhon, the hook will stabilize and fetch just your pointers. I recommend not using this in Co-Op or PVP, due to the aforementioned reason.
Note #2: The [ Debug ] section is just for debug purposes; you don't need to change anything in there, the scripts do the job by default.
BR,
Sun
[ 07.09.2019 - LIVE_5.63 (4290415) ]
Added below the table for GRB.exe:
BR,
Sun
[ 07.09.2019 - LIVE_5.63 (4290415) ]
The BattlEye bypass method is mentioned in this post. Just so I don't hear anymore whining and spamming
[ 05.09.2019 - LIVE_5.63 (4290415) ]
Code: Select all
ChangeList:4290415
Version:LIVE_5.63
User:silex-buildfarm
Branch://tgt-streams/livetest
Project Name:TGT
Time:Wed Sep 4 16:15:17 2019
SDK:N/A
Exec:scimitar_engine_win64_f.exe
MD5:N/A
I've mentioned some information about this game in this post. Please have a quick read.
What I'm about to post below is just personal information that may or not help gamehackers in the final release of the game. THIS IS JUST FOR SINGLE PLAYER! I/We do not care about multiplayer or co-op. Let this be clear. Since the BETA is open till the 8th, I believe it makes no sense to come up with my solution and post it here for the grabs
Also:
- I'm doing this for fun, with no commercial intentions (this is not aimed at helping anyone)
- I'm not doing this to be "the first" (even though I may be contradicted, that some shit I say or said implies the opposite)
- not doing it for the trainer makers out there who, perhaps, might find this information useful
EncodeWrite:
Code: Select all
GRB_UPP.exe+1A6350D0 - 8B 41 20 - mov eax,[rcx+20]
GRB_UPP.exe+1A6350D3 - 49 89 C8 - mov r8,rcx
GRB_UPP.exe+1A6350D6 - 48 8B 49 18 - mov rcx,[rcx+18]
GRB_UPP.exe+1A6350DA - 31 D0 - xor eax,edx
GRB_UPP.exe+1A6350DC - C6 01 00 - mov byte ptr [rcx],00
GRB_UPP.exe+1A6350DF - 49 8B 48 10 - mov rcx,[r8+10]
GRB_UPP.exe+1A6350E3 - C6 01 00 - mov byte ptr [rcx],00
GRB_UPP.exe+1A6350E6 - 49 8B 48 08 - mov rcx,[r8+08]
GRB_UPP.exe+1A6350EA - C6 01 00 - mov byte ptr [rcx],00
GRB_UPP.exe+1A6350ED - 49 8B 08 - mov rcx,[r8]
GRB_UPP.exe+1A6350F0 - C6 01 00 - mov byte ptr [rcx],00
GRB_UPP.exe+1A6350F3 - 31 C9 - xor ecx,ecx
GRB_UPP.exe+1A6350F5 - 66 66 66 0F1F 84 00 00000000 - nop [rax+rax+00000000]
GRB_UPP.exe+1A635100 - 4D 8B 08 - mov r9,[r8]
GRB_UPP.exe+1A635103 - 0FB6 D0 - movzx edx,al
GRB_UPP.exe+1A635106 - 80 E2 01 - and dl,01
GRB_UPP.exe+1A635109 - D1 E8 - shr eax,1
GRB_UPP.exe+1A63510B - D2 E2 - shl dl,cl
GRB_UPP.exe+1A63510D - 41 08 11 - or [r9],dl
GRB_UPP.exe+1A635110 - 0FB6 D0 - movzx edx,al
GRB_UPP.exe+1A635113 - 4D 8B 48 08 - mov r9,[r8+08]
GRB_UPP.exe+1A635117 - 80 E2 01 - and dl,01
GRB_UPP.exe+1A63511A - D2 E2 - shl dl,cl
GRB_UPP.exe+1A63511C - D1 E8 - shr eax,1
GRB_UPP.exe+1A63511E - 41 08 11 - or [r9],dl
GRB_UPP.exe+1A635121 - 0FB6 D0 - movzx edx,al
GRB_UPP.exe+1A635124 - 4D 8B 48 10 - mov r9,[r8+10]
GRB_UPP.exe+1A635128 - 80 E2 01 - and dl,01
GRB_UPP.exe+1A63512B - D2 E2 - shl dl,cl
GRB_UPP.exe+1A63512D - D1 E8 - shr eax,1
GRB_UPP.exe+1A63512F - 41 08 11 - or [r9],dl
GRB_UPP.exe+1A635132 - 0FB6 D0 - movzx edx,al
GRB_UPP.exe+1A635135 - 4D 8B 48 18 - mov r9,[r8+18]
GRB_UPP.exe+1A635139 - 80 E2 01 - and dl,01
GRB_UPP.exe+1A63513C - D2 E2 - shl dl,cl
GRB_UPP.exe+1A63513E - FF C1 - inc ecx
GRB_UPP.exe+1A635140 - D1 E8 - shr eax,1
GRB_UPP.exe+1A635142 - 41 08 11 - or [r9],dl
GRB_UPP.exe+1A635145 - 83 F9 08 - cmp ecx,08
GRB_UPP.exe+1A635148 - 7C B6 - jl GRB_UPP.exe+1A635100
GRB_UPP.exe+1A63514A - C3 - ret
This is what I have right now:
30 bullets in my clip.
Now, if I head to the first address in the "on firing weapon" tree:
Code: Select all
GRB_UPP.exe+1A3573EE - 29 D8 - sub eax,ebx <- the sub's here :)
GRB_UPP.exe+1A3573F0 - B3 01 - mov bl,01
GRB_UPP.exe+1A3573F2 - 89 C2 - mov edx,eax
GRB_UPP.exe+1A3573F4 - 48 8D 8E A0010000 - lea rcx,[rsi+000001A0]
GRB_UPP.exe+1A3573FB - E8 5054BCE7 - call GRB_UPP.exe+1F1C850
GRB_UPP.exe+1A357400 - 84 DB - test bl,bl <-
NOP the SUB and boom, quick Infinite Clip Ammo.
DecodeRead:
Code: Select all
GRB_UPP.exe+1A4FA640 - 48 89 5C 24 08 - mov [rsp+08],rbx
GRB_UPP.exe+1A4FA645 - 48 8B 01 - mov rax,[rcx]
GRB_UPP.exe+1A4FA648 - 31 D2 - xor edx,edx
GRB_UPP.exe+1A4FA64A - 49 89 C8 - mov r8,rcx
GRB_UPP.exe+1A4FA64D - 44 0FB6 08 - movzx r9d,byte ptr [rax]
GRB_UPP.exe+1A4FA651 - 48 8B 41 08 - mov rax,[rcx+08]
GRB_UPP.exe+1A4FA655 - 44 0FB6 10 - movzx r10d,byte ptr [rax]
GRB_UPP.exe+1A4FA659 - 48 8B 41 10 - mov rax,[rcx+10]
GRB_UPP.exe+1A4FA65D - 44 0FB6 18 - movzx r11d,byte ptr [rax]
GRB_UPP.exe+1A4FA661 - 48 8B 41 18 - mov rax,[rcx+18]
GRB_UPP.exe+1A4FA665 - 89 D1 - mov ecx,edx
GRB_UPP.exe+1A4FA667 - 0FB6 18 - movzx ebx,byte ptr [rax]
GRB_UPP.exe+1A4FA66A - 66 0F1F 44 00 00 - nop [rax+rax+00]
GRB_UPP.exe+1A4FA670 - 41 0FB6 C1 - movzx eax,r9l
GRB_UPP.exe+1A4FA674 - 83 E0 01 - and eax,01
GRB_UPP.exe+1A4FA677 - 41 D0 E9 - shr r9l,1
GRB_UPP.exe+1A4FA67A - D3 E0 - shl eax,cl
GRB_UPP.exe+1A4FA67C - FF C1 - inc ecx
GRB_UPP.exe+1A4FA67E - 09 C2 - or edx,eax
GRB_UPP.exe+1A4FA680 - 41 0FB6 C2 - movzx eax,r10l
GRB_UPP.exe+1A4FA684 - 83 E0 01 - and eax,01
GRB_UPP.exe+1A4FA687 - 41 D0 EA - shr r10l,1
GRB_UPP.exe+1A4FA68A - D3 E0 - shl eax,cl
GRB_UPP.exe+1A4FA68C - FF C1 - inc ecx
GRB_UPP.exe+1A4FA68E - 09 C2 - or edx,eax
GRB_UPP.exe+1A4FA690 - 41 0FB6 C3 - movzx eax,r11l
GRB_UPP.exe+1A4FA694 - 83 E0 01 - and eax,01
GRB_UPP.exe+1A4FA697 - 41 D0 EB - shr r11l,1
GRB_UPP.exe+1A4FA69A - D3 E0 - shl eax,cl
GRB_UPP.exe+1A4FA69C - FF C1 - inc ecx
GRB_UPP.exe+1A4FA69E - 09 C2 - or edx,eax
GRB_UPP.exe+1A4FA6A0 - 0FB6 C3 - movzx eax,bl
GRB_UPP.exe+1A4FA6A3 - 83 E0 01 - and eax,01
GRB_UPP.exe+1A4FA6A6 - D0 EB - shr bl,1
GRB_UPP.exe+1A4FA6A8 - D3 E0 - shl eax,cl
GRB_UPP.exe+1A4FA6AA - FF C1 - inc ecx
GRB_UPP.exe+1A4FA6AC - 09 C2 - or edx,eax
GRB_UPP.exe+1A4FA6AE - 83 F9 20 - cmp ecx,20
GRB_UPP.exe+1A4FA6B1 - 7C BD - jl GRB_UPP.exe+1A4FA670
GRB_UPP.exe+1A4FA6B3 - 41 8B 40 20 - mov eax,[r8+20]
GRB_UPP.exe+1A4FA6B7 - 48 8B 5C 24 08 - mov rbx,[rsp+08]
GRB_UPP.exe+1A4FA6BC - 31 D0 - xor eax,edx
GRB_UPP.exe+1A4FA6BE - C3 - ret
Code: Select all
GRB_UPP.exe+1A4F1B86 - 48 8D 4C 24 50 - lea rcx,[rsp+50]
GRB_UPP.exe+1A4F1B8B - E8 C0ACA2E7 - call GRB_UPP.exe+1F1C850
GRB_UPP.exe+1A4F1B90 - 48 8B 8B 00040000 - mov rcx,[rbx+00000400]
GRB_UPP.exe+1A4F1B97 - 45 89 F0 - mov r8d,r14d
GRB_UPP.exe+1A4F1B9A - 48 89 FA - mov rdx,rdi
GRB_UPP.exe+1A4F1B9D - 48 8B 01 - mov rax,[rcx]
GRB_UPP.exe+1A4F1BA0 - FF 50 30 - call qword ptr [rax+30]
GRB_UPP.exe+1A4F1BA3 - 48 89 C6 - mov rsi,rax
GRB_UPP.exe+1A4F1BA6 - 48 85 C0 - test rax,rax
GRB_UPP.exe+1A4F1BA9 - 74 7F - je GRB_UPP.exe+1A4F1C2A
GRB_UPP.exe+1A4F1BAB - 48 8D 48 08 - lea rcx,[rax+08]
GRB_UPP.exe+1A4F1BAF - E8 9CF99DE7 - call GRB_UPP.exe+1ED1550 <-
GRB_UPP.exe+1A4F1BB4 - 0FB7 D0 - movzx edx,ax
GRB_UPP.exe+1A4F1BB7 - 48 8D 4C 24 28 - lea rcx,[rsp+28]
GRB_UPP.exe+1A4F1BBC - E8 8FACA2E7 - call GRB_UPP.exe+1F1C850
Code: Select all
GRB_UPP.exe+1A613F95 - 48 8D BB A0010000 - lea rdi,[rbx+000001A0]
GRB_UPP.exe+1A613F9C - 48 89 F9 - mov rcx,rdi
GRB_UPP.exe+1A613F9F - E8 ACD58BE7 - call GRB_UPP.exe+1ED1550 <- Read
GRB_UPP.exe+1A613FA4 - 48 89 F9 - mov rcx,rdi
GRB_UPP.exe+1A613FA7 - 8D 14 28 - lea edx,[rax+rbp] <- sum
GRB_UPP.exe+1A613FAA - E8 A18890E7 - call GRB_UPP.exe+1F1C850 <- Write
GRB_UPP.exe+1A613FAF - 48 89 F9 - mov rcx,rdi
GRB_UPP.exe+1A613FB2 - E8 99D58BE7 - call GRB_UPP.exe+1ED1550 <- Read
GRB_UPP.exe+1A613FB7 - 48 8D 8B 50010000 - lea rcx,[rbx+00000150]
On another note, I think GRB.exe is the single-player executable, while GRB_UPP.exe is the online services one.
More will follow.
BR,
Sun
P.S.: If I'm able to do this, maybe Ubisoft reconsiders their BattlEye strategy.
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1