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

Conti 3.7 (Слив от 2023-03-05 )

Заведи несколько глобальных переменных передавай вычисляемое значение в них, сделай так что бы эти переменные использовались в разных функциях почти по всему коду, а так же что бы сами значения не просто сохранялись\загружались, в использовались где-то в ветках недостижимого кода, например держи значения в пределах 0-10 и в треш коде, который никогда не выполнится по заведомо ложным условиям выводи MessageBox используя эти значения 0-10, как индекс в массиве ссылок на строки. Это как один из бесконечного множества вариантов, которые можно придумать.
Я так и хотел изначально, но меня как-то смущал тот факт, что мои волшебные макросы никак не влияют именно на локальное состояние внутри скоупа)
 
Смотря какие. В общем случае локальные переменные располагаются на стеке, глобальные в секции .data PE-файла.
Получается в .data попадают и константы и статики?
 
А есть тогда вообще какая-то разница между глобальными и обычными переменными с точки зрения ассемблера?
Локальная переменная это просто место на стеке, она появляется при входе в функцию, и удаляется при выходе из нее, то есть если ты что-то морфишь в пределах одной функции, тебе придется нормально так придумать условий, которые не сможет оптимизировать компилятор, что бы твой треш не удалился. С глобальными переменными проще, они существуют все время, пока твоя программа запущена. Они находятся в разных секциях, обычно это rdata и data
В rdata находятся глобальные переменные-константы, которые не меняются, потому что секция доступна только на чтение как правило, в data лежит то, что можно изменить, там права rw
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Получается в .data попадают и константы и статики?
Ну обычно константы в отдельной секции (rdata), которая не имеет прав на запись.
 
Я так и хотел изначально, но меня как-то смущал тот факт, что мои волшебные макросы никак не влияют именно на локальное состояние внутри скоупа)
Еще помимо глобальных переменных очень хорошие результаты дают игры с динамичными структурами в выделяемой памяти. Они тоже никак не могут быть оптимизированны.
1678910031407.png
 
что бы твой треш не удалился
в раст, к счастью, есть аннотации, которые позволяют запретить LTO в любом виде)
в data лежит то, что можно изменить, там права rw
спасибо
 
Пожалуйста, обратите внимание, что пользователь заблокирован
в раст, к счастью, есть аннотации, которые позволяют запретить LTO в любом виде
LTO работает условно на уровне функций, внутри функций оптимизатор может удалять ничего не значащий код вне зависимости от LTO. LTO - оптимизации времени линковки, в основном используется для DCE - например, удаления функций, которые не вызываются.
 
LTO работает условно на уровне функций, внутри функций оптимизатор может удалять ничего не значащий код вне зависимости от LTO. LTO - оптимизации времени линковки.
Код:
if false { ... }
То есть без lto такой кусок все равно резанется? Моя жизнь никогда не будет прежней)
Но аннотации все равно должны работать, я проверю это сейчас
 
Пожалуйста, обратите внимание, что пользователь заблокирован
То есть без lto такой кусок все равно резанется?
Да, должен срезаться, если у тебя оптимизация включена.
 
Код:
if false { ... }
То есть без lto такой кусок все равно резанется? Моя жизнь никогда не будет прежней)
Но аннотации все равно должны работать, я проверю это сейчас
Просто используй заведомо ложные условия, которые не сможет просчитать компилятор, опять же на основе глобальных переменных или выделяемой памяти
 
Дурачок, причем тут я и шамель, как ты меня и его вообще связал вместе?
Вы вместе кодели чудо стиллер.
Не сливайся, присылай на MASM
бери паблик Пони и делой. там и детекты и рабочий софт без изъёбов
 
Пожалуйста, обратите внимание, что пользователь заблокирован
тут вроде сорсы Конте обсуждали, как перешли к элитным бинарным морферам, которые морфят сорсы
я тебя умоляю кому нах интересны сорцы конти, они валяютсо в сети уже год.
arsarsov ты упоминал про то что не хуево бы свой линкер написать, а почему не BOF\COFF loader?
Может не стоит и линковать вообще, грузим че есть, предоварительно собрав в виде PIC?
Готовя PIC код его морфим - а готовые .o файлы грузит лоадер - на чистку котоорого и нужны основные усилия -
код получится модульным .o или .obj можно грузить не дропая на диск вообще - тем же образом как коба грузит свои BOFы
Ну к тебе так-то этот эпитет тоже вполне применим здесь. Километры матершины успел написать, а толку никакого.
Я однако удивлен, читаю этот форум уже четвертый год и не видал чтоб у Рела так пукан подорвало, кому-то нужно ачивку выдать)
Даже Ванька Топор не смог довести до такого а ведь он илитные морфера бинарей и на bash умел
А есть тогда вообще какая-то разница между глобальными и обычными переменными с точки зрения ассемблера?
подумай так - какая разница между глобал перемеными и обычными в контексте построение AST дерева
точнее: дело не в разнице между типами данных а дело в том куда ты поместишь и тех и тех - при условии что тебе нужно абстрактное синтаксическое дерево построить.
в использовались где-то в ветках недостижимого кода
Для тех кто хочет почитать про это буржуи называеют такое - dead code obfuscation, если я правельно понял цитируемого.

