atribuir em RunTime, já ajuda bastante... nesse caso o "Hacker" só conseguiria acesso ao conteúdo, se tivesse ferramentas e conhecimento muito bom...
Algumas senhas do ACBr, são modificadas no "Setter", para ficarem criptografadas, com uma chave temporária, mesmo em memória...
é o caso da senha dos certificados.. veja:
procedure TDFeSSL.SetSenha(const AValue: AnsiString);
begin
if (FK <> '') and (FSenha = StrCrypt(AValue, FK)) then
Exit;
FK := FormatDateTime('hhnnsszzz',Now);
FSenha := StrCrypt(AValue, FK); // Salva Senha de forma Criptografada, para evitar "Inspect"
if CertificadoLido then
DescarregarCertificado;
end;
Usa o UPX
https://upx.github.io/
ele realmente irá embaralhar todo o conteúdo do Executável (e compacta-lo)... o UPX anexa no executável, um "loader" que é um descompactador em memória...