The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Wasmer 1.0, инструментарий для платформонезависимых приложений на базе WebAssembly, opennews (?), 06-Янв-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


15. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +3 +/
Сообщение от ASIC (ok), 06-Янв-21, 18:06 
Сама технология WebAssembly довольно интересна. Мне кажется в комментариях идет неправильное сравнение с  Java .Net поскольку цели разные.  WebAssembly скорее всего  нужно сравнивать с  Flash, Silverlight i аплетов. Цель WebAssembly изначально помочь в независимости кода и языка. В данный момент есть только 1 язык программирования который работает в браузерах и это  Java Script.
WebAssembly меняет  это и позволяет разработчиками использовать/компилировать существующий код (C /С++ , rust) через LLVM и напрямую использовать его в браузер особенно там где Java Script не справляется из за недостатках в скорости.  WebAssembly не разрабатывается одной компанией у который одни цели как это было с Flash, Silverligh а группой компании, что дает многие преимущества.
Тут должно идти сравнение с Java Script а не с Java.
Ответить | Правка | Наверх | Cообщить модератору

21. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +2 +/
Сообщение от Урри (ok), 06-Янв-21, 18:15 
Что ты хочешь от мамкиных анонимов? Они, например, в каждой теме вопят, что wasm не читабельный, поэтому через него попрут тысячи троянов. Каждый раз им тыкают asm.js в морду. И каждый раз они ни на чем не учатся и продолжают нести ахинею.
Ответить | Правка | Наверх | Cообщить модератору

32. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +1 +/
Сообщение от Здрасьте (?), 06-Янв-21, 18:47 
asm.js и webasm это совсем разные вещи.
Ответить | Правка | Наверх | Cообщить модератору

71. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +2 +/
Сообщение от Урри (ok), 06-Янв-21, 20:33 
Майнить можно и там и там. И там и там ты не поймешь по коду, что оно делает.
Ответить | Правка | Наверх | Cообщить модератору

132. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Аноним (131), 07-Янв-21, 19:29 
Да, из asm.js можно вызывать произвольный API, а из wasm только разрешённый яваскриптом. Ещё весь wasm-бинарник должен быть скомпилирован перед запуском, а asm.js может компилировать отдельные функции по необходимости. На этом отличия заканчиваются. Mozilla молодцы, не дали протащить полноценные бинарники в стандарт.
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

37. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +1 +/
Сообщение от анонимит (?), 06-Янв-21, 19:08 
А он и не является безопасным. Можно даже из браузера крипту майнить как некоторые и делают.
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

51. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +2 +/
Сообщение от ASIC (ok), 06-Янв-21, 19:56 
А что Java Scipt безопастный и в нем нелзья  крипту майнить  ?
Ответить | Правка | Наверх | Cообщить модератору

80. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от анонимит (?), 06-Янв-21, 20:57 
Под JS ме-д-ле-н-нее
Ответить | Правка | Наверх | Cообщить модератору

98. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  –1 +/
Сообщение от Аноним (98), 07-Янв-21, 00:05 
wasm не читабельный, поэтому через него попрут тысячи троянов.
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

117. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Аноним (115), 07-Янв-21, 11:10 
Трояны не попрут. Попрёт DRM для сайтов.
Ответить | Правка | Наверх | Cообщить модератору

124. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Михаил (??), 07-Янв-21, 13:11 
Тоже зловред, только более мерзкий.
Ответить | Правка | Наверх | Cообщить модератору

127. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Аноним (127), 07-Янв-21, 15:23 
>Java Script

А можно по-подробнее, что это за язык такой?

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

27. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  –2 +/
Сообщение от nelsonemail (??), 06-Янв-21, 18:31 
> В данный момент есть только 1 язык программирования который работает в браузерах и это  Java Script.

Да, какое "упущение". Но теперь-то "заживём" - пользователю будут прилетать не только жаба-скрипты, но также и всякое скомпилированное дерьмо.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

31. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Урри (ok), 06-Янв-21, 18:46 
> Но теперь-то "заживём" - пользователю будут прилетать не только жаба-скрипты, но также и всякое скомпилированное дерьмо.

