ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Чужие Статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Работа с Debug
  #1  
Старый 31.01.2007, 11:55
Аватар для _GaLs_
_GaLs_
Постоянный
Регистрация: 21.04.2006
Сообщений: 540
Провел на форуме:
1310036

Репутация: 726


Отправить сообщение для _GaLs_ с помощью ICQ
По умолчанию Работа с Debug

P.S Даная статья была взята с xakep.ru, автор которой SerP. Статья будет полезна тем кто собрался изучать или изучает ассемблер. Например мне данная статья помогла сдать экзамен в университете. Так что кто не знает что такое Debug то можно даже не читать

Эта статья посвящена работе с стандартным дебаггером системы ДОС. Ты скажешь: «На кой фиг мне это надо мне, крутому перцу?». Представь ситуацию: ты приходишь в компьютерный клуб (интернет-кафе, к другу домой), а там на тачке дисководы сняты, сидюки заклеены, а пакость сделать все же хочется. Естественно, на любом «нормальном» компе нет никаких компиляторов С, ассемблеров… но почти на каждом «нормальном» компе есть ДОС! Да, именно ДОС, и его последователи - Винды всех типов а конкретнее программа DEBUG.

Как? Набрать короткую (если времени мало, да и сил жалко), но неприятную программку, сохранить ее на диске и потом запустить, получив моральное удовлетворение. Посмотрим, как это делается, но для начала изучим несколько простых, но весьма полезных команд.

Итак, вы запустили программу DEBUG

Первая команда –D (dump) <adress>.

Эта команда позволяет просмотреть некоторую область памяти, адрес которой задан в параметре <adress> в формате сегмент:смещение.

Для начала посмотрим ПЗУ BIOS:

-d F000:E000



Здесь вы видите фирму-производителя вашей BIOS. А по адресу:

-d F000:EC6C



получаем интересную информацию о системе, такую как дата создания БИОС, чипсет… А по данному адресу (0000:046C) находится таймер БИОС. Отчетливо видно, что значения все время меняются. Для программиста удобно просматривать сегменты команд, данных и стека (CS, DS и SS, соответственно).

-d DS:0000



Выше мы видим содержимое сегмента данных, т. е. значения определенных переменных.

-d CS:100



А тут представлено содержимое сегмента команд, т.е. машинные коды команд, готовых к исполнению. Освоив команды просмотра памяти, впоследствии мы сможем эффективно отлаживать наши программы и просматривать введенный нами код перед исполнением (для нас сейчас это приоритетная задача).

Еще одна важная команда -R (register) <register name>, позволяющая просматривать состояние конкретного регистра и изменять его состояние или же сразу перейти к первой выполняемой команде с просмотром всех регистров.

-r AX

AX 1203
: 0
-

В данном фрагменте мы просматриваем регистр АХ и очищаем его (пишем в него 0). Чтобы перейти к первой выполняемой команде (по адресу CS:100):

-r

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=3B9A ES=3B9A SS=3B9A CS=3B9A IP=0100 NV UP EI PL NZ NA PO NC
3B9A:0100 E82421 CALL 2227


Третья команда –E (enter) Addres <command list>.

Предназначена она для изменения значений в памяти – с помощью нее можно уже вводить команды в машинных кодах. Замечание: при вводе данных сначала пишется младший байт (по младшему адресу), затем – старший (по старшему), т. е. чтобы записать по адресу DS:0000 число 1234h необходимо ввести:

-E DS:0000 34 12

Например введем следующее:

-E cs:100 B8 34 12
-D CS:100



А с помощью команды U (unassemble) <starting address>, <ending adress> дизассемблируем введенные команды и получим:
-U CS:100,102
3B9A:0100 B83412 MOV AX,1234

Таким же образом можно дизассемблировать любой участок памяти, что очень полезно. Но вместо ввода команд на машинном языке, можно воспользоваться встроенным ассемблером программы DEBUG. Для этого существует команда -A (assemble) <adress>. С помощью этой команды вы можете написать уже нормальную программку на ассемблере, выполняющую необходимые действия.:

-A
0B3B:0100 mov ax,1234
0B3B:0103 mov ah, 4c
0B3B:0105 int 21
0B3B:0107

А как же теперь сохранить программу на диске? Сначала задается имя файла:

-N my_file.com

Затем в регистр СХ необходимо поместить размер программы в байтах. Он будет равен разности конечного и начального смещений. Теперь остается только осуществить запись на диск командой W и в результате увидеть записанное количество байтов. В итоге мы получаем программу, готовую к исполнению. Выход осуществляется командой q. Пример:

-A
0B3B:0100 mov ax,1234
0B3B:0103 mov ah, 4c
0B3B:0105 int 21
0B3B:0107
-u CS:100, 106
0B3B:0100 B83412 MOV AX,1234
0B3B:0103 B44C MOV AH,4C
0B3B:0105 CD21 INT 21
-r cx
CX 0000
:7
-r
AX=0000 BX=0000 CX=0007 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B3B ES=0B3B SS=0B3B CS=0B3B IP=0100 NV UP EI PL NZ NA PO NC
0B3B:0100 B83412 MOV AX,1234
-N my.com
-W
Запись 00007 байт
-q

В заключение можно сказать, что данный способ создания программ открывает новые возможности для любителей компьютерных пакостей, приколов, да и просто программистов-любителей – ведь теперь для создания небольших программ, вместо установки компиляторов, можно воспользоваться стандартными средствами системы, а DEBUG входит в поставку во все Винды вплоть до ХР. Я думаю, что это поможет вам веселее провести время за чужим компом, вызывая истинное удивление хозяина (дисков и дискет-то вы не приносили!!!) новыми эффектами работы его оборудования. Успехов, юные любители хакерного экстрима!

И ещё добавлю от себя: как можно прикальнутся над чужим компьютерам, просто вводим вот такую команду JMP $ и пользователь до бесконечности будет смотреть на одну и тужу картинку
 
Ответить с цитированием

  #2  
Старый 31.01.2007, 12:20
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

ничего не заменит книжку
"Персональный компьютер IBM PC и операционная система MS-DOS" П.Нортон, 1992

Статья - голимая, как и 90% статей из хакера.

Цитата:
Эта статья посвящена работе с стандартным дебаггером системы ДОС. Ты скажешь: «На кой фиг мне это надо мне, крутому перцу?». Представь ситуацию: ты приходишь в компьютерный клуб (интернет-кафе, к другу домой), а там на тачке дисководы сняты, сидюки заклеены, а пакость сделать все же хочется.
без комментариев. автору стоит убиться об стенку с особой жестокостью
 
Ответить с цитированием

  #3  
Старый 31.01.2007, 13:37
Аватар для fYt
fYt
Познающий
Регистрация: 11.01.2007
Сообщений: 82
Провел на форуме:
592893

Репутация: 108
По умолчанию

На wasm.ru еще есть похожая+)
 
Ответить с цитированием

  #4  
Старый 27.02.2007, 17:53
Аватар для r0
r0
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме:
1665310

Репутация: 488
По умолчанию

Статья может голимая , но сама программа гут, [хотя непонятен дистурктивный прием, изложенный выше] даже хотя бы взять тот факт, что многие работают в Win системах и не знают о существовании отладчика.
 
Ответить с цитированием

  #5  
Старый 27.02.2007, 19:00
Аватар для tclover
tclover
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме:
9751364

Репутация: 1847


По умолчанию

Нортона не читал (к сожалению), но Питер Абель рулит
кстати
Цитата:
Здесь вы видите фирму-производителя вашей BIOS. А по адресу:

-d F000:EC6C
о_О
FE00:05

PS.
Цитата:
Например мне данная статья помогла сдать экзамен в университете.
- какой ужас. Мне страшно за уровень специалистов. Или ты учишься на секретаршу?

Последний раз редактировалось tclover; 27.02.2007 в 19:03..
 
Ответить с цитированием

  #6  
Старый 01.03.2007, 00:22
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от r0  
Статья может голимая , но сама программа гут, [хотя непонятен дистурктивный прием, изложенный выше] даже хотя бы взять тот факт, что многие работают в Win системах и не знают о существовании отладчика.
если те "многие" о нем не знают, им и не за чем знать.
зы. какой нахер деструктивный прием? ассемблер учите сначала...
 
Ответить с цитированием

  #7  
Старый 02.03.2007, 14:00
Аватар для _GaLs_
_GaLs_
Постоянный
Регистрация: 21.04.2006
Сообщений: 540
Провел на форуме:
1310036

Репутация: 726


Отправить сообщение для _GaLs_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от tclover  
PS. - какой ужас. Мне страшно за уровень специалистов. Или ты учишься на секретаршу?
Ты наверно только с этой статьи узнал что такое Debug. Но ты решил показать что ты такой умный!!! Всё ясно.
 
Ответить с цитированием

  #8  
Старый 02.03.2007, 17:24
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от _GaLs_  
Ты наверно только с этой статьи узнал что такое Debug. Но ты решил показать что ты такой умный!!! Всё ясно.
ты, наверное, тоже.

кстати в статейке полно бредятины.
мне жалко начинающих кодеров, которые прочитали эту статью.
например, написано что все винды - последователи ДОСа. Простите, но это относится только к версиям 1.х, 2.х, 3.х, 9х и Me. В них реально есть 16битный код.
Но вот все NT-based системы (NT4, 2k, XP, 2k3) полностью 32 битные и ни байта 16битного кода (кроме загрузчика, который 32битным быть не может по определению) нету.
Сразу видно, что автор статьи не разбирается в том, о чем пишет, что весьма печально, но очень типично для "Хакера".

Последний раз редактировалось _Great_; 02.03.2007 в 17:27..
 
Ответить с цитированием

  #9  
Старый 02.03.2007, 17:59
Аватар для _GaLs_
_GaLs_
Постоянный
Регистрация: 21.04.2006
Сообщений: 540
Провел на форуме:
1310036

Репутация: 726


Отправить сообщение для _GaLs_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от _Great_  
ты, наверное, тоже.

кстати в статейке полно бредятины.
мне жалко начинающих кодеров, которые прочитали эту статью.
например, написано что все винды - последователи ДОСа. Простите, но это относится только к версиям 1.х, 2.х, 3.х, 9х и Me. В них реально есть 16битный код.
Но вот все NT-based системы (NT4, 2k, XP, 2k3) полностью 32 битные и ни байта 16битного кода (кроме загрузчика, который 32битным быть не может по определению) нету.
Сразу видно, что автор статьи не разбирается в том, о чем пишет, что весьма печально, но очень типично для "Хакера".
Походу ты тоже!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с современными SIM-картами с алгоритмом шифрования Comp v2 и 3 novichok Сотовый фрикинг 23 16.01.2009 18:16
Юмор: Кто сказал что у админов халявная работа? silveran Болталка 7 21.07.2007 02:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