Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Реверсинг (https://forum.antichat.xyz/forumdisplay.php?f=94)
-   -   Изучаю дебагер и всё такое :) (https://forum.antichat.xyz/showthread.php?t=124807)

Ponchik 11.06.2009 21:40

Изучаю дебагер и всё такое :)
 
Надоело на PHP кодить, хочется чегонить интересного
Скачал я OllyDbg, написал программку на дельфи
Код:

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
Сказано
Код:

Call Stack – Просмотреть все вызовы выполнения код в стеке. (горячая клавиша: Alt+K)
Я без понятия что такое код в стеке, но я думаю - это то что мне надо :)
Так вот, запускаю Project1.exe, в OllyDbg - fille->attach цепляюсь к проге, открываю Call Stack, жму в проге Hello, вылетает месага hello world но в Call Stack ничего нет.
Как вы это делаете, раскажите :)
P.S. в статье с cracklab.ru описан "взлом" или как это назвать crackme, но сайт в дауне, в гугле не нащёл, да и вобще ничего дальше не понял :rolleyes:

Если кто ничё непонял, в 2х словах
Код:

[20:43:36] <banana_> Я не понял че те надо то?
[20:43:44] <Ponchik> словить имя функции
[20:43:53] <Ponchik> и заставить прогу выполнить её


d_x 11.06.2009 21:58

Цитата:

Я без понятия что такое код в стеке, но я думаю - это то что мне надо
Цитата:

словить имя функции
Может, сначала стоит почитать литературу насчет того, как вызываются функции, как передаются аргументы в функции, как функция возвращает значение и т.д.? Или вообще совсем общее по асму - регистры, инструкции.

banana 11.06.2009 22:00

Ну и какбе для дельфи DeDe надо юзать а не олю

Ponchik 11.06.2009 22:01

d_x, ну а как они вызываются, разве не будет в OllyDbg написана имя функции?
А АСМ это насколько я знаю вобще язык программирования, причём тут дебагер =\ Дебагер он ведь нужен для рассмотра что и где прога делает
Скорей всего я тута бреда нвговорил, но это так, как я себе это представляю, есть какие книги по дебагерам или как это всё учить, мне совсем для нуба ибо я 0 в этом =\
*стыдно*

d_x 11.06.2009 22:07

Скачай простейшую прогу на асме:
http://rapidshare.de/files/47500501/hw.exe.html
и по шагам ее выполни в Olly (кнопкой F8), возможно, что-то прояснится)
Там всего ничего инструкций, никакого мусора. Заметь, к ней не аттачиться надо, а просто загрузить в отладчик. Отладчик кстати всегда показывает код в ассемблерном виде.

-=Nicon=- 11.06.2009 22:12

Почитай на сайте http://www.wasm.ru/ Введение в крэкинг с нуля, используя OllyDbg, там все написано простым языком для новичков.


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



Ставь в OllyDbg бряк на MessageBoxA

Ponchik 11.06.2009 22:17

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

Мне пока в IRCe объясняют чё и как, если что, я вернусь :)

d_x 11.06.2009 22:20

Цитата:

Ставь в OllyDbg бряк на MessageBoxA
Пояснил бы, что для этого надо открыть командную строку (Alt+ F1) и ввести bp MessageBoxA. Когда программа достигнет инструкции call MessageBoxA, сработает эта точка останова и внизу в ольке будет написано нечто вроде "Breakpoint at user32.MessageBoxA".

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

-=Nicon=- 11.06.2009 22:43

Цитата:

Сообщение от d_x
Пояснил бы, что для этого надо открыть командную строку (Alt+ F1) и ввести bp MessageBoxA.

А статьи для чего тогда? Мне лично не кто, не чего не объяснял в свое время когда я начинал.

[n]-c0der 12.06.2009 01:01

Go на Wasm.ру там все это по шагам описано, кстати для распознованя дельфийских функций в ольке лучше установить готовый плагин.

zeppe1in 12.06.2009 15:16

[n]-c0der
это какой?)

POS_troi 14.06.2009 16:34

Цитата:

А АСМ это насколько я знаю вобще язык программирования, причём тут дебагер =\
Олька интерпретирует машинный код в код Ассемблера (и то слегка отдаленно).
Ассемблер всеже подучить прийдеться в любом случае хотябы основные команды.
Потренеруйся на Крякмисах =)

DarkMist 16.06.2009 13:42

Цитата:

Сообщение от zeppe1in
[n]-c0der
это какой?)

какой плагин?7 мне тож интересно стало..

zeppe1in 16.06.2009 14:18

POS_troi
как это отдалённо? помоему нормально)
DarkMist
я только ida_sigs знаю который сиги от иды применяет. но он почему то иногда не работает у меня.

а вот нашол какойто
Code (Delphi) Helper 0.5
Цитата:

This plugin helps to show function comments from user defined. Plugin can now check Delphi functions and Miracl functions.
http://tuts4you.com/download.php?view.38

Mr.Andersen 17.06.2009 10:48

Ну вы блин даете. на дельфях проги надо изучать не в ольге. и не в IDA. для этого же есть DEDE. правда, не знаю какой релиз самый свежий, слышал я, что автор заморозил работу. например, 6-7 дельфи уже не катит. А плагин ваш называется REDHAWK, и это скорее новая ольга с кучей плагинов на все случаи жизни. Но на waasm его нет, надо поискать.

s0l_ir0n 17.06.2009 11:13

Цитата:

Сообщение от Ponchik
Вот как мне это в дебагере увидеть, ну чёнить типа
call hellofunction();
Или как оно там выглядит...

Код:

00452720  55                    push    ebp
Цитата:

И вызвать эту функцию через Command line (Alt+F1 в OllyDbg)
Там ты эту функцию не вызовешь.

Цитата:

Код:

[20:43:36] <banana_> Я не понял че те надо то?
[20:43:44] <Ponchik> словить имя функции
[20:43:53] <Ponchik> и заставить прогу выполнить её


Ты не словишь имя функции, т.к. это не функция экспорта.

neprovad 17.06.2009 19:41

Для интеграции сигнатур ida в olly можно использовать
плагин godup
http://tuts4you.com/download.php?view.54


Время: 03:20