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

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


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

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

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

Выпуск № 329
от 30.12.2005, 10:57

Администратор:Калашников О.А.
В рассылке:Подписчиков: 247, Экспертов: 20
В номере:Вопросов: 5, Ответов: 6


Вопрос № 32103: Здравствуйте уважаемые эксперты. Всех с наступающим:) Есть некая строка символов, скажем '012345'. Вывести ее на экран можно исполюзуя стандартные функции прерываний, скажем функция 09h прерывания 21h. Но я слышал, что вывод можно осуществит...
Вопрос № 32120: Подскажите пожалуйста, как на ассемблре завершить процесс в WinXP. Заранее спасибо!...
Вопрос № 32127: Подскажите, пожалуйста, где можно скачать последнюю версию Soft-Ice для XP? Как его правильно установить и как им пользоваться? Вопрос "как им пользоваться звучит бредово"... поэтому подкиньте ссылки на документацию. ..
Вопрос № 32129: Задача - Перебрать все файлы на диске и подсчитать их количество. Я пытаюсь организовать рекурсивные перебор. Устанавливаю текущий каталог Устанавливаю DTA область ИСпользую функцию поиска Все работает но есть одно но, для к...
Вопрос № 32138: Уважаемые Эксперты - пожалуйста помогите найти ошибку. Написал я dll просто для примера (там eax=1+2), скомпилировал: ml /c /coff mylibrary.asm link /DLL mylibrary.obj - (Ругался, что 'entrypoint "__dll_start" is not __stdcall w...

Вопрос № 32.103
Здравствуйте уважаемые эксперты. Всех с наступающим:)

Есть некая строка символов, скажем '012345'. Вывести ее на экран можно исполюзуя стандартные функции прерываний, скажем функция 09h прерывания 21h. Но я слышал, что вывод можно осуществить и не используя прерывания, а с помощью прямой работы с видеопамятью. Не могли бы вы обьяснить как это зделать?

Заранее всем благодарен.

