Как найти Entry Point (имя процедуры в VB Decompiler) программы на vb6

Discussion in 'Реверсинг' started by cryptX, 28 Aug 2015.

  1. cryptX

    cryptX Elder - Старейшина

    Joined:
    2 Sep 2008
    Messages:
    51
    Likes Received:
    1
    Reputations:
    1
    Здравствуйте уважаемые форумчани,
    есть программа на vb6, когда гружу в OllyDbg и питаюсь отладить, она закрывается.

    Открыл в vb decompiler 9.2, все нормально грузит, только как найти в vb decompiler-e имя процедуры которая вызывается когда открывается прога ?

    Заранее спасибо,
    cryptX.
     
  2. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    637
    Likes Received:
    246
    Reputations:
    42
    Имя процедуры? Никак. Если тебе нужен адрес EP, можешь посмотреть его в любом PE-анализаторе/редакторе.

    з.ы.: мне кажется вопрос поставлен не верно. Что именно ты хочешь сделать?
     
  3. cryptX

    cryptX Elder - Старейшина

    Joined:
    2 Sep 2008
    Messages:
    51
    Likes Received:
    1
    Reputations:
    1
    #colorblind, спасибо за ответ.

    Вот нашел в PEID entrypoint: 0000987C

    Теперь хочу узнать какая процедура в VB Decompile стартовая( i.e процедура Sub Main() )
     
  4. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    637
    Likes Received:
    246
    Reputations:
    42
    Sub Main будет выполняться не сразу после запуска. Сначала происходит, так сказать, подготовка VBшной виртуальной машины, находящейся в MSVBM60.dll. Можно найти вызов __vbaExceptHandler, это и будет Sub Main. Вообще изучением VB приложений никогда не занимался, поэтому гарантировать 100% попадание не могу)

    Нюанс, этих вызовов может быть больше чем один. Нужно ставить бряки на все и смотреть по коду
     
  5. cryptX

    cryptX Elder - Старейшина

    Joined:
    2 Sep 2008
    Messages:
    51
    Likes Received:
    1
    Reputations:
    1
    Посмотрел в OllyDbg (All intermodular calls) , и там нет ни одного вызова __vbaExceptHandler :(
     
  6. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    637
    Likes Received:
    246
    Reputations:
    42
    Чтобы найти __vbaExceptHandler: Search for -> Name(label) in current module

    Можешь использовать паттерн:
    Code:
    55 8B EC 83 EC ?? 68 ?? ?? 40 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 ?? EC ?? ?? ?? ??
    И не лень же мне было VB качать xD
     
    cryptX likes this.
  7. cryptX

    cryptX Elder - Старейшина

    Joined:
    2 Sep 2008
    Messages:
    51
    Likes Received:
    1
    Reputations:
    1
    Поставил бряки (везде где есть vbaExceptHandler) в OllyDbg, останавливаеться на одном месте, здесь:

    Code:
    00780EF6   .  68 56914000   PUSH <JMP.&MSVBVM60.__vbaExceptHandler>  ;  SE handler installation
    
    Теперь (как я понимаю) адрес входной процедуры 00780EF6. Ищу в VB Decompiler-e и процедур с таким входным адресом нету...где искать ?
     
  8. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    637
    Likes Received:
    246
    Reputations:
    42
    [​IMG]
     
    cryptX likes this.
  9. cryptX

    cryptX Elder - Старейшина

    Joined:
    2 Sep 2008
    Messages:
    51
    Likes Received:
    1
    Reputations:
    1
  10. cryptX

    cryptX Elder - Старейшина

    Joined:
    2 Sep 2008
    Messages:
    51
    Likes Received:
    1
    Reputations:
    1
    Другой вопрос - есть у кого мануал по функциям MSVBVM60.dll ?

    в отдельности интересует функция __vbaLateIDCall