Вооооооооот. Подъехал первый мамкин знакток. А я только что написал, буквально 15 минут назад: "Они, например, в каждой теме вопят, что wasm не читабельный, поэтому через него попрут тысячи троянов. Каждый раз им тыкают asm.js в морду. И каждый раз они ни на чем не учатся и продолжают нести ахинею."

Ну давай, мамкин знаток, прочитай и объясни этот ни разу не скомпилированный джаваскрипт (из боевого проекта, между прочим):

function Tb(a) {
    a = a | 0;
    var b = 0;
    b = l;
    l = l + a | 0;
    l = l + 15 & -16;
    return b | 0
}

function Ub() {
    return l | 0
}

function Vb(a) {
    a = a | 0;
    l = a
}

function Wb(a, b) {
    a = a | 0;
    b = b | 0;
    l = a;
    m = b
}

function Xb(a, b) {
    a = a | 0;
    b = b | 0;
    if (!p) {
        p = a;
        q = b
    }
}

function Yb() {
    return
}

function Zb(a) {
    a = a | 0;
    var b = 0,
        d = 0;
    a: do
        if ((a | 0) == 566) d = 0;
        else {
            b = 0;
            while (1) {
                if (a & 3 | 0) break;
                a = c[a + 8 >> 2] | 0;
                b = b + 1 | 0;
                if ((a | 0) == 566) {
                    d = b;
                    break a
                }
            }
            Ca(n + 63 | 0, n + 138 | 0, 1583, n + 149 | 0)
        }
    while (0);
    return d | 0
}

Ответить | Правка | Наверх | Cообщить модератору

44. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Dzen Python (ok), 06-Янв-21, 19:38 
> Глобалки l, m, p, q и с, с соответствующим гнилым кодом в функциях
> Играемся с битовыми операциями: вместо нормального приведения типов у нас пустое "| 0" преде любым использованием, говорящее нам "У НАС ТУТ ЧИСЛО, ИНТЕРПЕРТАТОР!"
> Забытый мусорный Yb()
> if ((a | 0) == 566) d = 0; // ГЕНИАЛЬНО! ВСЯ МОЩЬ ДЖАВАСКРИПТА В ОДНОМ СРАВНЕНИИ
> Е-е-е, самый сложный участок кода, мы флексим сдвигом по элементам глобального массива.

Контекст с глобальными привел бы, для приличия. Код примерно на 2/10

Ответить | Правка | Наверх | Cообщить модератору

54. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +2 +/
Сообщение от Урри (ok), 06-Янв-21, 20:00 
Это автосгенерированный с помощью emscripten на основании чистого C кода javascript. Самый натуральный и обычный javascript, который выполняется даже на супердревних машинах и браузерах (даже на древних мобилах, проверено). Совершенно нечитаемый, само собой, хотя поддерживаемый всеми браузерами, майнер.

Приводится в пример мамкиным икспердам, которые думают, что javascript - это function please_send_me_a_money() { alert('Please, send me a money'); /* My Name Is Vasia and my address is Tomsk, ul. Lenina, 37/122 */ } и кричат "wasm не читабелен, через него придут трояны".

Предлагаю ознакомиться с темой поближе: https://ru.wikipedia.org/wiki/Asm.js

Ответить | Правка | Наверх | Cообщить модератору

61. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  –1 +/
Сообщение от Dzen Python (ok), 06-Янв-21, 20:08 
Ты меня таки не прочитал.
Я попросил контекст глобалок, из которых я смог бы сделать вывод, что это майнер. Данный кусок фактически лишь гуляет по неизвестному глобальному массиву с присваиванием.
Ответить | Правка | Наверх | Cообщить модератору

75. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +2 +/
Сообщение от Урри (ok), 06-Янв-21, 20:38 
Вот этот?

--- cut ---
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.gb|0;var o=env.fb|0;var p=0;var q=0;var r=0;var s=0;var t=global.NaN,u=global.Infinity;var v=0,w=0,x=0,y=0,z=0.0;var A=0;var B=global.Math.floor;var C=global.Math.abs;var D=global.Math.sqrt;var E=global.Math.pow;var F=global.Math.cos;var G=global.Math.sin;var H=global.Math.tan;var I=global.Math.acos;var J=global.Math.asin;var K=global.Math.atan;var L=global.Math.atan2;var M=global.Math.exp;var N=global.Math.log;var O=global.Math.ceil;var P=global.Math.imul;var Q=global.Math.min;var R=global.Math.max;var S=global.Math.clz32;var T=env.abort;var U=env.assert;var V=env.enlargeMemory;var W=env.getTotalMemory;var X=env.abortOnCannotGrowMemory;var Y=env.setTempRet0;var Z=env.getTempRet0;var _=env.invoke_i;var $=env.ftCall_i;var aa=env.invoke_idddd;var ba=env.ftCall_idddd;var ca=env.invoke_ii;var da=env.ftCall_ii;var ea=env.invoke_iii;var fa=env.ftCall_iii;var ga=env.invoke_iiii;var ha=env.ftCall_iiii;var ia=env.invoke_iiiii;var ja=env.ftCall_iiiii;var ka=env.invoke_iiiiii;var la=env.ftCall_iiiiii;var ma=env.invoke_iiiiiii;var na=env.ftCall_iiiiiii;var oa=env.invoke_iiiiiiii;var pa=env.ftCall_iiiiiiii;var qa=env.invoke_iiiiiiiii;var ra=env.ftCall_iiiiiiiii;var sa=env.invoke_iiiiiiiiii;var ta=env.ftCall_iiiiiiiiii;var ua=env.invoke_iiiiiiiiiii;var va=env.ftCall_iiiiiiiiiii;var wa=env.invoke_iiiiiiiiiiii;var xa=env.ftCall_iiiiiiiiiiii;var ya=env.invoke_iiiiiiiiiiiii;var za=env.ftCall_iiiiiiiiiiiii;var Aa=env.invoke_vi;var Ba=env.ftCall_vi;var Ca=env.___assert_fail;var Da=env.___divdi3;var Ea=env.___errno_location;var Fa=env.___muldi3;var Ga=env.___udivdi3;var Ha=env.___uremdi3;var Ia=env._bitshift64Lshr;var Ja=env._bitshift64Shl;var Ka=env._chdir;var La=env._close;var Ma=env._dlclose;var Na=env._dlerror;var Oa=env._dlopen;var Pa=env._dlsym;var Qa=env._emscripten_run_script;var Ra=env._emscripten_run_script_int;var Sa=env._emscripten_run_script_string;var Ta=env._fcntl;var Ua=env._fprintf;var Va=env._free;var Wa=env._fstat;var Xa=env._getenv;var Ya=env._gettimeofday;var Za=env._i64Subtract;var _a=env._ioctl;var $a=env._longjmp;var ab=env._lseek;var bb=env._malloc;var cb=env._memcpy;var db=env._memset;var eb=env._mkdir;var fb=env._mkstemp;var gb=env._modf;var hb=env._nanosleep;var ib=env._open;var jb=env._pipe;var kb=env._read;var lb=env._realloc;var mb=env._signal;var nb=env._stat;var ob=env._stderr;var pb=env._stdin;var qb=env._stdout;var rb=env._strcmp;var sb=env._strerror;var tb=env._strlen;var ub=env._system;var vb=env._tcgetattr;var wb=env._time;var xb=env._uname;var yb=env._unlink;var zb=env._write;var Ab=env.g$_stderr;var Bb=env.g$_stdin;var Cb=env.g$_stdout;var Db=0.0;
--- cut ---

Ответить | Правка | Наверх | Cообщить модератору

92. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от nelsonemail (??), 06-Янв-21, 22:47 
> в каждой теме вопят, что wasm не читабельный, поэтому через него попрут тысячи троянов. Каждый раз им тыкают asm.js в морду

