Added #2038, #2028, #2034, #2036 Support for Harman AIR encrypted SWFs (Read-only)

This commit is contained in:
Jindra Petřík
2023-06-25 20:41:04 +02:00
parent 11d19da76c
commit ec10ded3ad
12 changed files with 226 additions and 5 deletions
@@ -1268,6 +1268,7 @@ public class Main {
result.sourceInfo = sourceInfo;
boolean hasVideoStreams = false;
boolean hasEncrypted = false;
for (Openable openable : result) {
openable.setOpenableList(result);
@@ -1289,6 +1290,10 @@ public class Main {
}
}
if (swf.encrypted) {
hasEncrypted = true;
}
swf.addEventListener(new EventListener() {
@Override
public void handleExportingEvent(String type, int index, int count, Object data) {
@@ -1344,6 +1349,16 @@ public class Main {
});
}
if (hasEncrypted) {
View.execInEventDispatchLater(new Runnable() {
@Override
public void run() {
ViewMessages.showMessageDialog(getDefaultMessagesComponent(), AppStrings.translate("warning.cannotencrypt").replace("%file%", sourceInfo.getFileTitleOrName()), AppStrings.translate("message.warning"), JOptionPane.WARNING_MESSAGE, Configuration.warningCannotEncrypt);
}
});
}
return result;
}
@@ -691,3 +691,6 @@ config.description.warning.initializers.class = Show warning on AS3 class trait
#after 18.4.1
config.name.maxCachedNum = Maximum number of cached items per single cache
config.description.maxCachedNum = Maximum number of cached items before older items are removed from cache. Lower value = less memory, slower app. Higher value = more memory, faster app. Set this to 0 to unlimited caching.
config.name.warning.cannotencrypt = Warn when cannot save encrypted
config.description.warning.cannotencrypt = Show warning when cannot save SWF file which was encrypted using HARMAN Air encryption.
@@ -681,3 +681,6 @@ config.description.warning.initializers.class = Zobrazovat varov\u00e1n\u00ed p\
#after 18.4.1
config.name.maxCachedNum = Maxim\u00e1ln\u00ed po\u010det prvk\u016f v jedn\u00e9 cache
config.description.maxCachedNum = Maxim\u00e1ln\u00ed po\u010det cachovan\u00fdch prvk\u016f p\u0159ed t\u00edm, ne\u017e jsou star\u0161\u00ed prvky vymaz\u00e1ny. Ni\u017e\u0161\u00ed hodnota = m\u00e9n\u011b pam\u011bti, pomalej\u0161\u00ed aplikace. Vy\u0161\u0161\u00ed hodnota = v\u00edce pam\u011bti, rychlej\u0161\u00ed aplikace. Nastavte sem hodnotu 0 pro nekone\u010dn\u00e9 cachov\u00e1n\u00ed.
config.name.warning.cannotencrypt = Varovat kdy\u017e nelze ulo\u017eit za\u0161ifrovan\u00e9
config.description.warning.cannotencrypt = Zobrazit varov\u00e1n\u00ed kdy\u017e nelze ulo\u017eit SWF soubor kter\u00fd byl \u0161ifrov\u00e1n pomoc\u00ed HARMAN Air \u0161ifrov\u00e1n\u00ed.
@@ -1135,4 +1135,7 @@ warning.initializers.class = The "extends" object is also used in script initial
contextmenu.addScript.doaction = Add frame script - DoAction
contextmenu.addScript.buttoncondaction = Add button event script - BUTTONCONDACTION
contextmenu.addScript.clipactionrecord = Add instance event script - CLIPACTIONRECORD
contextmenu.addScript.doinitaction = Add sprite init script - DoInitAction
contextmenu.addScript.doinitaction = Add sprite init script - DoInitAction
#after 18.4.1
warning.cannotencrypt = WARNING: The file %file% was encrypted using HARMAN Air encryption.\r\nIt was successfully decrypted to be loaded, but if you want to save modified file later,\r\nthe encryption will be stripped ( = not encrypted).
@@ -1120,4 +1120,7 @@ warning.initializers.class = Polo\u017eky class jako extends a/nebo implements j
contextmenu.addScript.doaction = P\u0159idat frame skript - DoAction
contextmenu.addScript.buttoncondaction = P\u0159idat skript ud\u00e1losti tla\u010d\u00edtka - BUTTONCONDACTION
contextmenu.addScript.clipactionrecord = P\u0159idat skript ud\u00e1losti instance - CLIPACTIONRECORD
contextmenu.addScript.doinitaction = P\u0159idat inicializa\u010dn\u00ed skript spritu - DoInitAction
contextmenu.addScript.doinitaction = P\u0159idat inicializa\u010dn\u00ed skript spritu - DoInitAction
#after 18.4.1
warning.cannotencrypt = VAROV\u00c1N\u00cd: Soubor %file% byl za\u0161ifrov\u00e1n pomoc\u00ed HARMAN Air \u0161ifrov\u00e1n\u00ed.\r\nByl \u00fasp\u011b\u0161n\u011b roz\u0161ifrov\u00e1n pro na\u010dten\u00ed, ale pokud budete cht\u00edt soubor ulo\u017eit,\r\n\u0161ifrov\u00e1n\u00ed se ztrat\u00ed ( = nebude za\u0161ifrov\u00e1n).