Initial plugins and other stuff commit
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,336 @@
|
||||
require(GlobalDependencys:GetDependency("StandardBase"):GetPackageName())
|
||||
|
||||
--GAME VARS
|
||||
fDefaultFOV = 55
|
||||
fDefaultAspectRatio = 1.777777791
|
||||
fAspectRatio = DisplayInfo:GetWidth() / DisplayInfo:GetHeight()
|
||||
fFOV = 55
|
||||
fInventoryFOV = 0
|
||||
fStoreFOV = 0
|
||||
|
||||
--ControlVars
|
||||
bFixEnabled = true
|
||||
bFOV = true
|
||||
bInvFOV = true
|
||||
bStoreFOV = true
|
||||
bChromaticAberration = true
|
||||
|
||||
--PROCESS VARS
|
||||
Process_FriendlyName = Module:GetFriendlyName()
|
||||
Process_WindowName = "*"
|
||||
Process_ClassName = "*"
|
||||
Process_EXEName = "TheCallistoProtocol-Win64-Shipping.exe"
|
||||
|
||||
--INJECTION BEHAVIOUR
|
||||
InjectDelay = 100
|
||||
WriteInterval = 100
|
||||
SearchInterval = 100
|
||||
SuspendThread = true
|
||||
|
||||
--Name Manual/Auto/Hybrid Steam/Origin/Any IncludeFile:Configure;Enable;Periodic;Disable;
|
||||
SupportedVersions = {
|
||||
{"Automatically Detect", "Hybrid", "Any", "Configure_SignatureScan;Enable_Inject;Periodic;Disable_Inject;"},
|
||||
}
|
||||
|
||||
function Init_Controls()
|
||||
|
||||
DefaultControls.AddHeader("Header_FixesEnableDisable","Individual Fixes",245,70,210,17)
|
||||
|
||||
DefaultControls.AddHeader("Header_FOV","FOV fine adjustment",15,70,210,17)
|
||||
DefaultControls.AddFixedFOVSlider("FOVSlider","FOVSlider_Changed",55,100,125,35,0,70,0,1)
|
||||
|
||||
FOVSlider:SetTickFrequency(10)
|
||||
FOVSlider:SetLabel1Text("-20")
|
||||
FOVSlider:SetLabel2Text("+50")
|
||||
|
||||
DefaultControls.AddHeader("UI_Scale","UI Inv. FOV fine adjustment",15,200,210,17)
|
||||
DefaultControls.AddFixedFOVSlider("UISlider","UISlider_Changed",55,230,125,35,10,90,0,1)
|
||||
|
||||
UISlider:SetTickFrequency(10)
|
||||
UISlider:SetLabel1Text("10")
|
||||
UISlider:SetLabel2Text("90")
|
||||
|
||||
DefaultControls.AddHeader("UI_StoreScale","UI Store FOV fine adjustment",245,200,210,17)
|
||||
DefaultControls.AddFixedFOVSlider("UISStorelider","UIStoreSlider_Changed",285,230,125,35,10,90,0,1)
|
||||
|
||||
UISStorelider:SetTickFrequency(10)
|
||||
UISStorelider:SetLabel1Text("10")
|
||||
UISStorelider:SetLabel2Text("90")
|
||||
|
||||
DefaultControls.AddFixToggle("CKFOVFix_Enable","FOV fix","CKFOVFix_Changed",255,101,180,14)
|
||||
DefaultControls.AddFixToggle("CKUIInvFOVFix_Enable","Inventory FOV fix","CKUIInvFOVFix_Changed",255,121,180,14)
|
||||
DefaultControls.AddFixToggle("CKUIStoreFOVFix_Enable","Store FOV fix","CKUIStoreFOVFix_Changed",255,141,180,14)
|
||||
DefaultControls.AddFixToggle("CKCHROMATICFix_Enable","Chromatic aberration fix","CKCHROMATICFix_Changed",255,161,180,14)
|
||||
|
||||
end
|
||||
|
||||
function Configure_SignatureScan()
|
||||
|
||||
local tAddress = HackTool:AddAddress("FOV")
|
||||
|
||||
if HackTool:SignatureScan("F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? F3 0F ?? ?? ?? ?? ?? ?? F3 0F ?? ?? ?? 8B 83 ?? ?? ?? ??",tAddress,PAGE_EXECUTE_READ,0x0,Process_EXEName) == 0 then
|
||||
return ErrorOccurred(string.format(SigScanError,tAddress:GetName()))
|
||||
else
|
||||
print( tAddress:GetInfo(TYPE_ADDRESS) )
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+D6962A: F6 83 10 02 00 00 10 - test byte ptr [rbx+00000210],10
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+D69631: 0F 85 14 EC C5 01 - jne TheCallistoProtocol-Win64-Shipping.exe+29C824B
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+D69637: F3 0F 10 83 F8 01 00 00 - movss xmm0,[rbx+000001F8]
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+D6963F: F3 0F 11 47 18 - movss [rdi+18],xmm0
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+D69644: F3 0F 58 83 FC 01 00 00 - addss xmm0,[rbx+000001FC]
|
||||
end
|
||||
|
||||
local tAddress = HackTool:AddAddress("FOV2")
|
||||
|
||||
if HackTool:SignatureScan("8B ?? ?? 4C 8D ?? ?? 89 ?? ?? 48 ?? ?? ?? ?? 48 ?? ?? ?? ??",tAddress,PAGE_EXECUTE_READ,0x0,Process_EXEName) == 0 then
|
||||
return ErrorOccurred(string.format(SigScanError,tAddress:GetName()))
|
||||
else
|
||||
print( tAddress:GetInfo(TYPE_ADDRESS) )
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+951156 - 41 0F 2F F4 - comiss xmm6,xmm12
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+95115A - 0F 83 66 FF FF FF - jae TheCallistoProtocol-Win64-Shipping.exe+9510C6
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+951160 - 8B 43 4C - mov eax,[rbx+4C]
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+951163 - 4C 8D 43 50 - lea r8,[rbx+50]
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+951167 - 89 47 48 - mov [rdi+48],eax
|
||||
end
|
||||
|
||||
local tAddress = HackTool:AddAddress("FOV3")
|
||||
|
||||
if HackTool:SignatureScan("74 ?? 8B ?? 89 ?? ?? F3 0F ?? ?? ?? 0F ?? ??",tAddress,PAGE_EXECUTE_READ,0x02,Process_EXEName) == 0 then
|
||||
return ErrorOccurred(string.format(SigScanError,tAddress:GetName()))
|
||||
else
|
||||
print( tAddress:GetInfo(TYPE_ADDRESS) )
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+B5A763 - 48 83 C0 08 - add rax,08
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+B5A767 - 74 05 - je TheCallistoProtocol-Win64-Shipping.exe+B5A76E
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+B5A769 - 8B 00 - mov eax,[rax]
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+B5A76B - 89 43 48 - mov [rbx+48],eax
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+B5A76E - F3 0F10 53 20 - movss xmm2,[rbx+20]
|
||||
end
|
||||
|
||||
local tAddress = HackTool:AddAddress("CHROMATIC")
|
||||
|
||||
if HackTool:SignatureScan("7F ?? 89 B3 ?? ?? ?? ?? 8B ?? ?? 39",tAddress,PAGE_EXECUTE_READ,0x0,Process_EXEName) == 0 then
|
||||
return ErrorOccurred(string.format(SigScanError,tAddress:GetName()))
|
||||
else
|
||||
print( tAddress:GetInfo(TYPE_ADDRESS) )
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+3B4731A - 48 8B 05 D7 7D 35 03 - mov rax,[TheCallistoProtocol-Win64-Shipping.exe+6E9F0F8]
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+3B47321 - 39 30 - cmp [rax],esi
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+3B47323 - 7F 06 - jg TheCallistoProtocol-Win64-Shipping.exe+3B4732B
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+3B47325 - 89 B3 A8 10 00 00 - mov [rbx+000010A8],esi
|
||||
--TheCallistoProtocol-Win64-Shipping.exe+3B4732B - 8B 04 2F - mov eax,[rdi+rbp]
|
||||
end
|
||||
|
||||
return true
|
||||
|
||||
end
|
||||
|
||||
|
||||
function Enable_Inject()
|
||||
|
||||
local nearTo = 0
|
||||
local tAddress = HackTool:GetAddress("FOV")
|
||||
|
||||
if HackTool:GetArchitecture() == 0 then
|
||||
nearTo = HackTool:GetBaseAddress()
|
||||
end
|
||||
|
||||
|
||||
local Variables = HackTool:AllocateMemory("Variables",0,50)
|
||||
Variables:PushFloat("FOVIn")
|
||||
Variables:PushFloat("FOVOut")
|
||||
Variables:PushFloat("FOV")
|
||||
Variables:PushFloat("InventoryFOV")
|
||||
Variables:PushFloat("StoreFOV")
|
||||
Variables:PushFloat("defaultInventoryFOV")
|
||||
Variables:PushFloat("defaultStoreFOV")
|
||||
Variables:Allocate()
|
||||
Variables["FOVIn"]:WriteFloat(fDefaultFOV)
|
||||
Variables["FOV"]:WriteFloat(fFOV)
|
||||
Variables["defaultInventoryFOV"]:WriteFloat(70)
|
||||
Variables["defaultStoreFOV"]:WriteFloat(59)
|
||||
|
||||
ResolutionChanged()
|
||||
|
||||
local asm = [[
|
||||
|
||||
(codecave:jmp)FOV,FOV_cc:
|
||||
%originalcode%
|
||||
fld dword ptr [(allocation)Variables->StoreFOV]
|
||||
fstp dword ptr [UIstore]
|
||||
$$0 [(allocation)Variables->FOVIn],$$1 $ctx=1
|
||||
addss $$1,[(allocation)Variables->FOV] $ctx=1
|
||||
$$0 [(allocation)Variables->FOVOut],$$1 $ctx=1
|
||||
jmp %returnaddress%
|
||||
%end%
|
||||
|
||||
(codecave:jmp)FOV2,FOV2_cc:
|
||||
%originalcode%
|
||||
cmp $$1, dword ptr [(allocation)Variables->defaultInventoryFOV] $ctx=1
|
||||
je setInvFOV
|
||||
cmp dword ptr ebx,[rbxPtr]
|
||||
jne exit
|
||||
|
||||
setInvFOV:
|
||||
mov [rbxPtr],rbx
|
||||
fld dword ptr [(allocation)Variables->InventoryFOV]
|
||||
fstp dword ptr [$$2] $ctx=1
|
||||
|
||||
exit:
|
||||
jmp %returnaddress%
|
||||
%end%
|
||||
|
||||
rbxPtr:
|
||||
(float)0
|
||||
|
||||
dummy:
|
||||
(float)0
|
||||
|
||||
(codecave:jmp)FOV3,FOV3_cc:
|
||||
fld dword ptr [UIstore]
|
||||
fstp dword ptr [$$2] $ctx=1
|
||||
%originalcode%
|
||||
jmp %returnaddress%
|
||||
%end%
|
||||
|
||||
UIstore:
|
||||
(float)0f
|
||||
|
||||
(codecave)CHROMATIC,CHROMATIC_cc:
|
||||
nop
|
||||
nop
|
||||
%end%
|
||||
|
||||
]]
|
||||
|
||||
if HackTool:CompileAssembly(asm,"Fixes") == nil then
|
||||
return ErrorOccurred("Assembly compilation failed...")
|
||||
else
|
||||
Toggle_CodeCave("FOV_cc",bFOV)
|
||||
Toggle_CodeCave("FOV2_cc",bInvFOV)
|
||||
Toggle_CodeCave("FOV3_cc",bStoreFOV)
|
||||
Toggle_CodeCave("CHROMATIC_cc",bChromaticAberration)
|
||||
end
|
||||
|
||||
Write_FOV()
|
||||
Write_UIInv_Scale()
|
||||
Write_UIStore_Scale()
|
||||
|
||||
end
|
||||
|
||||
function Periodic()
|
||||
|
||||
local Variables = HackTool:GetAllocation("Variables")
|
||||
|
||||
if Variables and Variables["FOVIn"] and Variables["FOV"] then
|
||||
local fFOVIn = Variables["FOVIn"]:ReadFloat()
|
||||
local fFOVOut = Variables["FOVOut"]:ReadFloat()
|
||||
|
||||
PluginViewport:AppendStatusMessage( string.format("\r\n===== Fix informations =====\r\nFOV In: %0.2f, FOV Out : %.02f", fFOVIn, fFOVOut))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function FOVSlider_Changed(Sender)
|
||||
|
||||
fFOV = Sender:GetPosition() - 20
|
||||
lblFOVSlider.Caption:SetCaption( string.format("FOV : %.2f",fFOV) )
|
||||
Write_FOV()
|
||||
ForceUpdate()
|
||||
|
||||
end
|
||||
|
||||
function UISlider_Changed(Sender)
|
||||
|
||||
fInventoryFOV = Sender:GetPosition()
|
||||
lblUISlider.Caption:SetCaption( string.format("Inv. FOV : %.0f",fInventoryFOV) )
|
||||
Write_UIInv_Scale()
|
||||
ForceUpdate()
|
||||
|
||||
end
|
||||
|
||||
function UIStoreSlider_Changed(Sender)
|
||||
|
||||
fStoreFOV = Sender:GetPosition()
|
||||
lblUISStorelider.Caption:SetCaption( string.format("Store FOV : %.0f",fStoreFOV) )
|
||||
Write_UIStore_Scale()
|
||||
ForceUpdate()
|
||||
|
||||
end
|
||||
|
||||
function Write_FOV()
|
||||
|
||||
local Variables = HackTool:GetAllocation("Variables")
|
||||
if Variables and Variables["FOV"] then
|
||||
Variables["FOV"]:WriteFloat(fFOV)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function Write_UIInv_Scale()
|
||||
|
||||
local Variables = HackTool:GetAllocation("Variables")
|
||||
if Variables and Variables["InventoryFOV"] then
|
||||
Variables["InventoryFOV"]:WriteFloat(fInventoryFOV)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function Write_UIStore_Scale()
|
||||
|
||||
local Variables = HackTool:GetAllocation("Variables")
|
||||
if Variables and Variables["StoreFOV"] then
|
||||
Variables["StoreFOV"]:WriteFloat(fStoreFOV)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function Disable_Inject()
|
||||
|
||||
CleanUp()
|
||||
|
||||
end
|
||||
|
||||
function CKFOVFix_Changed(Sender)
|
||||
|
||||
bFOV = Toggle_CheckFix(Sender)
|
||||
Toggle_CodeCave("FOV_cc",bFOV)
|
||||
ForceUpdate()
|
||||
|
||||
end
|
||||
|
||||
function CKUIInvFOVFix_Changed(Sender)
|
||||
|
||||
bFOV = Toggle_CheckFix(Sender)
|
||||
Toggle_CodeCave("FOV2_cc",bFOV)
|
||||
ForceUpdate()
|
||||
|
||||
end
|
||||
|
||||
function CKUIStoreFOVFix_Changed(Sender)
|
||||
|
||||
bFOV = Toggle_CheckFix(Sender)
|
||||
Toggle_CodeCave("FOV3_cc",bFOV)
|
||||
ForceUpdate()
|
||||
|
||||
end
|
||||
|
||||
function CKCHROMATICFix_Changed(Sender)
|
||||
|
||||
bChromaticAberration = Toggle_CheckFix(Sender)
|
||||
Toggle_CodeCave("CHROMATIC_cc",bChromaticAberration)
|
||||
ForceUpdate()
|
||||
|
||||
end
|
||||
|
||||
function ResolutionChanged()
|
||||
|
||||
SyncDisplayDetection()
|
||||
|
||||
end
|
||||
|
||||
function Init()
|
||||
Init_BaseControls()
|
||||
Init_Controls()
|
||||
end
|
||||
|
||||
function DeInit()
|
||||
DisableFix()
|
||||
end
|
||||
Reference in New Issue
Block a user