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

Форум АНТИЧАТ (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.ру там все это по шагам описано, кстати для распознованя дельфийских функций в ольке лучше установить готовый плагин.


Время: 14:00