Search
Write a publication
Pull to refresh
10
0
Rustem @uranusq

Cybersecurity software engineer

Send message

Подправил. Можете хоть тут на хабре запустить)

Вместо кастомной виртуалки действительно можно заюзать WebAssembly - для него нет хороших декомпиляторов. Но с browser API и DOM там удобно не повзаимодействуешь.

Но клиентская обфускация имхо ещё будет долго жить. Так как есть задачи в которых важно исполнение кода именно на клиенте, а его действия желательно подольше оставлять в тайне.

Спасибо за детали касательно Hyperscan!

Да, total с учетом компиляции мерил. Согласен по поводу отдельного замера компиляции, но исходя из последней таблицы - не такой уж большой объем 5 регулярок занимают в памяти)

Вот обновленные результаты: в Rust включил unicode, в C перенес strlen.

strlen отнимает ~0.15ms в этом бенчмарке.

Language | Email(ms) | URI(ms) | IP(ms) | Total(ms)

Rust | 11.66 | 1.70 | 5.13 | 18.48
C PCRE2 | 110.87 | 100.57 | 10.50 | 221.94

Согласен, автор оригинального репозитория этот момент с Rust назвал "оптимизацией" )

Да и вообще, момент с компиляцией регулярок, тоже можно было бы не включать в замеры, если мы измеряем скорость нахождения. Но решил в Бенчмарке#1 оставить всё как было, лишь добавив аналогичный код для Go библиотек.

Да, спасибо, что заметили) Добавил версии библиотек.
Касательно rure-go - компилилась растовская либа версии 1.9.3.

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Reverse Engineer, Research & Development
Senior
From 8,000 €
Python
Golang
Linux
English
JavaScript
Babel