Рукалицо.jpeg. Какая разница что там прилетает пользователю - wasm, asm жаба-скрипт или какой-то другой сорт? Вся эта тьюринг-полная дичь позволяет вытворять (пусть даже чисто теоретически) любую вакханалию на стороне клиента. Читабельно, нечитабельно... Рукалицо.jpeg.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

119. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Аноним (115), 07-Янв-21, 11:58 
А Ca куда зажилил?
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

120. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Аноним (115), 07-Янв-21, 12:03 
Кстати, даже без Ca можно предположить, что указанный кусок кода вычисляет какую-то KDF.
Ответить | Правка | Наверх | Cообщить модератору

30. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Аноним (29), 06-Янв-21, 18:41 
> Сама технология WebAssembly довольно интересна.

Определённому контингенту конечно.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

36. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от анонимит (?), 06-Янв-21, 19:07 
А также Go и другие языки
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

40. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Dzen Python (ok), 06-Янв-21, 19:22 
Ущербна сама концепция webAssembly - завернуть все в браузер, превратив его из рядового пользовательского приложения среди равных приложений в этакое middleware-для-программ. Очень тяжелое middleware. К чему это может привести и во что выродится мы можем наблюдать на примере лисы и хрома.
Если запускать в чистом рантайме, без браузера, то это превращается в такой же java, только другой, как тут справедливо заметили.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

41. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от ASIC (ok), 06-Янв-21, 19:36 
Это очень сильно похоже на ответ «я не буду использовать что то только потому что не хочу». У вас есть какая то лучшая альтернатива которая работает во всех браузерах.  Хочу подчеркнуть слова «работает во всех браузерах» . Тут конечно можно быть недовольным всем миром и  протестовать против всего, только это вот выгладить странно когда есть очевидные преимущества когда начинаешь сравнивать с Java Scryp.
Ответить | Правка | Наверх | Cообщить модератору

46. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +2 +/
Сообщение от Dzen Python (ok), 06-Янв-21, 19:42 
Ты меня не распарсил. Тут претензия не к "работает везде/работает нигде"Ю тут претензия к тому, что прикладную, суть законченно функционально, пользовательскую программу превращают в необходимый middleware. В платформу для запуска.
Ответить | Правка | Наверх | Cообщить модератору

144. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  –2 +/
Сообщение от freecoder_xx (?), 09-Янв-21, 12:22 
В этом нет ничего плохого.
Ответить | Правка | Наверх | Cообщить модератору

104. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от topin89email (ok), 07-Янв-21, 04:18 
Да, но нет.

Wasm сам по себе не содержит сборки мусора. Это делает его подверженным утечкам памяти сильнее, чем Java или .NET. Но это же позволяет делать поративный C, C++ и Rust с кроссплатформенностью и изоляцией. Потенциально это может быть так же безопасно, как Java, но быстрее.

Тут уместнее сравнивать со сдохшей PNaCl, которая то же самое, но от корпорации добра.

Ущербная концепция -- да. Но это логичный эволюционный шаг. Каким бы не был логичным революционный шаг, не имеет значения, его не поддержат. Життя несправедливе и всё такое.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

45. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от Тот_Самый_Анонимус (?), 06-Янв-21, 19:40 
>как это было с Flash, Silverligh а группой компании, что дает многие преимущества

Какие? Что мешало не закапывать флеш всем миром, а пролоббировать/договориться об его открытии и доведении до ума?

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

49. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +1 +/
Сообщение от ASIC (ok), 06-Янв-21, 19:53 
все очень просто: жадность одной групой людей.  Договориться намного легче когда таких груп намного больше. Я знаю что это звучит странно, но как раз боязни потери всего заставляет других груп прийти к здравому смыслу и начать  договариваться. Вот такой вот мотиватор.
Ответить | Правка | Наверх | Cообщить модератору

65. "Wasmer 1.0, инструментарий для платформонезависимых приложен..."  +/
Сообщение от OpenEcho (?), 06-Янв-21, 20:17 
>В данный момент есть только 1 язык программирования который работает в браузерах и это  Java Script.

Вот слово "в браузерах" - это ключевое !

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру