Надоело, каждый пишет свой дизасс, и давай о нем кричать в PROJECTS. вопрос зачем? - Они и вправду думают что это кому то поможет? - Зачем еще одна не до либа? (Академий не в счет ) - Почему не взять готовый и не дописать что новое( например построение графов ) - Они думают что у них багов нету? А кто будет делать поддержку? (Вот например distorm там ведь до сех пор баги ... ) Возмите уже готовую из VirtualBox( уже проверенная временем + поддержка + простой сорс ) Сдамбить с WinDbg (dbgeng), сгенерировать и прогнать через плагин.(первый вариант лучше) Хочу объяснений в студию ...
IceCrashLdr Один из вариантов просто для интереса, а кидать в PROJECTS ради морального удовольствия. в новом нужно разобратся, но это очень правильное решение.
XshStasX wsd Я, учить жизни ? это смешно ... Каким образом? это вопрос, и я не гадил в чужих постах, как раз придерживаясь этой позиции. GoldFinch И писал и пиши, и патчил и патчю.
IceCrashLdr по сути прав, работ нормальных, реальных либо в привате либо нету! ))) последняя стоящая по дизасм-движкам была сделана Black_Parrot(так вроде) он написал тестилку имеющихся движков. А ведь проектов, реально нужных дохрена! Хоть QuickUnpacker от Archer\cracklab.ru , хоть чудо от great, хоть >>( например построение графов ) ЗЫ: В 2005-м реально было интересней, чем сейчас на васме (
IceCrashLdr Написание дизасма это примитивная задача, тока времени много требует. Что там, бери маны да разбирай инструкции. Вот граф построить, изменять его и анализировать у них кишка тонка, там нужен мозг и матчасть.
В силу определенных обстоятельств я не селен в vx сцене и тому подобное. Но не понимаю зачем сидеть и тупо кодировать ... То и есть построить несколько таблиц(main, 0F + SSE + ....), и простой парсер входящих байт по таблицам. В чем смысл?
Clerk Может выделишь тему, где приведешь список возможно полезных задач к их решение и тогда,когда кому-то заняться будет нечем, пойдет и поглядит че людям ваще требуется?!
IceCrashLdr vx тут причем? людям интересно. кроме того, это, да, бывает, что надо. не только для vx. вам не надо? а клюшка для хоккея на траве? если вам кажется, что написать универсальный дизасм в который только добавляй базовую таблицу в текстовом виде и поехало - напишите. никто не будет против. можете сразу и разборщик на граф влепить для клерка. тоже вполне посильно.
EvilsInterrupt Анализ кода, перестройка его, интеграция в сторонний код. Подробнее нужно обьяснять ? Например простейшая задача которую вы не решите - обработка локальных исключений в своём коде, тоесть нужно определить что исключение возникло гдето в своём коде и обработать его. qqwe Для меня не нужно, я свой юзаю.
Clerk я пробовал простимулировать чела перейти от псевдоумной критичности к чему нибудь более практическому.
Ну задача не из архисложных но тем не менее не совсем простая и довольно емкая. Без этого сложно считать себя реверсером, нужно хотя бы разок попробовать чтобы понять и привыкнуть. Это как таблица умножения. Потом - что считать дизасмом? Вы видели как IDA отображает слегка обфусцированный код или код разбавленный данными? МБ задача поставлена в дизасме обфусцированного кода? Выявление паттернов в обфусцированном коде? И дизасм просто команд также не так уж и прост. Вроде этой инструкции 0F XX XX которая на самом деле отрабатывает как несколько нопов - это можно найти только при серьезном поиске.
qqwe По сабжу никто ничего конкретно не сказал. vx имеет непосредственное отношение, так как сабж юзается либо в малваре, либо в дизассемблерах/отладчиках. Причём в обоих случаях простой парсер инструкций нафиг не нужен, что толку от формата записи инструкции.
PSR1257 В том то и дело что строят в основном только таблицы для дизассм, это и движком трудно назвать ... Практически replace bytes -> asm text
IceCrashLdr Если только так да еще по интеловским мануалам - достаточно бессмысленно. Лично я вижу пользу если без заглядки в мануал а самому и сверяя по нескольким дизасмам плюс иногда трассируя - а что будет если я сюда три префикса воткну? А десять? Ага, максимальная длина инструкции 0F... И далее к более сложному - одновременно изучая и привыкая к опкодам...
Рассуждения у PSR1257 в посте 16# вполне правильные. Только дампить дизасм и потом разбираться это далеко не для всех. И потом смотря для чего использовать дизасм. Если для работы с самомодифицирующимся кодом, то я не знаю не одного инструмента на паблике позволяющего хотя-бы трасировать всякую бяку без содраганий. Большинство дизасмов, в том числе и из WinDbg, это простые парсеры. С массой мелких ошибок. Например WinDbg я проверял. Опкод x64 db 66h,44h,41h,8Bh,0D0h дизасмится как mov edx,r8d а выполняется при трасировке как mov dx,r8w. Причем скверно то, что в принципе почти любой опкод может быть дополнен избыточными REX`aми. Так что хоть дизасмов и много, но писать что-то новое. Хотя-бы и построитель графов очень затруднительно. Фундамента пока толком нет.