P.S. Я знаю, что подобный вопрос уже кто-то задавал, но к сожалению в рассылке я ответа на него не нашел, так что пишу вам.
Отправлен: 24.12.2005, 11:26
Вопрос задал: Юра (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Sager
Здравствуйте, Юра!
begin:
mov ax,3
int 10h
mov ax,0B800h
mov es,ax
mov di,0

mov ah,31
mov bx,0
mov cx,6
again:
mov byte ptr al,data[bx]
mov es:[di],ax
add di,2
inc bx
dec cx
jnz again

mov ah,10h
int 16h

int 20h

data db '012345'
end begin
Ответ отправил: Sager (статус: Студент)
Отправлен: 24.12.2005, 12:47


Вопрос № 32.120
Подскажите пожалуйста, как на ассемблре завершить процесс в WinXP. Заранее спасибо!
Отправлен: 24.12.2005, 19:02
Вопрос задал: V. Yegor S. (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Евгений Иванов
Здравствуйте, V. Yegor S.!
he TerminateProcess function terminates the specified process and all of its threads.

BOOL TerminateProcess(

HANDLE hProcess, // handle to the process
UINT uExitCode // exit code for the process
);
---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 24.12.2005, 19:06

Отвечает: Sager
Здравствуйте, V. Yegor S.!
Чтобы завершить процесс, нужно сначало узнать его ID.
Сначало объяви структуру: pe32 PROCESSENTRY32
Заполнить нужно только один параметр pe32.dwSize(размер всей структуры)
Затем вызываешь функцию
push 0
push TH32CS_SNAPPROCESS
call CreateToolhelp32Snapshot
mov hSnap,eax
push offset pe32
push eax
call Process32First
и дальше в цикле смотришь на параметр pe32.szExeFile - здесь находится имя процесса, если нужный тебе процесс, то параметр pe32.th32ProcessID содержит ID процесса - выходишь из цикла, если нет - то в конце цикла вызываешь функцию:
push offset pe32
push hSnap
call Process32Next

Затем, чтобы завершить процесс, делаешь следующее:
hProcess =
push process_ID
push 0
push PROCESS_ALL_ACCESS
call OpenProcess

push eax

push -9
push eax
call TerminateProcess

call CloseHandle

Кстати, чтобы делать тоже самое с системными процессами нужны привилегии отладчика.
Ответ отправил: Sager (статус: Студент)
Отправлен: 25.12.2005, 12:41


Вопрос № 32.127
Подскажите, пожалуйста, где можно скачать последнюю версию Soft-Ice для XP?
Как его правильно установить и как им пользоваться?
Вопрос "как им пользоваться звучит бредово"... поэтому подкиньте ссылки на документацию.
Отправлен: 24.12.2005, 20:27
Вопрос задал: REFERI (статус: Студент)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sager
Здравствуйте, REFERI!
скачать можно здесь:
http://reversing.kulichki.net/files/debug/debug.htm
Дока по установке здесь:
http://web.archive.org/web/20050206195305/www.cracklab.ru/art/
Документация:
http://dante.net.ru/forum/printthread.php?t=195
http://clifftown.narod.ru/development.html
http://nextpc.narod.ru/Rasnoe_Victerat.html
Плюс зайди на крэкерские сайты, где есть описание взлома программ и в них же и описание пользование softice'ом(cracklab.ru, reversing.kulichki.net)
Ответ отправил: Sager (статус: Студент)
Отправлен: 24.12.2005, 22:15
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо!


Вопрос № 32.129
Задача - Перебрать все файлы на диске и подсчитать их количество.
Я пытаюсь организовать рекурсивные перебор.
Устанавливаю текущий каталог
Устанавливаю DTA область
ИСпользую функцию поиска

Все работает но есть одно но, для каждого файла мне нужно проверить не является ли он каталогом. Насколько я понимаю в DTA области есть метка указывающая на то, что текущий файл - есть каталог.
Но к сожалению я так и не понял суть и струтуру DTA. Может кто подскажет как мне определить "каталог или не каталог"?
Спасибо.
Отправлен: 24.12.2005, 21:02
Вопрос задал: GhostKU (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Евгений Иванов
Здравствуйте, GhostKU!
Зачем тебе DTA? есть удобные функции 4Eh и 4Fh - поиск. там можно и атрибут указывать каталога.

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


Вопрос № 32.138
Уважаемые Эксперты - пожалуйста помогите найти ошибку.
Написал я dll просто для примера (там eax=1+2), скомпилировал:
ml /c /coff mylibrary.asm
link /DLL mylibrary.obj - (Ругался, что 'entrypoint "__dll_start" is not __stdcall with 12 bytes of arguments; image may not run', но mylibrary.dll создал)
Потом создал mylibrary.lib:
implib mylibrary.lib mylibrary.dll - тожеругался: 'no export', хотя я вроде поставил public myfunc, но .lib файл я всё-таки получил.

Создаю теперь tst.asm, куда буду вставлять функцию из этой библиотеки. Компилирую:
ml /c /coff tst.asm - всё норм.
link /subsystem:console tst.obj - и тут fatal error: no argument cpecified with option /defaultlib:
EXE-шник так и не получился. Зачем нужен этот параметр (/defaultlib:), и откуда выскакивает? Почему implib говорит, что "нет экспорта"?

Приложение:

Отправлен: 25.12.2005, 02:33
Вопрос задал: Zloy_pes (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Sager
Здравствуйте, Zloy_pes!
stdcall вначале убери, entrypoint "__dll_start" is.... ругается на это, потому что нужно не передавать не менее 12 байтов параметров, метку _dll_start: нужно поставить после процедуры и в ней eax присвоить отличное от нуля значение(длл должна возвращать в еах ненулевое значение)
строку implib mylibrary.lib mylibrary.dll писать не надо(у тебя итак длл создается, когда ее компилишь)

Приложение:

Ответ отправил: Sager (статус: Студент)
Отправлен: 25.12.2005, 08:07


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

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

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

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

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


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


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

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

В избранное