- 确保C盘有70G的闲余空间
- 去到 AppxUtils 文件夹并执行 .\Get-AppxPackageExt SunriseBaseGame | .\Debug-AppxPackage -OnLaunch “LOCATION OF YOUR X64DBG EXE”
- 启动地平线4然后一旦出现x64dbg中的反汇编, 按暂停按钮 (如果您太慢,整个方法可能行不通), 然后按F2设置断点
- 运行 uwpdumper dll 和 threadject exe 在同一文件夹内 并打开 powershell/cmd 窗口在相同文件夹内
- 启动 processhacker, 点击地平线4进程记下进程id关于 the main thread down (主线程是起始地址所在的线程 ntdll.dll!DbgUiRemoteBreakin)
- 运行 threadject 像这样: threadject.exe 进程id 线程id (例如: “threadject.exe 1234 5678” 1234 是地平线4的进程id 而 5678 是主要的线程id)
- 返回到x64dbg and double-click on the RIP to confirm that it has changed to the manualmap-dll loader.
- 按下F9, 确认x64dbg告诉您该进程正在运行。 现在您应该看到转录文件开始出现在 %localappdata%\Packages\Microsoft.SunriseBaseGame_8wekyb3d8bbwe\AC\DUMP
- 等待直到x64Dbg停止(左下角的黄色指示器)并且磁盘活动停止 (那可能要花几分钟,毕竟fh4是一个非常大的游戏). 恭喜,您成功地自己转录了Forza Horizon 4
- 返回到 Appxutils 目录并输入 .\Get-AppxPackageExt SunriseBaseGame | .\Debug-AppxPackage -Off 去移除 x64dbg hook 去玩游戏像正常一样
class VehicleInfo_T{ UIntPtr Unk1;//0x0 float Gravity-重量(t); //0x8 float Downforce-压力(t); //0xC float VelocityX轴速度(M/S); // 0x20 float VelocityY轴速度(M/S); // 0x24 float VelocityZ轴速度(M/S); // 0x28 float AngularVelocityX轴旋转速度(M/S); // 0x30 float AngularVelocityY轴旋转速度(M/S); // 0x34 float AngularVelocityZ轴旋转速度(M/S); // 0x38 float PositionX轴坐标(M); // 0x40 float PositionY轴坐标(M); // 0x44 float PositionZ轴坐标(M); // 0x48 float X-Yaw角度; // 0xE0 float Y-Roll角度; // 0xE4 float Z-Pitch角度; // 0xE8 float X-Yaw角度; // 0xF0 float Y-Roll角度; // 0xF4 float Z-Pitch角度; // 0xF8 float X-Yaw角度; // 0x100 float Y-Roll角度; // 0x104 float Z-Pitch角度; // 0x108 float X-Yaw角度; // 0x150 float Y-Roll角度; // 0x154 float Z-Pitch角度; // 0x158 float X-Yaw角度; // 0x160 float Y-Roll角度; // 0x164 float Z-Pitch角度; // 0x168 float X-Yaw角度; // 0x170 float Y-Roll角度; // 0x174 float Z-Pitch角度; // 0x178 float X实体相对坐标; // 0x190 float Y实体相对坐标; // 0x194 float Z实体相对坐标; // 0x198 float Xidk; // 0x1A0 float Yidk; // 0x1A4 float Zidk; // 0x1A8 float Xidk; // 0x1B0 float Yidk; // 0x1B4 float Zidk; // 0x1B8 float Xidk; // 0x1C0 float Yidk; // 0x1C4 float Zidk; // 0x1C8 //0x7DC float FrontLeftTireSpeed-左前轮胎转速; // 0x1DBC float 轮胎方向// +2C float idk; // +0x30 //0x15E0 float FrontRightTireSpeed-右前轮胎转速; // 0x339C float 轮胎方向// +2C float idk; // +0x30 //0x15E0 float RearRightTireSpeed-右后轮胎转速; // 0x497C float 轮胎方向// +2C float idk; // +0x30 //0x15E0 float RearLeftTireSpeed-左后轮胎转速; // 0x5F5C float 轮胎方向// +2C float idk; // +0x30 int CarOrdinal-当前车辆ID; //0x10ECC}