Визоры больше не нужны

Тема в разделе "WASM.RESEARCH", создана пользователем Rel, 7 окт 2020.

  1. GRAFik

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    Ну это же не мое мнение, а человека который написал книгу про node.js, а я что называется, за что купил, за то и продал. Но с другой стороны в том же реверсинге или безопасности есть масса вещей, которые не требуют высокой скорости исполнения и для которых интерпретируемые языки будут более предпочтительнее. Тот же Immunity Debugger - полностью написан на Питоне. Вы же не будете заниматься прототипированием или какими-то экспериментами на C или ассемблере - можно угрохать кучу времени, пока запрограмируешь что-нибудь нужное. А на том же Питоне все делается гораздо быстрее, а какой-то конечный результат можно уже и на СИ потом переписать. На Матлабе такое обычно практикуется, а Питон и сделали, по-моему, как более доступный вариант Матлаба.

    P.S. А что касается совета про приватные сообщения, то прежде чем давать советы, нужно, наверное, сначала у себя этот доступ по привату проверить - открыт он у тебя или закрыт. На этом форуме, по-моему, приват существует, чтобы ограничивать по нему доступ. :)
     
  2. Aiks

    Aiks Member

    Публикаций:
    0
    Регистрация:
    16 апр 2017
    Сообщения:
    109
    Адрес:
    Украина
    Если ты не хочешь или не можешь задать личный вопрос в PM - это не повод постить оффтоп.
     
  3. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.328
    Сам-то читал написанное? Стадо, не осилившее божественную сишечку, выпросило у разрабов золотой молоток, а теперь возмущается, что он деформируется от забивания стальных гвоздей.

    Много таких "переписывателей"? :)
    Да, для прототипирования и выполнения рутинных операций по предварительной обработке данных скриптовые языки хороши. Но пресловутые девелоперы их используют не так. Они просят к кьюту их забиндить, чтобы гуй на них клепать и в продакшен.
     
  4. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    Rel, имхо js для слабосвязанного кода, и ооп с наследованием там обречены. Там нужны декораторы. ну и самое главное, это вечный глобальный скоуп, и всякие замыкания. Слышал мнение, что js скорее для людей из лиспа, чем для людей из си. Имелся ввиду набор паттернов.
     
  5. GRAFik

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    Народная мудрость гласит: "если нельзя, но очень хочется - то можно". :)
     
  6. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    GRAFik, так тему закроют, она все же про dbi, а не про js-ы питоны
     
  7. GRAFik

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    q2e74, да я все понимаю. Оно как-то само собой неумышленно получилось, потому как в некоторых dbi применяется как раз JS и Python. :)
     
  8. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    GRAFik, ну как это возможно? ты не думал, что это дичь? язык не умеющий обращаться к адресам страниц оперативной памяти, что-то предлагает в дби? Это все обертки, чья задача - парсинг, интерфейс и т.п. Питон без сишных либ нихера не может и не умеет. Какой скил от такого языка, да даже по сравнению с руби? навык считать пробелы либо обкладываться снипетами?
     
    galenkane и Indy_ нравится это.
  9. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Вообще нет особой разницы между Питоном и Руби. Питон только в сотни раз популярнее и, как следствие, имеет библиотеки для всего.

    Это не имеет никакого значения. Есть объективные вещи в языках, знающие программисты их понимают, а есть программисты, которые придераются к пробелам.
     
  10. GRAFik

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    Я-то, как раз, всегда думаю, прежде чем что-то написать, а вот вы, похоже, вообще, не вникаете в чужие посты. :) Ну как такое возможно, особенно когда вступаешь с кем-то в полемику? :)
     
  11. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.328
    Какие, бл, вещи? :)
    Там 90% текста о том, что конструкции вида (![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]; почему-то разворачиваются транслятором в текстовую строку и что сравнение (!) разных (!!) типов (например, контейнеров со скалярами) дает странные (!!!) результаты...
    Зато стотья на гитхабе, презенташка в паверпоинте на конференции, рецензия на хабре. ТруЪ-эксперт, че, можно брать на коворкинг :)
    --- Сообщение объединено, 13 фев 2021 ---
    О, и ты тут причину со следствием перепутал :)
     
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    GRAFik,

    > в некоторых dbi применяется как раз JS и Python.

    Может пример есть ?
    Я вот для примера могу прокрутить их скрипт на машинном уровне, бинарь. Но это написано не на скриптах(дий), а на асм. Это в принципе не может быть написано на скриптах, асм или в худшем случае сишка. Так как это одни из не многих реализаций, где нужно вылизывать код на уровне инструкций на профайл. При трансляции одной инструкции приложения будут выполняться тысячи визора, а это всё тайминг и поэтому обработка должна быть минимальной по всем выборкам и числу инструкций. Для скрипта и даже для сишки такую оптимизацию не сделать. Одно обращение к памяти при обработке понизит профайл апп многократно, тк эта задержка будет выполняться для каждой инструкции апп. К примеру части функций обработки билдятся в памяти, иначе статические условия приведут к тормозам.
    --- Сообщение объединено, 14 фев 2021 ---
    Это старая паблик сборка. Этот участок основного цикла вызывал просадку профайла:

    Код (Text):
    1. ; +
    2. ;
    3. ; Stack switch.
    4. ;
    5. ; Rebuild and make it(Entry/Leave) at init phase(for fast dispatch).
    6. ;
    7. TrEntry proc C
    - его пришлось билдить, как и многие другие процедуры. Активно используется понятие карты вызовов. Как такое скриптом напишешь ??
     

    Вложения:

    • dye.7z
      Размер файла:
      1,3 МБ
      Просмотров:
      151
    q2e74 нравится это.
  13. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.328
    Чушь. Сишка практически построчно в машкод транслируется. Получится то же, что и у тебя на макросах, только имен регистров видно не будет.
     
  14. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    rmn,

    Для этого нужно знать полностью комилятор, что бы вносить изменения на уровне инструкций. Это пишется на асм, как и ключевые места в ОС, такие как обработка ловушек.
     
    galenkane нравится это.
  15. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.328
    Не нужно. Уровень абстракции в сишке - чтобы не было прямой работы с регистрами, не более, а доступные операторы повторяют таковые в х86. Даже хз так навскидку, если там что-то, что более, чем в джве-три инструкции транслируется.
     
  16. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    rmn,

    Часть ядра где идёт обработка ловушек, сервисная и тп написана на асм. Это чтобы не допустить ошибок и не возиться с сишкой. Эти вещи пишут на чистом асм, можно на сишке собрать, но новый её билд сломает всё. Так что незачем натягивать сову на глобус, портабельность такого кода не нужна, поэтому и скрипт не пригоден.
     
  17. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.328
    Indy_,
    Ой, все :)
    Кокие ядра, кокие ловушки? На асме пишут то, что не добавляли в сишку, потому что оно не общего назначения: настройка протектед-мода выполняется единожды при старте системы и больше никогда никем не используется. Впрочем, в последних версиях уже столько интринсиков напихали в компиль, что можно ось написать вообще без асма.
     
  18. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    rmn,

    Ядро нт, вход в него написан на асм. Планировщик так же.

    Мне вот интересно раз речь про интерфейс и гуй, как к визору такое приделать ?

    Тоесть будут рассыпаны по азовому визор-циклу трансляции условные конструкции jcc, которые определяются настройками в гуе ?

    Тогда каждая такая инструкция +задержка на каждую инструкцию апп, а каждая опция гуя тогда помножит тормоза на порядки. Это делается не так, вносятся изменения необходимые в асм сборку, она перезапускается. Там не нужен гуй, необходимые события идут в отладочный или файловый лог, всё что нужно дампиться. Гуй для таких инструментов не нужен, это не отладчик где память визуально отображается и регистры.
     
  19. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.328
    Для того гуй и нужен, чтобы потом этот стометровый лог в блокноте на парсить. Фильтры, поиск, подсветка, вот это все...
     
  20. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    rmn,

    Я реализовал дий, огромное число апп решил и мне не нужен был гуй и сейчас не понимаю зачем он может быть нужен. Может пример приведёшь ?