Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 328
от 29.12.2005, 10:45

Администратор:Калашников О.А.
В рассылке:Подписчиков: 248, Экспертов: 21
В номере:Вопросов: 2, Ответов: 2


Вопрос № 32092: Господа имеется програмка (кусок из которой приведен внизу) Код написан и откомпилирован в компиляторе FASM Задача данного куска открыть файл и считать пару байт из него. Файл под именем file.ddd лежит в той же папке что и прога "C:...
Вопрос № 32094: Ты слишком долго блуждал в темноте, и ты думал, что ночь это день Ария, песня “Что вы сделали с вашей мечтой” Здравствуйте уважаемые эксперты. Моё имя Павел. На данный момент я изучаю Выпуск N 016 из Рассылки Калашникова О...

Вопрос № 32.092
Господа имеется програмка (кусок из которой приведен внизу)
Код написан и откомпилирован в компиляторе FASM
Задача данного куска открыть файл и считать пару байт из него.
Файл под именем file.ddd лежит в той же папке что и прога "C:1"
Прога трассируется отладчиком TD.exe

Есть две проблемы:
1 - Очень часто прога не может найти файл - выставляет флаг СF и заносит в AX ошибку 02 - "не могу найти файл"
2 - иногда прога назодит файл но не читает из него ничего, ошибку чтения не ставит просто в AX = 0 , типа считал 0 байт. Хотя должен был считать 10 байт
Файл имеет размер 10 байт и в нем записана строка "1234567890"

Приложение:

Отправлен: 24.12.2005, 03:04
Вопрос задал: GhostKU (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, GhostKU!
Start:
push cs
pop ds

mov ah, 3dh
mov al, 02h
mov dx, offset filen
int 21h
mov [handle], ax
xchg bx,ax

mov ah, 3fh
mov cx, 10
mov dx, offset str1
int 21h

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 24.12.2005, 09:53


Вопрос № 32.094
Ты слишком долго блуждал в темноте, и ты думал, что ночь это день

Ария, песня “Что вы сделали с вашей мечтой”

Здравствуйте уважаемые эксперты.

Моё имя Павел. На данный момент я изучаю Выпуск N 016 из Рассылки Калашникова Олега. Там речь идет, о способах обойти отладку программы. При этом подразумевается, что отладка программ происходит с помощью AFDPRO v1.00. Так вот автор предлагает вот такой метод обойти отладку программы:
CSEG segment

assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG

org 100h

Begin:

xor ax,ax

mov es,ax

mov bx,es:[03h*4]

mov es,es:[03h*4+2]

mov byte ptr es:[bx],0CFh

mov ah,9

mov dx,offset Message

int 21h

ret

Message db 'DBG16_01.COM – порядок!$'

CSEG ends

end Begin
Суть этого метода такова, что мы по адресу обработчика 03h заносим команду IRET и AFDPRO умирает в долгой агонии.

Так вот, я придумал другой алгоритм, обойти отладку программы не только у AFDPRO, но и Turbo Debugger и даже у такого скальпеля как debug. Но я точно не знаю, можно ли этот алгоритм назвать анти-отладочным.

Вопрос: Можно ли, считать алгоритм, находящийся в файле PROGX.ASM, который я в свою очередь прикрепил к этому письму, анти - отладочным приёмом???

Спасибо за ответ.

Принцип работы алгоритма, находящегося в файле PROGX.ASM:

И так AFDPRO, Turbo Debugger используют 0 – ую страницу в своих целях, например для прорисовки самих себя. Если мы будем отлаживать программу с помощью AFDPRO и запишем во время отладки по адресу 0B800:0000h один байт, то записанный нами байт будет затёрт сразу после исполнения очередной команды.

Например:

Команда присвоения

Результат: 0B800:0000h = = 0CBh <= присвоенное нами значение

Очередная команда

Результат: 0B800:0000h = = 0XXh <= значение, которое присваивает сам отладчик

На основе этой фишки и работает анти – отладка!!!

С уважением, Павел.

Приложение:

Отправлен: 24.12.2005, 06:28
Вопрос задал: Pavel Konstantinovich (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Pavel Konstantinovich!
некоторых отладчиков ты и не увидишь даже, находясь в реальном режиме, хотя в это время отладчик работает в защищённом.
---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 24.12.2005, 09:58


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное