Сейчас на форуме: (+9 невидимых) |
eXeL@B —› Протекторы —› Декомпилятор ВМ |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 23 . 24 . >> |
Посл.ответ | Сообщение |
|
Создано: 03 марта 2010 12:33 · Личное сообщение · #1 Вашему вниманию предлагаются наработки по декомпиляции ВМ. Проект на сегодняшний день для меня завершен, но жаль если результат "ляжет на полку", может кому-нибудь и пригодится. Предлагаю сначала ознакомиться с обзором, и если будет интерес то могу выложить и сам плагин, или здесь или в личку заинтересованным лицам, каким образом, пока ещё не решил... Но если кто-либо ожидает увидеть "автоматическое чудо", то сразу скажу - его нет. Для того чтобы получить результат нужна ручная предварительная работа: - с исследуемой программы должна быть снята упаковка - точки входа в ВМ находятся вручную - возможно неоднократное "жамкание" клавиш в OllyDbg, а возможно и модификация кода, чтобы попасть в нужное место, в зависимости от защищенной функции - необходимо вручную прицепить к программе требуемый секцию - запись результатов в файл это тоже ручная работа, но уже более приятная Не всё гладко обстоит с определением реализаций ВМ, на сегодняшний день примерно каждая третья реализация автоматом не определяется, приходится под неё модернизировать плагин, т.к. не могу сразу предусмотреть все случаи "издевательств" ВМ с кодом примитивов. Лучше дела с восстановлением "исходного" кода защищенных функций - 70% нормально восстанавливается, хотя во многом это зависит от самой структуры функции. Таким образом, если будет заинтересованность и помощь в нахождении подобных ситуаций, то проект может быть доведен до релизной стадии. ЗЫ: Речь идет об Ореановских машинах. Нигде специально не упоминал. 9c41_03.03.2010_CRACKLAB.rU.tgz - VMSweeperLst.rar ----- Everything is relative... |
|
Создано: 16 декабря 2010 21:50 · Поправил: Bronco · Личное сообщение · #2 Vamit пишет: почему ты декомпилил не Postponed точку она полуфейковая, то есть она есть, и рабочая (для дампа), но защита её не использует. // то бишь прерываний на ней нет. В большинстве случаев ( примеров) с EP( в дампе) , у меня плуг кобенится шевилится и егорится... Vamit пишет: почему у нас с тобой разные результаты декомпиляции одного и того же адреса. как таковой, у меня, декомпиляции кода в натив, нет. Только ПК, с передачей управления, на процедуры/функции приложения или системных либ и обратно в ВМ. //для стаба этого инфо достаточно (имхо) Vamit пишет: как пример, на котором можно протестировать работоспособность Свипера да с этим файлОм, всё пучком. Респект и всё такое,... Vamit пишет: твои диапазоны адресов кода и вм по умолчанию в заголовке файла. add: очевидное - невераятно...))) в моих настройках отладчика, анализ кода (ctrl+A) отключён. в доках к свипу, об этом ничего... 9874_16.12.2010_CRACKLAB.rU.tgz - Программы.rar ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 17 декабря 2010 09:50 · Поправил: Ultras · Личное сообщение · #3 Bronco пишет: в моих настройках отладчика, анализ кода (ctrl+A) отключён. в доках к свипу, об этом ничего... В доках к свиперу говорится об обычной ("чистой") сборке Оли с сайта, где все по умолчанию, и минимиуме плагов для нее. Если бы требовалась какая-то более детальная настройка Оли, то это было бы выделено в разделе <Подготовка>. P.S. У тебя остались в приложенном восстановленном коде переходы в ВМ ----- .[ rE! p0w4 ]. |
|
Создано: 17 декабря 2010 14:36 · Поправил: Vamit · Личное сообщение · #4 Изменения: - Исправлено: В предыдущей версии WMSweeper 1.4 beta 1 было добавлено автоматическое определение сегментов кода и ВМ, но на некоторых файлах, ввиду допущенной ошибки, при вызове опции Analyze all VM references возникало исключение. - Улучшено построение промкода, иногда свипер отказывался его строить. - Улучшена декомпиляция функций. - Изменен хелп. ----- Everything is relative... | Сообщение посчитали полезным: SReg, NIKOLA, mak, r_e, m0bscene, Ultras, _ruzmaz_, ClockMan |
|
Создано: 17 декабря 2010 18:23 · Личное сообщение · #5 У кого нибудь были вылеты ольги в весрии 1.3 ? Ковырял программу Зеброид , что на вм , что на чистой машине , ольга вылетает , может это из за неправильно указанного диапазона? Хотя я тогда просто полный диапазон указал и частичный. С последним плагином , при полном анализе ошибка на 71 проценте анализа референс , именно в ольге , если оставить автоматом определить секции вмпрот , то все хорошо , но в логе есть не определенный колл. Версия зеброида zebroid_1.1.0.251 Если начать с первой функции то выходит вот такое --------------------------- Error --------------------------- Type VM is not recognized! Bad CPU instruction! --------------------------- ОК --------------------------- --------------------------- Error --------------------------- Type VM is not recognized! Can't find VM interpretator point! --------------------------- ОК --------------------------- В версии ver.1.2.1 build 267 все хорошо , но после анализа референс , перехода на саму первую точку выдает вот что --------------------------- Error --------------------------- Type VM is not recognized! Decode HashKey VM is not a constant! --------------------------- ОК --------------------------- С другими прогами вылет продолжается , ольга просто закрывается. Еще один момент , это было сказано что на вм незя , но например на реальной машине , на первом зеброиде с теми же параметрами , определяет всего лишь начало , и все канселед. На вм же , обрабатывает больше. Внизу прилагаю логи к обоим версиям зеброида. Vamit Ты говорил раньше , что берешь с кода только самое нужное , но если ты пользуешься еще как деобфускатором , то пару вопросов , какова скорость работы с множеством файлов , их не так много , но ранее пару раз логи выходили очень большие. Так вот разница между одним файлом? Конечно отдельно удобнее , но вот например у меня иногда выходит так , что 130 кб обфускации, где полезного кода примерно 10 кб , дает примерно 90 метров информации о коде. И все это в одном файле , не учитывая контролфлоу и датафлоу , так как это только архив с базами информации о командах , псевдокод , и другие параметры. Ида или ольга не используется , теперь вопрос , можно ли как нибудь это дело оптимизировать? Чтобы быстро читать много файлов или один , но быстрее и с потоками разобраться , хотя в этом деле это для меня зло пока что. Как бы оптимально работать с такими обьемами информации? Может ты в курсе .. Всегда есть хитрость какая нибудь .. У меня при парсинге , реально все виснет , и хрен сзнает как бы это хорошо все проконтролировать. А если в менеджере листать дизасм листинг и сравнить с деобфускацией то еще ладно , но если сранвивать этапы , то как раз выходит 90 метров в прогу , хотя может читать по частям , как это делает Емедитор ....но если я хочу трасировать с переходом на псевдо код , то опять засада ... Еще предложение , если имя проги одинаковое , а версии уже координально другие , просто для удобства , мог бы ты сделать так чтобы читалась версия файла , и прибавлялась к названию папки с логами? Например ольга просто приплюсовывает _1 к не похожему но с таким же именем файлу. Но версия была бы кстати. Добавлено =) - Пока строчил уже обновился плагин , так что все что выше описано относится не учитывая это. b3e4_17.12.2010_CRACKLAB.rU.tgz - SweetSweeper.rar ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 17 декабря 2010 18:39 · Поправил: Ultras · Личное сообщение · #6 mak пишет: Еще предложение , если имя проги одинаковое , а версии уже координально другие , просто для удобства , мог бы ты сделать так чтобы читалась версия файла , и прибавлялась к названию папки с логами? Например ольга просто приплюсовывает _1 к не похожему но с таким же именем файлу. Но версия была бы кстати. Просто переименуй exe с указанием версии и не используй точки в названии, например: MyProg__v122.exe и всё будет красиво. ----- .[ rE! p0w4 ]. |
|
Создано: 17 декабря 2010 18:58 · Личное сообщение · #7 |
|
Создано: 17 декабря 2010 19:38 · Поправил: Ultras · Личное сообщение · #8 Какой запрет на запуск? Ты до OEP дойди, и с нее работай (через "New origin here" - отмечено в справке). Проверки программы на название EXE тебе нипочем P.S. Поглядывайте в обновленные справки, поставляемые вместе с новым свипером, некоторые пункты могут претерпевать изменения или вообще исчезать как ненужные. ----- .[ rE! p0w4 ]. |
|
Создано: 17 декабря 2010 20:49 · Личное сообщение · #9 mak пишет: Внизу прилагаю логи к обоим версиям зеброида. В твоих логах ничего полезного не нашел. Обычный проход всего кода на поиск точек входа. Правда в версии 267 есть попытка декомпиляции адреса - A5466C, но этого адреса нет в списке референсов, так же нет и логов декомпиляции этого адреса. Поэтому по твоим замечаниям ничего конкретного сказать не могу. Если можешь, дай ссылку на прогу, посмотрю сам... какова скорость работы с множеством файлов Большая... Смотря как работать, у меня одновременно открыты не более 2х файлов, т.ч. то множество которое создается в процессе работы на скорость работы проги не влияет, хотя все зависит от операционки и от того что в ней включено. За один процесс определения точек входа в вм файлов может создаваться несколько десятков тысяч, и если в системе включен антивирус, то скорость сразу упадет примерно на порядок... Больше и сказать нечего... Чтобы быстро читать много файлов или один Много или один - разницы нет. Главное - как это делать. Свипер только пишет в файлы и ничего из них не читает, т.ч. для него это не критично. мог бы ты сделать так чтобы читалась версия файла , и прибавлялась к названию папки с логами? Мог бы, но желание спорное, плодить папки с десятками тысяч файлов занятие не хорошее и для винта вредное, в принципе, Ultras предложил более правильный вариант, если кому-то это принципиально, то достаточно переименоваить экзешник и получить всю инфу в нужной папке. ----- Everything is relative... |
|
Создано: 17 декабря 2010 22:06 · Личное сообщение · #10 |
|
Создано: 17 декабря 2010 22:08 · Личное сообщение · #11 zebroid.ru/ ссылка , это тоже видел в версии 1.1.0 ? Code:
Насчет демо версии не могу сказать ничего , так как все версии были куплены, могу в приват, последней пока нет , за ненадобностью , но это вопрос можно решить. Vamit пишет: Мог бы, но желание спорное, плодить папки с десятками тысяч файлов занятие не хорошее и для винта вредное, в принципе, Ultras предложил более правильный вариант, если кому-то это принципиально, то достаточно переименоваить экзешник и получить всю инфу в нужной папке. папку то все равно для новой проги создавать нужно. Так и получается для каждой проги новая , если считать что версии это разные проги но с одинаковым именем и их много все равно не будет... сравнить хотябы имя и как то файл с конфигурацией .. нет так нет ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 18 декабря 2010 18:09 · Личное сообщение · #12 |
|
Создано: 18 декабря 2010 19:37 · Поправил: Vamit · Личное сообщение · #13 |
|
Создано: 19 декабря 2010 15:48 · Личное сообщение · #14 m0bscene пишет: Содержание ошибки:Unknown identifier in mov rvm_04, 0x01390000 ... та же ситуация, хотя сам по себе дамп //size = 517.97KB, версия защиты => 2.x.x ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 19 декабря 2010 16:00 · Поправил: Ultras · Личное сообщение · #15 |
|
Создано: 19 декабря 2010 16:14 · Поправил: SReg · Личное сообщение · #16 Bronco пишет: хотя сам по себе дамп --> воркает <--.. не воркает, и смотри почему адд: там не работает getprocaddress |
|
Создано: 19 декабря 2010 21:10 · Личное сообщение · #17 Ultras пишет: Win7 x64, WinXP SP3. win98...- шутка есть семёрка, но мне она не нравится, хрюшкин 2 пак меня устраивет. Ultras пишет: Можно узнать, для чего копаете чужие активаторы (RLD) Купил дочке "Аватар", типа лицензия, там эта шняга. Ещё тупые вопросы будут ? SReg пишет: там не работает getprocaddress Code:
----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 19 декабря 2010 21:55 · Личное сообщение · #18 |
|
Создано: 19 декабря 2010 22:36 · Поправил: Bronco · Личное сообщение · #19 Ultras пишет: ну раз нет рабочего дампа, то собственно и смотреть нечего. Code:
ну там яйца выеденного не стоит, докроил переходники и iat, должно Ultras пишет: Win7 посмотри imagebase шняги в памяти ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 20 декабря 2010 09:33 · Личное сообщение · #20 Bronco пишет: ну там яйца выеденного не стоит, докроил переходники и iat, должно --> воркать[ <-- и на семёрке то же Падает... /*40D6A6*/ PUSH DWORD PTR [ESI] /*40D6A8*/ ADD [EAX],AL /*40D6AA*/ MOV AL,[EDX]======>DS:[1CCAD171]=??? /*40D6AC*/ PUSHAD /*40D6AD*/ PUSH EBP ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 20 декабря 2010 11:19 · Личное сообщение · #21 |
|
Создано: 20 декабря 2010 13:37 · Личное сообщение · #22 Bronco Я уже писал ответ ----- Everything is relative... |
|
Создано: 21 декабря 2010 21:20 · Поправил: SReg · Личное сообщение · #23 |
|
Создано: 22 декабря 2010 09:52 · Личное сообщение · #24 SReg и всем Давайте соблюдать следующие правила когда вы сообщаете об ошибках и прикладываете прогу: 1. Не нужно посылать целиком инсталяшки, да ещё в виде экзешника. В архиве должен быть сам исследуемый экзешник + минимально требуемый для запуска проги набор dll и других файлов, полная работоспособность проги здесь не нужна. 2. Краткое описание ошибки с сообщением следующей информации: ОЕП, ваши диапазоны сегментов кода и вм, если ошибка при декомпиляции функции, то адрес точки входа в вм. Желательно приложить два файла, относящиеся к этой точке (log и trc). В противном случае реагировать на ваши сообщения не буду. Цените своё время и время других... ----- Everything is relative... |
|
Создано: 22 декабря 2010 16:57 · Поправил: SReg · Личное сообщение · #25 Vamit пишет: В архиве должен быть сам исследуемый экзешник + минимально требуемый для запуска проги набор dll Vamit пишет: 2. Краткое описание ошибки с сообщением следующей информации: OEP - 0068F0E4 code 00401000-00690000 vm 0070D000-00731000 брякнулся на оеп, сделал анализ, перезапустил прогу, брякнулся на оеп, нажимаю Ctrl+* точке вхожа в вм(0061F0DC - Postponed), далее F1 - в статус баре написано, что Creating intermediate code... но на самом деле ничего не происходит! логи в атаче 1b72_22.12.2010_CRACKLAB.rU.tgz - VMS_61f0dc.rar |
|
Создано: 22 декабря 2010 22:31 · Личное сообщение · #26 Vamit пишет: Ждите когда будет в свипере обработка антидампа с анти_анти_дамп_секции берётся всего одна константа, на каждой системе она разная, как и VA этой секции, которое по ходу защитой где-то чекается, поэтому на других компах и рисуется егор, типа MOV AL,[EDX]======>DS:[1CCAD171]=???. По логам вроде вроде всё пучком mov rvm_XX, ["va_antidampsection" + 60]. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 31 декабря 2010 00:03 · Личное сообщение · #27 Гляньте кто нибудь файл пожалуйста , univer.itop7.com/newsid=51921 , там ссылка с книгой на прогу разархиватор, книга внутри. В ольге чистой при запуске плагина , у меня она сразу быстро закрывается, только у меня так? Ахтунг размер файла 18 метров ... ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 31 декабря 2010 00:14 · Личное сообщение · #28 |
|
Создано: 31 декабря 2010 19:29 · Поправил: reversecode · Личное сообщение · #29 |
|
Создано: 31 декабря 2010 21:00 · Личное сообщение · #30 |
|
Создано: 10 января 2011 17:08 · Личное сообщение · #31 В последнее время приходит очень много запросов типа, ...что-то не получается и прикладывается исследуемый файл. Ответить на все такие запросы, а тем более проверить что это у вас не получается или у Свипера, я не в состоянии. Это всё таки бета версия декомпилятора и очень многое он просто не умеет делать, но и в том, что он сделал могут встречаться ошибки. У меня намечен определенный план по развитию Свипера, поэтому если я потрачу время на его реализацию, а не на разбор ваших ситуаций, то пользы будет больше всем... Однако, сообщения о конкретных ошибках принимаются и если они относятся к уже реализованной части, то в ближайших версиях Свипера будут учтены. Сейчас заканчиваю работу над полной логической реструктуризацией промкода, т.к. по линейному вызову вм в вмпроте правильную структуру исходного кода получить не представляется возможным. ----- Everything is relative... | Сообщение посчитали полезным: Larry, Yotun, neprovad |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 23 . 24 . >> |
eXeL@B —› Протекторы —› Декомпилятор ВМ |