• XSS.stack #1 – первый литературный журнал от юзеров форума

Нативный компилятор приходит в мир дотнетов

DildoFagins

TPU unit
Забанен
Регистрация
11.08.2020
Сообщения
4 315
Решения
2
Реакции
5 265
Пожалуйста, обратите внимание, что пользователь заблокирован
В дотнетах 7.0 давно анонсировали нормальный AOT-компилятор, который будет компилировать эти ваши шарпы в нативный код, который не будет требовать установленный на систему фреймворк. Естественно, бинарники будут жирноваты (на уровне голанга), но кого это волнует в 2022 году. Есть логичный ряд ограничений, типа отсутствие рефлекшена и генерации кода через рефлекшн.эмит, но в малвари это вряд ли нужно. Седьмой дотнет должен выйти в ноябре вроде, так что ждем первых копипастенных стиллеров с гитхабов на шарпах, скомпиленных в нативный код. Но можно уже попробовать это потыкать:
 
Пожалуйста, обратите внимание, что пользователь заблокирован
В эльф будет конпелировать?
В традиционный ориентации эльф (х64) должен, насчет всяких армов не уверен. Даже в мачо по идее должен.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
нативный код, который не будет требовать установленный на систему фреймворк.
А какой в этом смысл? Зачем они это сделали в 2022 году? Если не брать в рассчет малварь и т.п.
Если бы во времена ХР такое сделали, было бы актуально, но сейчас зачем?
 
А какой в этом смысл? Зачем они это сделали в 2022 году? Если не брать в рассчет малварь и т.п.
Если бы во времена ХР такое сделали, было бы актуально, но сейчас зачем?
скорее всего софты под типу стилеров, кейлогеров проще и быстрее пишутся на шарпе и так же обфускатор под него написать и поддерживать фуд, требует небольшого кол-ва труда и усилий по сравнению с нейтивом. И вообще круто и функционально будет если идет запуск на всех системах. Нейтив так же даст возможность инжекта, что очень гуд (ну это еще протестить надо потом)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Зачем они это сделали в 2022 году?
Запуск больших проектов будет быстрее за счет отсутствие необходимости компилировать методы в нативный код при запуске, потребление памяти будет меньше и тд. Да и как бы найди мне систему, где фреймворк 7.0 будет предустановлен. И дело не только в венде, на линуксах и маках еще меньше людей захотят себе фреймворк устанавливать ради одной программы на нем. А так один исполняемый файл (хоть и жирный) запустил - и вот тебе программа.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
скорее всего софты под типу стилеров, кейлогеров проще и быстрее пишутся на шарпе и так же обфускатор под него написать и поддерживать фуд
Как бы и там и там винапи, хотя может за счет более простой работы с памятью и быстрее.. не знаю. Но мне интересно было с не-малваре целью - в плане, чем руководствовались в негрософте, врядли там думали про кодеров стиллеров.

Да и как бы найди мне систему, где фреймворк 7.0 будет предустановлен.
Тогда да, логично, я думал это сделают для всех версий дотнета.
Хотя на винде вроде как автоматом могли бы установить хоть 7ой фреймворк хоть что (все равно апдейты качаются и никто не знает, что там). для линуксов же мб и актуально.
 
А так один исполняемый файл (хоть и жирный) запустил - и вот тебе программа.
Не,в случае нативной компиляции он жирным не получается,у ника с видео 2мб всего
Жирным он получается при self contained сборке,где дотнет идет с склеиным с испольняемым файлом(там хелловорлд будет под 70-80 метров весить)
Я пока не тестил,но как мне сказал знакомый,работает пока хреновенько
Кстати мне прям обидненько стало когда ты сюда вкинул до того как я успел потестить :)
Если бы во времена ХР такое сделали, было бы актуально, но сейчас зачем?
Тот дотнет о котором тут(на форуме) обычно говорят - виндовый dotnet framework который давно перестал поддерживаться майкрософтом,актуальные версии c# под него не скомпилишь
Сейчас все пишут на просто dotnet 5/6/7 или dotnet core кроссплатформенных которые гораздо шустрее,но по дефолту их в винде конечно не стоит
Так что скорее всего для удобства создания десктопных приложений на современных версиях языка
врядли там думали про кодеров стиллеров.
Проиграл
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
у ника с видео 2мб всего
Ну я писал, что жирный на уровне голанга, для программы из одной функции два мегабайта - это таки жирно, как у голанга жирно (хеллоу ворлд на голанге мегабайт 1-2 будет, наверное).
 
Ну я писал, что жирный на уровне голанга, для программы из одной функции два мегабайта - это таки жирно, как у голанга жирно (хеллоу ворлд на голанге мегабайт 1-2 будет, наверное).
Там же флаги компилятора есть что бы дебаг информацию на выходе с бинарника чистить
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Там же флаги компилятора есть что бы дебаг информацию на выходе с бинарника чистить
Ты про голанг или про дотнет? И там и там есть RTTI-таблицы, которые можно парсить (что последние версии ida pro достаточно успешно делают для голанга). В случае дотнета они нужны для рефлекшена (хотя не уверен, что рефлекшн будет поддерживаться в такой сборке, нужно смотреть), в случае голанга для реализации интерфейсов. Эти таблицы не относятся к дебаг информации, они нужны самому рантайму языка для корректной работы. Да и потом, там и без них куча всего, что делает бинари жирными, сборщик мусора тот же.
 
Ты про голанг или про дотнет? И там и там есть RTTI-таблицы, которые можно парсить (что последние версии ida pro достаточно успешно делают для голанга). В случае дотнета они нужны для рефлекшена (хотя не уверен, что рефлекшн будет поддерживаться в такой сборке, нужно смотреть), в случае голанга для реализации интерфейсов. Эти таблицы не относятся к дебаг информации, они нужны самому рантайму языка для корректной работы. Да и потом, там и без них куча всего, что делает бинари жирными, сборщик мусора тот же.
Я в ообщем, на голагле не часто пишу, но читал в книге, что там флаг есть - go build -ldflags "-w -s" который бинарник на 30% уменьшает.

1666264403698.png
 
go build -ldflags "-w -s" который бинарник на 30% уменьшает
-w указывает что программа будет оконной и всё в том духе. Есть еще go build -trimpath который удаляет лишние пути. Но нужно смотреть какие модули ты используешь - чем меньше зависимостей тем будет лучше по размеру. Но go-lang обычно не используется для вирусов
 
-w указывает что программа будет оконной и всё в том духе. Есть еще go build -trimpath который удаляет лишние пути. Но нужно смотреть какие модули ты используешь - чем меньше зависимостей тем будет лучше по размеру. Но go-lang обычно не используется для вирусов
Есть книга Go for black hat, ещё не дочитал, но в планах есть. Это сообственно из неё узнал.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
который бинарник на 30% уменьшает
30% от 10мб - это 3мб, какие ты флаги ему не указывай, бинари все равно будут куда жирнее, чем от других нативных языков, и все равно будут иметь RTTI-таблицы.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх