Открытие последних дней - то, что у каждого приложения на Electron-платформе в дебрях папок лежит файл app.asar. Это простенький архив, даже не зашифрованный, которые легко распаковывается и открывает исходные коды приложения. Что еще более важно - коды, которые исполняются прямо во время работы программы, так как Electron - это JavaScript.
Что это за приложения? Это
- Skype
- Discord
- OBS-студио
- программисты добавят еще, по своим знаниям
У меня к этому файлу свой интерес - из-за Twine, редактора текстовых квестов. Выяснилось, что сборка Twine настроена таким образом, что по дефолту в этот app.asar складывается вся папка проекта с исходными кодами - включая node_modules и webpack.config. Но с Twine я разберусь сам, да и программа эта изначально опенсорсная. Может быть, это концепция такая у автора (хотя складывать все node_modules - все равно не самая блестящая идея).

Гораздо интереснее, что таким образом можно почитать коды не опенсорсных приложений, к примеру, Skype. Да что там почитать - можно просто залезть в них и поправить таким образом, чтобы изменить поведение программу по своему желанию. Инструкция на Хабре - https://m.habr.com/ru/post/465377/?mobile=yes
Смысл этого поста - в удивлении, а не в инструкции. Но она тоже хороша. Опытный программист на JS, таким образом, может полностью кастомизировать под себя Skype и прочие Electron-приложения. Возможно, в будущем ситуация изменится, но пока вот так. Все незашифровано и файл app.asar легко распаковывается на читабельные и редактируемые файлы, которые можно подменить в работе, как указано в инструкии на Хабре.
Я Skype не модифицирую, занимаюсь только опенсорсными проектами - если это прочитает юридический отдел Microsoft.
Спасибо JavaScript, который уверенно вторгся в нишу приложений для ПК - наконец-то, спустя много лет, я почувствовал себя волшебником.