Da die Datei ja ausführbar sein muss, sprich irgendwie wieder entpackt werden muss, wirst du wohl jeden Komprimierungsalgorithmus wieder umkehren können.
Die einzige Strategie, die bleibt, wäre es, den Algorithmus geheimzuhalten, sodaß man sich schon mehr Arbeit mit machen muss, herauszufinden, welcher verwendet wurde, aber endgültig sicher ist das auch nicht.
Dann gibt es noch die Möglichkeit einer Verschlüsselung mit Passwort, allerdings muss man ja den Schlüssel weitergeben, wenn jemand anderes das Programm starten können soll, also auch nur so sicher wie das schwächste Glied in der Kette der Passwort-Besitzer (und je nach Verschlüsselungsverfahren noch unsicherer, dazu können dir andere Leute hier mehr sagen
).
Kurzum: Solange du willst, daß jeder dein Programm ausführen kann, kannst du den Assemblercode nicht verstecken. Wenn dein Programm so super doll ist, daß sich der Aufwand lohnt, würde ich es auch aus dem Speicher holen.