Еще вопрос: у вас же стрго синхроный код по схеме:
Бинарь -> дизасм бинаря -> перевод дизасма на FASM -> морфинг и перекомпиляция
...морфится верно? Асинхронщина - не переживет такие вещи - в смысле там такую багу выхватишь, что скорее состаришься чем отдебажишь

Вообще у меня опыта не много в морфе - хоть бинарей хоть сорцов - но как показывает практика: EDR строго похуй че у вас там за deadcode -
если что то лезет читать к примеру кукисы хрома юзая винапи или прямой сискол(как по учебнику) - то это что то будет уничтожено в 100% как таракана тапком под Cortex \ Sentinel.
Даже я бы это описал бы по иному - там такая логика - все что подпадает под определение - попытка чтения сикретов браузера - и не является этим браузером - будет безбожно вырезано

Если кому то интерено шлите семпл - у меня поднят стенд с Cortex \ sentinel \ carbon \ falcon там уже не один десяток стилеров опозорился да и прочей малвари тоже было дохера
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Я однако удивлен, читаю этот форум уже четвертый год и не видал чтоб у Рела так пукан подорвало, кому-то нужно ачивку выдать
Так выглядит НЕ подорванная жопа:
Или ты в шары ебешься ?
Или плашка "эксперт" уже настолько твой мозг проела, что ты считаешь, что если тебе не под силу что-то, то и другим тоже ?
Ну либо публично признай что ты пизд#бол последний на этом форуме.
потому что я разь#бываю таких у#банов как ты
петухам и пизд#болам не имею интереса что-то доказывать
иди нах#й, еще я какие-то левые бинари буду морфить, а он их будет использовать, совсем в край ох#ели
... и тд. Как выглядит подорванная жопа:
Да ради Бога, хочешь хочешь ходить по неоправданно сложному пути - ходи, вообще никаких проблем у меня с этим нет. Мне же такие хождения не уперлись никуда
Ну к тебе так-то этот эпитет тоже вполне применим здесь. Километры матершины успел написать, а толку никакого
Да куда мне до ваших элитных приватов, хоспаде...
Смотрите не перепутайте, друзья...
 
Пожалуйста, обратите внимание, что пользователь заблокирован
написать свой дизассемблер
а зачем писать свой? Есть capstone тот же.
Находишь секцию с кодом, пробегаешься capstone и меняешь инструкции. Есть проблема только в том, что относительные прыжки придется фиксить.
Ну есть еще несколько проблем со сборкой PE файла (по типу размер секции новый, может еще выравнивание придется подкорректировать)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Так выглядит НЕ подорванная жопа:
то что у твоего опонента полыхает сильнее, спору нет.
upd - но и тебя я таким не видел не разу)
 
Последнее редактирование:
а зачем писать свой? Есть capstone тот же.
Находишь секцию с кодом, пробегаешься capstone и меняешь инструкции. Есть проблема только в том, что относительные прыжки придется фиксить.
Ну есть еще несколько проблем со сборкой PE файла (по типу размер секции новый, может еще выравнивание придется подкорректировать)
capstone и xed/lced юзаю еще с незапамятных времен
Тут в этом топике чегото полезного 0,1%. Только публичный обосрач. Может в личке выясните отношения у кого яйца больше?
 
Последнее редактирование:
arsarsov ты упоминал про то что не хуево бы свой линкер написать, а почему не BOF\COFF loader?
Может не стоит и линковать вообще, грузим че есть, предоварительно собрав в виде PIC?
Готовя PIC код его морфим - а готовые .o файлы грузит лоадер - на чистку котоорого и нужны основные усилия -
код получится модульным .o или .obj можно грузить не дропая на диск вообще - тем же образом как коба грузит свои BOFы
Да, это идея интересная, очень даже, правда неприменимо к каким-то большим проектам, которые уже имеют некоторую кодовую базу, и переводить это все в PIC достаточно долго и проблематично. А вот если что-то с нуля начинать сразу в этом духе - то затея неплохая.

Еще вопрос: у вас же стрго синхроный код по схеме:
Бинарь -> дизасм бинаря -> перевод дизасма на FASM -> морфинг и перекомпиляция
...морфится верно? Асинхронщина - не переживет такие вещи - в смысле там такую багу выхватишь, что скорее состаришься чем отдебажишь
да нет проблем не будет, потому что я не морфлю неизвестные бинари левые, я занимаюсь пересборкой тех бинарей которые откомпилировал сам, а там у меня есть отладочная инфа и я знаю где находится каждая переменная, каждая функция, каждый байт
это все очень просто разграничивает на код и данные

если что то лезет читать к примеру кукисы хрома юзая винапи или прямой сискол(как по учебнику) - то это что то будет уничтожено в 100% как таракана тапком под Cortex \ Sentinel.
если не получается в лоб, можно пойти обходным путем
подумай, какой экзешник официально может получать доступ к файлам хрома ? правильно - сам хром, дальше думай что с этим можно сделать))
 
Так выглядит НЕ подорванная жопа:






... и тд. Как выглядит подорванная жопа:



Смотрите не перепутайте, друзья...
Рядом со мной ты конечно одуванчик, но не надо прятаться за моей трехметровой пеленой мата, ты вчера повел себя нетипично по-уебански, и тебя по факту выше ткнули в это носом.
Будем надеяться что у тебя был просто вчера плохой день и нервы шалили.
 


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