Изучаю дебагер и всё такое :)

Discussion in 'Реверсинг' started by Ponchik, 11 Jun 2009.

  1. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Надоело на PHP кодить, хочется чегонить интересного
    Скачал я OllyDbg, написал программку на дельфи
    Code:
    function hellofunction():String;
    begin
      showmessage('Hello, world');
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      hellofunction();
    end;
    Она тут http://slil.ru/27750582
    При клаце на кнопку "Hello" вызывается функция hellofunction()
    Вот как мне это в дебагере увидеть, ну чёнить типа
    call hellofunction();
    Или как оно там выглядит...
    И вызвать эту функцию через Command line (Alt+F1 в OllyDbg)
    Прочитал вот это http://cracklab.ru/art/?action=view&id=1&old=ollydbg
    Сказано
    Code:
    Call Stack – Просмотреть все вызовы выполнения код в стеке. (горячая клавиша: Alt+K)
    Я без понятия что такое код в стеке, но я думаю - это то что мне надо :)
    Так вот, запускаю Project1.exe, в OllyDbg - fille->attach цепляюсь к проге, открываю Call Stack, жму в проге Hello, вылетает месага hello world но в Call Stack ничего нет.
    Как вы это делаете, раскажите :)
    P.S. в статье с cracklab.ru описан "взлом" или как это назвать crackme, но сайт в дауне, в гугле не нащёл, да и вобще ничего дальше не понял :rolleyes:

    Если кто ничё непонял, в 2х словах
    Code:
    [20:43:36] <banana_> Я не понял че те надо то?
    [20:43:44] <Ponchik> словить имя функции
    [20:43:53] <Ponchik> и заставить прогу выполнить её
     
    #1 Ponchik, 11 Jun 2009
    Last edited: 11 Jun 2009
    2 people like this.
  2. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Может, сначала стоит почитать литературу насчет того, как вызываются функции, как передаются аргументы в функции, как функция возвращает значение и т.д.? Или вообще совсем общее по асму - регистры, инструкции.
     
    1 person likes this.
  3. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    22
    Likes Received:
    72
    Reputations:
    18
    Ну и какбе для дельфи DeDe надо юзать а не олю
     
    1 person likes this.
  4. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    d_x, ну а как они вызываются, разве не будет в OllyDbg написана имя функции?
    А АСМ это насколько я знаю вобще язык программирования, причём тут дебагер =\ Дебагер он ведь нужен для рассмотра что и где прога делает
    Скорей всего я тута бреда нвговорил, но это так, как я себе это представляю, есть какие книги по дебагерам или как это всё учить, мне совсем для нуба ибо я 0 в этом =\
    *стыдно*
     
    4 people like this.
  5. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Скачай простейшую прогу на асме:
    http://rapidshare.de/files/47500501/hw.exe.html
    и по шагам ее выполни в Olly (кнопкой F8), возможно, что-то прояснится)
    Там всего ничего инструкций, никакого мусора. Заметь, к ней не аттачиться надо, а просто загрузить в отладчик. Отладчик кстати всегда показывает код в ассемблерном виде.
     
  6. -=Nicon=-

    -=Nicon=- Banned

    Joined:
    26 Sep 2008
    Messages:
    18
    Likes Received:
    3
    Reputations:
    0
    Почитай на сайте http://www.wasm.ru/ Введение в крэкинг с нуля, используя OllyDbg, там все написано простым языком для новичков.


    Так вот, запускаю Project1.exe, в OllyDbg - fille->attach цепляюсь к проге, открываю Call Stack, жму в проге Hello, вылетает месага hello world но в Call Stack ничего нет.



    Ставь в OllyDbg бряк на MessageBoxA
     
    2 people like this.
  7. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Ну у мя тогда 2 проблемы...
    Мне вобще это всё надо для гамы, хочу бота написать :)
    Не, я это всё учу не потомучто бот нужен, а интересно как это :) А ботов и в гугле навалом
    Ну неважно, 2 проблемы
    1)exe шник игры ищет папку textures если её нет, он выдаёт еррор, дебагер запускает прогу хз из какой папки, и там нет папки textures и я её немогу запустить
    2)Это гама, она отправляет данные на сервер, получает, а я так понял Shift+F8 пошагово выполнять всё, так пока я всё рассматрю сервер меня отключит =\

    Мне пока в IRCe объясняют чё и как, если что, я вернусь :)
     
    #7 Ponchik, 11 Jun 2009
    Last edited: 11 Jun 2009
  8. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Пояснил бы, что для этого надо открыть командную строку (Alt+ F1) и ввести bp MessageBoxA. Когда программа достигнет инструкции call MessageBoxA, сработает эта точка останова и внизу в ольке будет написано нечто вроде "Breakpoint at user32.MessageBoxA".

    Не факт кстати, что в той программе на дельфи используется эта функция, возможно, там MessageBoxIndirect или вообще что-то своё. А вот с той программой, которую я привел, все нормально будет.
     
  9. -=Nicon=-

    -=Nicon=- Banned

    Joined:
    26 Sep 2008
    Messages:
    18
    Likes Received:
    3
    Reputations:
    0
    А статьи для чего тогда? Мне лично не кто, не чего не объяснял в свое время когда я начинал.
     
  10. [n]-c0der

    [n]-c0der Member

    Joined:
    3 Feb 2009
    Messages:
    83
    Likes Received:
    24
    Reputations:
    -1
    Go на Wasm.ру там все это по шагам описано, кстати для распознованя дельфийских функций в ольке лучше установить готовый плагин.
     
    1 person likes this.
  11. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    [n]-c0der
    это какой?)
     
  12. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Олька интерпретирует машинный код в код Ассемблера (и то слегка отдаленно).
    Ассемблер всеже подучить прийдеться в любом случае хотябы основные команды.
    Потренеруйся на Крякмисах =)
     
  13. DarkMist

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

    Joined:
    20 Feb 2007
    Messages:
    201
    Likes Received:
    24
    Reputations:
    0
    какой плагин?7 мне тож интересно стало..
     
  14. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    POS_troi
    как это отдалённо? помоему нормально)
    DarkMist
    я только ida_sigs знаю который сиги от иды применяет. но он почему то иногда не работает у меня.

    а вот нашол какойто
    Code (Delphi) Helper 0.5
    http://tuts4you.com/download.php?view.38
     
    #14 zeppe1in, 16 Jun 2009
    Last edited: 16 Jun 2009
  15. Mr.Andersen

    Mr.Andersen New Member

    Joined:
    30 May 2009
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    Ну вы блин даете. на дельфях проги надо изучать не в ольге. и не в IDA. для этого же есть DEDE. правда, не знаю какой релиз самый свежий, слышал я, что автор заморозил работу. например, 6-7 дельфи уже не катит. А плагин ваш называется REDHAWK, и это скорее новая ольга с кучей плагинов на все случаи жизни. Но на waasm его нет, надо поискать.
     
  16. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Code:
    00452720   55                     push    ebp
    Там ты эту функцию не вызовешь.

    Ты не словишь имя функции, т.к. это не функция экспорта.
     
    #16 s0l_ir0n, 17 Jun 2009
    Last edited: 17 Jun 2009
  17. neprovad

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

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    Для интеграции сигнатур ida в olly можно использовать
    плагин godup
    http://tuts4you.com/download.php?view.54
     
    1 person likes this.