байткод, который будет сгенерирован при помощи bytenode скорее всего не будет работать внутри NW.js , так как в NW.js используется пропатченая версия ноды.Проверьте!
это только упростит задачу злоумышленнику. В таком коде будет меньше мусора и проще будет понять логику.ну я бы так не сказал, что все знают WebAsm!)
В итоге, оригинальный код теряется в миллионах "мусорных" инструкций.Это хорошо только для исполняемых файлов (да и не так сильно теряются-то при отладке во время выполнения...).
не знаю ничего круче, чем сделать это 2-3 мя функциями на С, скомпилированных в webasm, которые будут загружать зашифрованные JS-данные для дальнейшего исполнения.
Это хорошо только для исполняемых файлов (да и не так сильно теряются-то при отладке во время выполнения...)
Вы не поняли как работают протекторы.Нет. Вы ошиблись.
Я говорю про то, что этот же функционал можно повторить указанным мной способом в любой среде исполнения
Вы хотите сказать, что виртуалка из exe-шника надёжнее виртуалки на основе webasm - это, скорее всего ВЫ не поняли, как работают протекторы/дебаггеры.
Я понял, что Вы увидели Энигму и "тащитесь" на волне эйфории и предвкушения того, как она будет надёжна, когда попробуют добраться до исходника вашего проекта!
Т.к. у Вас нет никакого другого опыта, особенно - собственного алгоритма/решения защиты.
Не-а, не повторите. Результат компиляции в WebAssembly представляет собой AST для готовой виртуальной машины, которая никогда не меняется, и принцип работы которой у злоумышленника как на ладони - https://github.com/sunfishcode/wasm-reference-manu...ОК!
Также у него есть исходники V8, чтобы достать наш код из рантайма.
И ко всему этому этот код никаким образом не сопротивляется отладке.
Небольшой секрет - приложение, которое накрыто протектором, у Вас не выйдет легко и просто запустить под отладчиком.Ну, вот, опять! Всё можно запустить и отладить с помощью kernel-hook-dbg (только вот спорить не нужно тут!)!
Могу предположить, что у вас нет большого опыта в сферах, которые не связаны с WEB'ом, иначе я не могу объяснить фанатичную веру в WebAsm и веру в то, что если этот код скомпилирован, то никто не узнает что там внутри.(я не пишу с маленькой местоимение при обращении, но не суть!) Никто не думает, что никто не узнает. Сложность выявления того, что он делает там достаточно высока, чтобы этим пользоваться для затруднения восстановления логики работы всего исходного кода приложения.
Ну, вот, опять! Всё можно запустить и отладить с помощью kernel-hook-dbg
Открою тоже секрет тогда: виртуальная машина - это то, что находится между webasm и js! (а не то, про что Вы подумали) Это тот же block-chain, который пронизывает всю логику вызовов.
Сложность выявления того, что он делает там достаточно высока, чтобы этим пользоваться для затруднения восстановления логики работы всего исходного кода приложения.
Есть ещё множество способов, которыми можно защищать не хуже JIT.
Да та же асинхронность исполнения - уже действенное припятствие!
каждый раз "придумывают" новый "язык программирования" со своей уникальной архитектурой, набором инструкций и т.д, и генерируют для него виртуальную машину.в Вашем понимании.
Я что-то не уверен, что кто-то решится на самостоятельную разработку подобного решения под свой проект.Речь про сложность тут идёт, а не про желание. Если надо - проблем не будет, чтобы разработать.
Ладно. Вижу, что Вы не знаете глубже. Поясню "на пальцах".