Автор Гілка: Assmbler  (Прочитано 3552 раз)

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Assmbler
« : 2010-10-06 15:02:34 »
Питання. ЧИ є аналог віндузовому дебагеру? щоб вбити туди набір команд і потім пройти їх і побачити яка кманда як змінює регістри і флаги.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: Assmbler
« Відповідей #1 : 2010-10-06 16:31:06 »
gdb (пошукайте уроки з використання у інтернеті, — їх дуже багато).

Якщо програма з відкритим кодом, підійде будь-яка оболонка для розробки (KDevelop, Qt Creator, Kate) або проста оболонка gdb (Insight). У них вбудовано зневадник.

Якщо з закритим, оскільки ви вже порушуватимете ліцензію і вас ніщо не зупинить, IDA Pro.
« Змінено: 2010-10-06 16:35:23 від yurchor »
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: Assmbler
« Відповідей #2 : 2010-10-06 16:45:25 »
DDD — ще один цікавий фронтенд до gdb (підтримує також jdb, pydb та інші)
Best regards,
nickat

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Assmbler
« Відповідей #3 : 2010-10-06 19:19:45 »
мені треба виконати завдання для універу. вбить пару команд і оттрасить їх. Фіксуючи значення регістрів. Це завдання на юзання дебагера. Тут ще такий момент - дебагер має підтримувати введення команд вручну. Яу debug віндузовий, горіти йому в пеклі.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: Assmbler
« Відповідей #4 : 2010-10-06 19:44:28 »
мені треба виконати завдання для універу. вбить пару команд і оттрасить їх. Фіксуючи значення регістрів. Це завдання на юзання дебагера. Тут ще такий момент - дебагер має підтримувати введення команд вручну. Яу debug віндузовий, горіти йому в пеклі.
Ну, створіть за допомогою kapptemplate набір вашого "hello world". Відкрийте у KDevelop, увімкніть покрокове виконання і спостерігайте за регістрами за допомогою панелі зневаджування.

Олдскульний варіант
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Assmbler
« Відповідей #5 : 2010-10-06 19:51:09 »
Треба вбити конкретно визначений код. Повинна бути можливість безпосередньо записати в комірку пам’яті команду або код шістнадцятковий. Вібозразити пам’ять у вигляді коду на асемблері або  шістнадцяткового і програсить програму.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: Assmbler
« Відповідей #6 : 2010-10-06 19:57:19 »
Треба вбити конкретно визначений код. Повинна бути можливість безпосередньо записати в комірку пам’яті команду або код шістнадцятковий. Вібозразити пам’ять у вигляді коду на асемблері або  шістнадцяткового і програсить програму.
Ну, тоді зберіть програму з символами для зневаджування будь-як, а потім завантажте до графічного зневадника (DDD, Insight або до gdb, як це описує Кріс Касперські) і робіть з нею все, що захочете.
« Змінено: 2010-10-06 20:01:54 від yurchor »
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Assmbler
« Відповідей #7 : 2010-10-06 20:03:46 »
Хоч посовітуйте програму яка б перетворила в виконуваний файл
mov    dx,es:[di+02]
cmp    dl,3D
jne    0059
and    dh,DF
inc    word ptr [0081]
cmp    dh,59
jne    0059
inc    word ptr [0081]
repnz scasb
jcxz   0099

І бажано з наймешою кількістю змін і напрягів з моєї сторони. Я розумію що nasm’омо можна. Але хотілося б обійтися швидше. Щоб хряць - і це вже бінарник.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: Assmbler
« Відповідей #8 : 2010-10-06 20:16:12 »
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Assmbler
« Відповідей #9 : 2010-10-10 13:05:02 »
Я вбив код. nasm -f aout його. ld його. Потім, отой, самий gdb його. А воно мені пише, що немає дебугерських символів. І не дебажить його. Я збожеволію з ним.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: Assmbler
« Відповідей #10 : 2010-10-10 13:07:42 »
Я вбив код. nasm -f aout його. ld його. Потім, отой, самий gdb його. А воно мені пише, що немає дебугерських символів. І не дебажить його. Я збожеволію з ним.
А звідки вони візьмуться у асемблерному коді? Уважніше читайте Кріса.
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: Assmbler
« Відповідей #11 : 2010-10-10 18:12:41 »
Я вбив код. nasm -f aout його. ld його. Потім, отой, самий gdb його. А воно мені пише, що немає дебугерських символів. І не дебажить його. Я збожеволію з ним.
...
мені треба виконати завдання для універу. вбить пару команд і оттрасить їх. Фіксуючи значення регістрів. Це завдання на юзання дебагера
символів зневадження nasm не генерує, але оскільки це лише пару команд, то символи не особливо й треба — можна зневаджувати у gdb в асемблерному режимі, щоправда здаєтсья gdb буде показувати їх у форматі AT&T, а не Intel, що буває незручно
Fedora 35 (x86-64)

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Assmbler
« Відповідей #12 : 2010-10-10 20:28:23 »
А як зневаджувати в асемблерному режимі? Мануал підкиньте.
Дійсно незручно. Треба в віндовс робити.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: Assmbler
« Відповідей #13 : 2010-10-10 20:41:32 »
А як зневаджувати в асемблерному режимі? Мануал підкиньте.
Дійсно незручно. Треба в віндовс робити.
http://www.xakep.ru/magazine/xA/093/122/1.asp
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Assmbler
« Відповідей #14 : 2010-10-10 20:58:52 »
дякую. дуже ціква стаття. До речі
"По умолчанию gdb использует синтаксис AT&T, но может выводить инструкции и в формате Intel."