public static void setProgramProperties(Program prog, ByteProvider provider,
			String executableFormatName) throws IOException {
		prog.setExecutablePath(provider.getAbsolutePath());
		if (executableFormatName != null) {
			prog.setExecutableFormat(executableFormatName);
		}
		FSRL fsrl = provider.getFSRL();
		String md5 = (fsrl != null && fsrl.getMD5() != null)
				? fsrl.getMD5()
				: computeBinaryMD5(provider);
		if (fsrl != null) {
			if (fsrl.getMD5() == null) {
				fsrl = fsrl.withMD5(md5);
			}
			FSRL.writeToProgramInfo(prog, fsrl);
		}
		prog.setExecutableMD5(md5);
		String sha256 = computeBinarySHA256(provider);
		prog.setExecutableSHA256(sha256);
	}
Sets a program's Executable Path, Executable Format, MD5, SHA256, and FSRL properties.
 
@param prog {@link Program} (with active transaction)
@param provider {@link ByteProvider} that the program was created from
@param executableFormatName executable format string
@throws IOException if error reading from ByteProvider
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/AbstractProgramLoader.java