/// <summary> /// Extracts the key and initialization vector to decrypt the Data Center from the game client, then unpacks the Data /// Center. /// </summary> /// <param name="path">The path to the Data Center file.</param> /// <param name="analyzer">The <see cref="GameClientAnalyzer"/> instance that will scan the client.</param> /// <param name="cancellationToken"> /// The token to monitor for cancellation requests. The default value is <see cref="CancellationToken.None" />. /// </param> /// <returns> /// A task that represents the Data Center's loading. The task's <see cref="Task{T}.Result" /> contains the /// unpacked Data Center. /// </returns> public static async Task <DataCenter> Load( string path, GameClientAnalyzer analyzer, CancellationToken cancellationToken = default(CancellationToken)) { var info = await analyzer.Analyze(cancellationToken); return(await Load(path, info.DataCenterKey, info.DataCenterIv, cancellationToken)); }
public InjectionEntryPoint(RemoteHooking.IContext context, string ipcChannelName) { gameClientAnalyzer = RemoteHooking.IpcConnectClient <GameClientAnalyzer>(ipcChannelName); }