1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

llvm и ко

Тема в разделе "WASM.RESEARCH", создана пользователем superakira, 15 окт 2018.

  1. superakira

    superakira Active Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    486
    Посоны!
    Есть вопрос, хочу странного) например у меня есть апликуха. состоит из кучи цпп (говорим в контексте с++), хочу часть сбилдить стандартным cl от ms, а парочку шлангом с обфускацией и потом это все залинковать.

    Собирать думал ниндзей или еще чем-нибудь чтобы провернуть такое можно было. но вот вопрос - что сейчас в моде по обфускации через ллвм-шланг? делал ли кто в таком ключе?

    Гитхаб смотрел, но это такое) не всегда факт. Надо кучу времени прочекать и не понятно гуд/не гуд. Мало ли кто ткнет что сейчас самое-самое.

    Уровень сорцов не важно, хоть от александреску.

    Заранее спасибо!
     
  2. superakira

    superakira Active Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    486
    я красавчик.

    да можно так сделать. пачку cl пачку clang и слинковать вместе объектники. обфускация робит.
     
  3. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    89
    вы бы сниппеты приложили к посту
     
    M0rg0t нравится это.
  4. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.198
    канеш делал, но тут проблем больше, чем решений... например, шифрование константных данных... находить все места, где происходит их использование в ллвм не тривиально... если расшифровываешь один раз, то скрываемые данные весят в памяти, а потом нужно делать какой-то лок при расшифровке, чтобы не было рейс кондишена в многопоточном приложении... если расшифровываешь каждый раз при использовании - это сильный перформанс оверхед... надо думать, где будет находится буффер для расшифровки... если на стеке, то есть вероятность, что данные не влезут и будет стек оверфлоу... если на куче, то нужно четко знать, когда этот буффер освобождать, а в сишечке и тем более в плюсах - это не тривиально, ну или автоматом добавлять сборщик мусора... потом при освобождении буффера на куче нужно его забить нулями, тк не понятно, когда этот блок будет физически переписан системой, а мы по хорошему не можем позволять секретным данным висеть в памяти дольше, чем нужно... ну и это тоже серьезный перформанс оверхед... ну и так далее...
     
  5. superakira

    superakira Active Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    486
    Rel, мыж уже обсудиди в какой-то ветке на счет ллвм)

    galenkane, ну... смысла нету. в том плане это не кодинг, а батник который запускает мсбилд, для него дает параметры проекта, потом когда собралось, то собирает клангом целевые объектники и копирует за место студийных, дальше удаляет собранный таргет и опять делает мсбилд с параметром билд, так как сорцы не поменялись, то он просто линкует все объектники (надо учесть только коллинг конвеншн если 32 бита). запилить по словам скрипт - дело часа с отладкой.
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.198
    [​IMG]
     
  7. hiddy

    hiddy New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2019
    Сообщения:
    27
    Объясните нубу, зачем llvm если есть готовые инструменты типа vmprotect sdk?
     
  8. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    89
    может потом llvm накрыть получится вмпом
    --- Сообщение объединено, 9 апр 2019 ---
    galenkane, ну... смысла нету. в том плане это не кодинг, а батник который запускает мсбилд, для него дает параметры проекта, потом когда собралось, то собирает клангом целевые объектники и копирует за место студийных, дальше удаляет собранный таргет и опять делает мсбилд с параметром билд, так как сорцы не поменялись, то он просто линкует все объектники (надо учесть только коллинг конвеншн если 32 бита). запилить по словам скрипт - дело часа с отладкой.[/quote]

    akira.png
     
    superakira нравится это.
  9. superakira

    superakira Active Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    486
    Rel, да просто толпой уже флудиди на счет ллвм. было что-то такое тут)
    galenkane, ))) ну типа того, ты меня раскусил) но я ответил, что в скрипте) а запилить не проблема по описанию.
     
  10. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.198
    чтобы разработать свой вмпротект с преферансом и куртизанками, а потом купаться в бабле, накрывая скрипткидивскую малварь...

    а потом еще обернуть в криптор со стабом на дотнете, стопроцентный вариант будет...