Крис, я хотел написать в личку, но она у тебя забита Помоги с сабжем, чем сможешь. Т.е. суть - нечто большее, чем Мистфаль 2.00 от Зомбы. Линки, статьи, все, все, все Хочется увидеть руку мастера Только давай отталкиваться от того, что файл отродясь без релокаций.
смотри на эврестику иды. можно и без релокаций. это вообще за вечер пищется. в смысле найти все абсолютные адреса. а дальше надо уже дизассемблер за собой таскать.
Спасибо за ответ! Посмотрим... Кста, не хочешь статьей на эту тему разрадиться? Я думаю, не одному мне интересно.
А по поводу дизассемблера... Посмотри мою тему в вирологии про дизасм. Он ведь и данные и код фиг различит! А если есть перекрывающийся код? Крис, дай народу статью Да, еще... Помню, ты писал про снятие обфускации, интересно, круто, НО! Пытался новую фемиду снять... Ниче не получилось. Там динамический код, виртуальная машина... С чего начинать?
Killer > Кста, не хочешь статьей на эту тему разрадиться? > Я думаю, не одному мне интересно. про поиск абсолютных адресов? так уже писал ведь в книге по ида. радикально новых идей в этой области с тех пор так и не появилось. а кому это еще будет интересно? пока только ты один спрашиваешь. > А по поводу дизассемблера... > Посмотри мою тему в вирологии про дизасм. > Он ведь и данные и код фиг различит! в общем случае отличит. данные как правило в секции данных. ну еще можно примитивную эврестику прикрутить типа поиска референсов. только ведь такими темпами мы вторую иду напишем интереснее сделать это без дизсма по поиску сигнатур часто употребляемых комбинаций инструкций. и надежнее и писать быстрре. > А если есть перекрывающийся код? давай не будем а если. идея бредовая уже в зародыше. простая проверка целостности, которая встречается намного чаще перекрывающегося кода - и все. суши весла. > Крис, дай народу статью тут и без статьи можно сказать, что смысла писать подобную халабуду нет. это не есть путь создания не детектируемых вирусов. это просто извращение. простые алгоритмы которые будут корректно хавать 90% файлов пишутся за несколько вечеров, а вот оставшйиеся 10% - это ж даже страшно представить сколько всего нужрно учесть, чтобы их заразить... > Помню, ты писал про снятие обфускации, интересно, круто, НО! > Пытался новую фемиду снять... Ниче не получилось. > Там динамический код, виртуальная машина... С чего начинать? ты же сам ответил, что я писал про деобфускацию, а тут... вирутальная машина. и начинать надо с написания декомилятора. начни с vm protect'а - он попроще будет. а описанный мной метод он вовсе не крутой, а всего лишь "дешевый и сердитый". по хорошему нужно писать свой деобускатор для каждого отдельного случая, а потом еще вычищать код руками, лапами, хвостом и зубами. декомпиляция с последующей компиляцией хороша лишь когда тебе нужно дизасмить быстро и всего лишь один раз. в основном это работает против вирусов.
Killer Изучение ВМ лучше начать с ASProtect и EXECryptor - на кряклабе есть множество статей как по одному так и по другому. В них как раз рассказывают про восстановление завиртуализированных инструкций.
А почему это не есть путь создания недетектируемости? А какой тогда Путь? P.S. Всем спасибо, читаю кряклаб)
dermatolog k3internal мужики не надо говорить за траву. тут и без травы равлечений хватает. девушки нереально горячие и дешевле колбасы берем перекуроченный patchdiff строим граф и внимально в него вникаем. а потом читаем книги по форту. vm анализируется частотным анализом даже без написания декомпилятора. а вот покоцать фемиду... ну я не знаю... мне она показалась _намного_ сложнее. ну или я в танке. Killer > А почему это не есть путь создания недетектируемости? а потому что сигнатуры будут те же самые. только разряженные. и написать детектор такой хрени очень просто, если конечно к ней не прикрутить мощный полиморфный движок. а если у тебя есть такой движок - на фига извращаться с интеграцией в код? > А какой тогда Путь? нет такого пути. недетектируемых вирусов не существует.
n0name > 100% может дать только эмулятор. далеко не 100%, особенно учитвая запротекченные файлы, которые нашпигованы кучей приемов против отладчиков и эмуляторов. но проблема даже не в этом. для нормальной интеграции (без jump'ов) нам надо реконструировать поток управления и найти длинный кусок трассы для внедрения, а его скорее всего просто не будет. реально можно заразить только единичные файлы. а это неинтересно > А что ты думаешь о mistfall-d или metaphor 1d ? как о нежизнеспособной идее. сравни ее например с идеей стелс-вирусов, которые благополучно дожили для наших дней, только теперь их называют руткитами, и кол-во руткитов измеряется погонными тоннами. а интеграция в код... ну и где она реально, а не на бумаге?
Killer еще один поклонник великого зомбы ))) даже крис сказал, чтобы бросили эту затею, а ты снова холивар поднял. Да не будет здесь никто писать как в халявном 29А приват-руткиты на публику и мега-метаморфы. Т.к. полиморфы дешевле, проще и надежнее, руткиты - это суммы с 4 нолями как минимум, а для тех, кто не умеет ничего делать сам, тут ничего не пишут!
хе-хе, я б с радостью почитал че-нить в духе 29А сегодня, но к сожалению я реально не вижу перспектив таких технологий. А придумывать что-то новое и сверхсложное, чтобы кто-то на этом деньги делал - ну какой смысл? Да и не в деньгах дело, а в нежизнеспособности идеи (старой идеи метафора и мистфола). А впрочем ладно, вопрос был к крису
Хм, ну как показывает практика, если человек не может что-то написать просто так - то за деньги он это что-то тем-более не напишет.
Я имею ввиду задачу отделения кода от данных. Само собой в целом задача выглядит очень маловыполнимой.
Кстати, раз уж зашло про иду и её эвристику: на бинарниках собранных под amd64, задачу отделения кода от данных она выполняет из рук вон плохо, вот где реальное поле для ресерча.