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

Какой самый лучший обфукатор для c++

Пожалуйста, обратите внимание, что пользователь заблокирован
Пожалуйста, обратите внимание, что пользователь заблокирован
Да, юзай LLVM, опыт показывает что для плюсов лучше нет (я не пробовал, но видел результаты).
А снять можно все, вопрос только времени и сил у реверсера.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вообще говоря, я еще не видел ни одного хорошего оупенсорсного обфускатора для плюсов.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вообще говоря, я еще не видел ни одного хорошего оупенсорсного обфускатора для плюсов.
llvm-obfuscator довольно хорош. Только со сборкой под винду ебля.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Залил вот тут собранный llvm-obfuscator, можете потестить обфускацию сами:
У вас должно быть более 5 сообщений для просмотра скрытого контента.

pass: xss.pro

Я тестил, вроде как корректно работает.
Вот тут можно глянуть примеры: https://habr.com/ru/post/213259/
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Самый лучший - это написанный руками. Даже приваты быстро снимаются, а паблики вообще, на раз два
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Самый лучший - это написанный руками. Даже приваты быстро снимаются, а паблики вообще, на раз два
Ну попробуй сними тот же llvm-obfuscator, которому около 5 лет. Хоть и есть средства ускоряющие процесс де-обфускации, руками там придётся чистить многое.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну попробуй сними тот же llvm-obfuscator, которому около 5 лет. Хоть и есть средства ускоряющие процесс де-обфускации, руками там придётся чистить многое.
кста, ты будешь поддерживать свой обфускатор? Если подятнешь регулярки и возьмешь скриптовый язык, то получится вполне неплохой и рабочий обфусактор
 
Пожалуйста, обратите внимание, что пользователь заблокирован
кста, ты будешь поддерживать свой обфускатор? Если подятнешь регулярки и возьмешь скриптовый язык, то получится вполне неплохой и рабочий обфусактор
Поддерживать - точно нет, проще написать с нуля, чем упираться в постоянные костыли. Обфускатор вряд ли я буду когда-то писать, морфер возможно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
На зп в месяц от 10к$
Лол! То неимоверно грустное чувство, когда ты в вайтхэте зарабатываешь в два раза меньше, чем предлагают в блекхэте.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Лол! То неимоверно грустное чувство, когда ты в вайтхэте зарабатываешь в два раза меньше, чем предлагают в блекхэте.
Повод задуматься ?
 
Лол! То неимоверно грустное чувство, когда ты в вайтхэте зарабатываешь в два раза меньше, чем предлагают в блекхэте.
Извините за флуд, но тоже про это подумал уже давно.)

Причем разница может составлять в десятки раз больше, чем работа в вайт сфере...

Другое дело, что в большинстве случаев в блеке не такие интересные задачи, нет конечно что-бы написать стилер, криптолокер хороший, или ботнет, тоже нужно много чего знать и это на самом деле нетак-уж и просто.

Но все-же, это не какая-то глобальная задача, хотя идея с обфускатором может даже и интересно было-бы, но требует титанических усилий, мне кажется одному это очень тяжело делать.)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Но все-же, это не какая-то глобальная задача, хотя идея с обфускатором может даже и интересно было-бы, но требует титанических усилий, мне кажется одному это очень тяжело делать.)
Я делал много обфускаторов, в том числе и для сишечки с плюсами, но делал это на уровне AST, а не LLVM'a. Всегда, когда дело доходит до LLVM'a задаешься вопросом, вот допустим, что мы хотим пошифровать строки. Самый лучший вариант - не дешифровывать их на старте, а расшифровывать на стек например. В LLVM IR они лежат отдельно от кода, то есть надо будет найти, где каждая строка используется в коде и туда вставить дешифратор с выделением памяти на стеке или куче. При этом константные данные могут быть использованы в другом модуле (ну окей, в сишечке и плюсах нет модулей, имеется ввиду другой файл с исходными кодами), и тут у нас нерешешаемая проблема, если только не заставлять разработчика линковать все bc-файлы в один большой bc-файл с помощью llvm-link или как то так он назывался там. На уровне AST ты просто, если находишь строковый литерал внутри функции, тут же выделяешь стековую память для расшифровки и литерал заменяешь на вызов функции дешифровки. Если строковый литерал объявлен в глобальном скоупе, то дешифруешь его на старте, тут уж ничего не попишешь, но хотя бы это можно сразу определить.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Лол! То неимоверно грустное чувство, когда ты в вайтхэте зарабатываешь в два раза меньше, чем предлагают в блекхэте.
Извините за флуд, но тоже про это подумал уже давно.)
Повод задуматься ?
че творит 2020 год)))
Я делал много обфускаторов, в том числе и для сишечки с плюсами, но делал это на уровне AST, а не LLVM'a.
Я тоже примреное такое делал, только для сижки и парсил данные питоном. + макросы тоже отличная штука. Но у меня был по семплам, что гораздо легче. Но ща за такие штуки хорошие бабки платят.
Обычно я генерил асм инструкции тип обнуления регистра + кучу бесполезных операции и вставлял как _asm инструкцию. Помогало.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я делал много обфускаторов, в том числе и для сишечки с плюсами, но делал это на уровне AST
Интересно бы было глянуть реализацию.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Интересно бы было глянуть реализацию.
Не, это привад). Но по сути: берешь libclang (или pycparser, если нужна только сишечка, или srcml, если уж совсем охото поупарываться xml-представлением сосров), парсишь, обходишь дерево, заменяя некоторые узлы, профит. Алгоритмы все известны и описаны в интернетах, некоторые на уровне AST чуток сложнее (типа control flow flattening), некоторые попроще (типа шифрования строк и константных данных и генераторы мусорного кода). Вообще я бы канеш посмотрел, как некоторые вещи реализованы в Tigress (они вплоть до виртуализации на уровне AST сделали), но к сожалению они кому попало ее для тестов не дают, а сорсы тем более (да даже, если бы они выдавали сорсы, то тут тоже хер поймешь, тк она вроде на OCaml'е написана). Наверное Tigress сейчас самый топовый по технологиям обфускатор на уровне AST, если вдруг он у кого-то есть, скиньте мне его в личку штоль.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пожалуйста, обратите внимание, что пользователь заблокирован
Не, это привад). Но по сути: берешь libclang (или pycparser, если нужна только сишечка, или srcml, если уж совсем охото поупарываться xml-представлением сосров), парсишь, обходишь дерево, заменяя некоторые узлы, профит. Алгоритмы все известны и описаны в интернетах, некоторые на уровне AST чуток сложнее (типа control flow flattening), некоторые попроще (типа шифрования строк и константных данных и генераторы мусорного кода). Вообще я бы канеш посмотрел, как некоторые вещи реализованы в Tigress (они вплоть до виртуализации на уровне AST сделали), но к сожалению они кому попало ее для тестов не дают, а сорсы тем более (да даже, если бы они выдавали сорсы, то тут тоже хер поймешь, тк она вроде на OCaml'е написана). Наверное Tigress сейчас самый топовый по технологиям обфускатор на уровне AST, если вдруг он у кого-то есть, скиньте мне его в личку штоль.
а можно семплы посмотреть. Тип до и после
 


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