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

Как делаются билдеры билдов на сишечке

Exfazo

(L3) cache
Забанен
Регистрация
29.01.2021
Сообщения
268
Решения
1
Реакции
37
Пожалуйста, обратите внимание, что пользователь заблокирован
Всем привет интересуюсь вопросом в шапке. Так вот, как это делается? В билдере есть компилятор? Или сам билд закидывается в ресы белдера и при билдинге в билд ресурса за меняются какие то данные(строки например) и он тупо сохраняется на диск. Я хз даже каким способом люди пользуются?
 
Или сам билд закидывается в ресы белдера и при билдинге в билд ресурса за меняются какие то данные(строки например) и он тупо сохраняется на диск.
Ага, так и делают.Только ресурс не заменяют, а добавляют
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ага, так и делают.Только ресурс не заменяют, а добавляют
А есть же в паблике билдеры которые компилируют сурсы?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
По разному, но обычно так - ищется в файле строка / смещение / ресурс / секция, ну т.е. место, где указаны данные пользователя / адверта. И билдер их перезаписывает.

билдеры которые компилируют сурсы?
при желании, можно закодить на скриптах какой то билдер, что соберет сорцы, заменив какие-то там данные на этапе компиляции. Вопрос только, зачем оно надо. Когда-то такое делали для крупных ботнетов, софт на сервере пересобирал бота раз в Х часов и прогружал.
 
А есть же в паблике билдеры которые компилируют сурсы?
Там ничего сложного, просто запустить компилятор с аргументами.Также можно использовать MSBuild.Но на мой взгляд, билдеры которые работают с бинарем лучше.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Смотря, что нужно делать в билдере. Если нужна обфускация/морфинг, то это проще делать на уровне сорсов: обрабатываешь сорсы и скармливаешь компилятору. Есть библиотеки (типа lief), которые в теории могут позволить бинарщину поморфить, но это уже другой уровень сложности.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я видел реализацию C loader'а с билдером на шарпах. Распаковывается компилятор и дальше работа как в CodeDom)
 
По хорошему, автор, билдер надо делать методом патчинга стаба в памяти, с последующим сохранением патченной версии на диск.
Пример: внутри стаба есть переменная byte config[] = { "CONFIG_WILL_BE_HERE" }, тебе требуется считав стаб в память, найти эту строку и заменить на конфигурацию. (Так как мы выделили 50к байт, остальное место забито нулями.)
Зараннее предугадываю твой вопрос - "Как извлечь строки из конфига?", всё просто, пиши туда DWORD'ом размер строки, и строку после него, тогда ты без проблем сможешь достать её.
 


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