@shockpkg/dir-projector
Version:
Package for creating Shockwave Director projectors
55 lines (54 loc) • 1.48 kB
TypeScript
/**
* PE Resource replace config.
*/
export interface IPeResourceReplace {
/**
* Replace icons if not null.
*
* @default null
*/
iconData?: Readonly<Uint8Array> | null;
/**
* Replace version strings if not null.
*
* @default null
*/
versionStrings?: Readonly<{
[key: string]: string;
}> | null;
/**
* If true remove signature if present.
*
* @default false
*/
removeSignature?: boolean | null;
}
/**
* Parse PE version string to integers (MS then LS bits) or null.
*
* @param version Version string.
* @returns Version integers ([MS, LS]) or null.
*/
export declare function peVersionInts(version: string): [number, number] | null;
/**
* Replace resources in Windows PE file.
*
* @param data File data.
* @param options Replacement options.
* @returns Modified data.
*/
export declare function peResourceReplace(data: Readonly<Uint8Array>, options: Readonly<IPeResourceReplace>): Uint8Array;
/**
* Get Windows launcher for the specified type.
*
* @param type Executable type.
* @param resources Data to optionally copy resources from.
* @returns Launcher data.
*/
export declare function windowsLauncher(type: string, resources?: (() => Promise<Uint8Array>) | null): Promise<Uint8Array>;
/**
* Patch Windows Shockwave 3D InstalledDisplayDrivers size.
*
* @param data File data.
*/
export declare function windowsPatch3dDisplayDriversSize(data: Uint8Array): void;