Что в себя включает работа вирусолога или вирусного аналитика?

Тема в разделе "WASM.HEAP", создана пользователем neutronion, 2 апр 2010.

  1. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Тем более мы находимся в разделе heap, здесь можно говорить о чем угодно. Слава богу,
    что Крис заглянул в это гетто и уделил маленьким негритянским парням пару тройку наставлений из области фантастики. Разве не приятно прикоснутся к прекрасному?
     
  2. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    кстати, Крис я не впервой с вами сталкиваюсь, однажды вы помогли мне достать документацию
    по программированию телефонии TAPI. Причем даже хотели выслать двд диск, причем совершенно безвозмездно, за что вам огромное спасибо. не часто встретишь человека, готового помочь, совершенно незнакомому. Я честно говоря так бы не смог.
     
  3. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    ссылка на файл unpackme FSG 1.31 dulek.exe:

    http://wasm.ru/pub/23/files/ollydbg38.zip
     
  4. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Экперементы проводятся на Windows XP Prefessional
     
  5. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Очень интересная фраза. Meditate on this, I will как говаривал мастер Йода.
    Говоря, по-русски буду иметь ввиду, спасибо.
     
  6. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    neutronion
    не знаю что у вас там не получается.
    Довольно легко распаковывается.
    Выложу распакованный : http://rghost.ru/1303575 .
    Заняло мин 5, и то чтоб вспомнить как там импрек пашет , давно ниче не распаковывал.
     
  7. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    скачал, спасибо сравню со своим.
     
  8. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    neutronion
    Смысл в том что, после того как вы нашли OEP и зациклили там прогу, делаете дамп. Вам надо восстановить IAT. Это сразу не получится сделать потому, что ImpRec предложит вам OEP образа который собственно говоря упакован. А там конечно IAT нету, искать импорт с такими настройками - не советуется. Как правило, в большинстве случаем, это закончится зависанием\крахом ImpRec`а. Но вы помните новый OEP, вбиваете его в ImpREC и нажимаете IAT AutoSearch он сообщит, типа жмите Get Imports. Нажимаете, получаете идеальный импорт где везде YES. Жмете Fix Dump в полученом дампе, ImpRec скажет - все ок. Ну и последний штрих - восстановить байты на начальные.
    Ну и чтоб вы знали Реальный OEP в данном крекми начинается так:
    Код (Text):
    1. 00440300   >55              PUSH EBP
    2. 00440301   .8BEC            MOV EBP, ESP
    3. 00440303   .83C4 F4         ADD ESP, -0C
    Объяснять почему же была выбрана такая тактика - смысла я думаю нет. Потому что если вы видели код начальный, и смотрели что делает распаковщик (а не тупо искали бы точку входа, не думая что же происходит), вы бы все поняли :)
    По крайней мере мне сразу подумалось, что надо действовать так.
     
  9. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    neutronion
    >почему всегда возвращается адрес EAX=00960000
    Если строго по докам, то должно округлить вниз. Не в ноль. А на самом же деле в данном случае зовётся не VirtualAlloc, a VirtualAllocEx, и первый параметр – псевдохендл, определяющий вызывающий процесс. (Ууу, экстрасенсорная отладка).
     
  10. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Sol_Ksacap
    Да вы правы скорее всего это VirtualAllocEx. Ваша версия ставит все на свои места.
     
  11. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Sol_Ksacap
    А не объясните "жалкому людишке", в чём разница? :) Т.е. как тот факт, что вызывается VirtualAllocEx с псевдохэндлом, влияет на возвращаемое значение?
     
  12. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    l_inc
    Дело не в этом. А в том что при вызове VirtualAlloc - первое значение lpAddress то есть желаемый адрес, но в него нельзя указывать абы что, тем более "-1 ". Вызывая же VirtualAllocEx - первый параметр уже не адрес, а хендл процесса. А хендл -1 указывает на вызывающий процесс. Вот так вот. Просто человек сбил нас с толку, сказав вначале, что это вызов VirtualAlloc. А я чего, то и не обратил внимание на кол-во передаваемых параметров в стек.
     
  13. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    да, виноват, действительно VirtualAllocEx, в этой функции не 4, а 5 аргументов.
    Невнимательность моя. TermoSintezu спасибо. Попробую снова.
     
  14. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    TermoSINteZ
    Извиняюсь. Верно. Спасибо. :) В #12 увидел код ф-ии VirtualAlloc и в остальную часть поста особо не вникал. А из #13 вынес, что в качестве адреса передаётся NULL (что, собственно, так и есть). После чего всю тему удивлялся, чем тут людям не нравится, что VirtualAlloc возвращает валидный адрес на выделенную память.
     
  15. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Этот момент не совсем понятен. Вернее понятно, что нужно смотреть, что делает
    распаковщик, вопрос в том как надо смотреть на него?

    Нужно ли проанализировать, что делает код вплоть до точки входа?
    Что если после точки входа, код корежит импорт тайбл, то тогда похоже придеться
    анализировать еще.

    И еще вопрос: как надо анализировать? Анализировать, что делает кусок кода, затем
    записывать на бумажку или лучше рисовать диаграмму, что-то вроде UML?
     
  16. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Вообще я сделал так, дошел до ОЕР, сделал дамп, затем нашел библиотечную функцию и посмотрел, где она находится в импорт таэбл. Затем определил границ таблицы
    импорта, ее начало и конец. Затем вычислил размер таблицы, ввел эти значения
    в ImpRec, а именно новый OEP, начало таблицы и ее размер, получил на все функции Yes и залил в задампленный файл, в результате получил ducking ass.
    Во как я сделал. Файл прикрепил.
     
  17. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    neutronion
    Даже не знаю что вам написать, по поводу "как анализировать, как смотреть". И опыт сын, ошибок трудных...
    Вы дошли до 38 урока, но видимо еще не готовы идти дальше. Смысл этих туториалов не только в том, чтобы повторять действия автора, и уныло следовать его наставлениям. Надо смотреть что же происходит. Вот прям трейсите и смотрите что происходит. Если вы знаете ассемблер и винапи достаточно, если вы знаете как сех устроен.. Да много там еще надо знать. По началу, если вам трудно запомнить в уме - записывайте на листочке. Вы должно _видеть_ как идет логика, где идет распаковка, а где таблица импорта востанавливается, а где релоки, а где делается антиотладка. Последнее только с опытом прийдет, когда вы уже будете видеть эти приемчики, как замечаете большие сиськи в толпе девушек ).
    И так вот в плоть до того, что потом в хексдампах будете видеть куски известных распаковщиков и алгоритмов xor\fstenv и тп в разных кодировках. Поверьте я не шучу. Крис подтвердит :).
    Конечно есть тяжелые крипторы с VM, там прийдется еще помучаться. Вспоминается мне такой кошмар как ExeCrypt. Хы, горе авторы не очень понимали, что так портить прогу мало того что неэтично, так еще и не конформансно. Хотя и с полной защитой снять его было тяжеловато на тот период. Хз сейчас другой уровень, занимаюсь другими вещами и как сейчас в тех краях - не в курсе.

    На счет вашей проблемы с распаковкой. Ну, если хотите я вам сделаю видеотуториал для особо одаренных. Но лучше сами поймите где ваша ошибка. Потом скажите мне спасибо.
     
  18. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    про сиськи - это очень яркая аналогия, запомню на будущее, сразу как-то не до
    реверсинга стало :)
    Спасибо за предложения помощи, но тут я уж лучше сам. А то мне уже стыдно немного стало. Надо самому размять это дело. иначе зачем же я тогда так подписываюсь.
     
  19. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Вот это самое важно пожалуй в ваших словах. Здесь таится методика и открыт секрет.
     
  20. dfrsa

    dfrsa New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2010
    Сообщения:
    88
    Бггг