EXE-файлы содержат встроенные символы NULL (# 0). У вас могут быть проблемы с использованием строк, так как обычно NULL находится в конце строки. Некоторые подпрограммы перестанут работать со строкой, как только встретится NULL.
Сказав, что следующее получит содержимое файла в строку.
function GetFileIntoString(FileName : String) : String;
var
SS : TStringStream;
begin
SS := TStringStream.Create('');
try
SS.LoadFromFile(FileName);
result := SS.DataString;
finally
SS.Free;
end;
end;