
du könntest die auszuführenden teile des skripts encoden und als blobs in einem dummy-skript mitgeben, diese blobs werden dann zur laufzeit decoded, und wenn du glück hast kannst du das ergebnis als stringliste an eine sektions-routine zur ausführung übergeben.
alles was du normalerweise unter actions ausführen würdest, müsste dann als sub-sektion behandelt werden, jeder abschnitt seperated.
ebenso jeweils jede weitere sub-sektionen wie winbatch, files, registry - etc. muss seperat codiert und entcodiert werden.
das sähe dann ungefähr so aus
Code: Alles auswählen
[actions]
defvar $obfusicated$
defstringlist $deobfusicated$
Set $obfusicated$ = "%opsitmpdir%\sub_obfusicated_001.txt"
if (saveTextFile(retrieveSection('sub_obfusicated'),$obfusicated$))
Set $deobfusicated$ = GetOutStreamFromSection('dosinanicon_deobfusicate')
Sub $deobfusicated$
endIf
Set $obfusicated$ = "%opsitmpdir%\winbatch_obfusicated_001.txt"
if (saveTextFile(retrieveSection('winbatch_obfusicated'),$obfusicated$))
Set $deobfusicated$ = GetOutStreamFromSection('dosinanicon_deobfusicate')
Sub $deobfusicated$
endIf
[dosinanicon_deobfusicate]
@echo off
deobfusicate.exe "$obfusicated$"
[sub_obfusicated_001]
yourobfusicatedsub%213qi9igoks201vj§JR=J=)ÖA;!")
[winbatch_obfusicated_001]
yourobfusicatedwinbatch%ß39Mc192(("V)=!"Q)?1ß0!I(U!
da die opsi-depot-freigabe bei dir scheinbar nicht in frage kommt, viel glück damit.
und allein der aufwand, bei einer änderung das skript neu zu codieren...
und dann ist da noch die logdatei, welche auf dem rechner im opsi-logverzeichnis abgelegt wird. normal haben hier nur admin's darauf zugriff, aber wenn du schon angst hast das deine anwender so gewiefte hacker sind ...

entweder stellst du das loglevel extrem niedrig oder unterbindest das log ganz, dann wird es aber schwierig mit der fehleranalyse.
tl;dr
wie auch immer du es anstellst, opsi ist nicht für das gedacht was du im sinn hast - du wirst deine eigenen sicherheits mechanismen so oder so selbst wieder aushebeln.
glaub uns doch einfach wenn wir dir sagen, das die skripte nur diejenigen zu sehen kriegen, denen du auch die entsprechenden rechte einräumst. der anwender sieht die von opsi eingebundene Freigabe P NICHT.