|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 7, 2003 05:13:21
Q: Здраствуйте. Все знают, что, например, OS Windows работает
используя процессы которые в свою очередь владеют
потоками... Ну, почти так :) В общем, я не понимаю одного...
Регистры у процессора одни ведь? Правильно? тогда как
программы используют их одновременно? Допустим, за квант
времени, отведенный 1-му потоку он успел выполнить код MOV
EAX, 10 затем управление перешло ко второму потоку который
выполнил MOV EAX, 20 как потом первый поток, когда к нему
вернется управление, сможет "найти" записанное ранее
значение? +)
Вот это как раз тот "момент" которого я не понимаю :(
A: Windows одновреммено не может несколько программ выполнят, у
вас только один процессор! Оно просто очень быстро между
этими процессами переключается, и создаёт иллюзию
"multi-tasking"'а. Когда Windows переключается с процесса на
процесс, оно сохраняет значения каждого регистра перед
переключением в структуру CONTEXT. А когда обратно
переключается к процессу, то уже считывает значения
регистров с этой структуры. Смотрите API SetThreadContext и
GetThreadContext.
Q: Можно ли каким-то образом перехватывать прерывания и менять
их? То есть, если юзер нажимает наприметр на клаве символ
'A' то я хочу вместо него вывести 'X'. Для этого нужно
отследить прерывание от клавы с символом А и заменить его на
прерывание соответствующее символу Х. Реально ли это?
A: Читай доку про хуки. Оно конечно не прерывания, но 'A' на
'X' поменять можно.
Q: Посоветуйте, плизз, начинающему хороший учебник по АСМ.
Только нужно все с нуля и с подробным описанием.
A: В.Юров "Assembler" - Учебник, изд. Питер, 2000
В.Юров "Assembler" - Специальный справочник, изд. Питер, 2000
В.Юров "Assembler" - Практикум, изд. Питер, 2001
Практикум можешь не покупать - весьма занудная книженция.
С.В.Зубков "Assembler. Для DOS, Windows и Unix", изд. ДМК.
Если кодинг под Win, то Iczelion'а почитай.
Q: Как можно вызывать API функции не через их имена?
A: Через ординалы.
http://www.programmingjournal.com/issue4/art3/index.htm
Q: Как я могу отослать сообщение в приложение?
A: http://www.osr.com/ntinsider_online.shtml
Тебе нужны следующие статьи:
1997
1. Tools of the Trade: A Catalog of NT Synchronization
Mechanisms
2002
2. Synchronicity -- A Review of Synchronization Primitives
3. Sharing is Caring -- Sharing Events Between Kernel-User
Mode.
Q: Как откомпилировать .obj в .dll?
A: MASM:
link file_name.obj /subsystem:windows
TASM:
implib file_name.lib file_name.dll
tlink /Tpd /aa /z /c file_name.dll
Q: Как добавить скомпилированный ресурс (*.res) в тело
exe-файла ?
A: Нужно добавить параметр - имя res-файла в командную строку
компоновщика.
Q: Как перевести HEX/DEC число в строку для вывода на экран?
A: Ковыряйте форум. Эти темы поднимались очень много раз...
|
|
|
Дата: Сен 7, 2003 06:09:11 KiNDeR Начинай с простого, где какую нужную для программирования утилиту взять и как её настроить, тоже для реверсинга, начинай SoftIce, по нему больше всего вопросов задают ;-) |
|
|
Дата: Сен 7, 2003 06:10:34 · Поправил: Asterix Я бы вообще советовал сделать что-то вроде как на http://board.win32asmcommunity.net/ |
|
|
Дата: Сен 7, 2003 08:31:15 Asterix Понял, исправлюсь... |
|
|
Дата: Сен 7, 2003 18:45:47 KiNDeR Спасибо! Умничка! |
|
|
Дата: Сен 8, 2003 19:54:27 KiNDeR Супер!!!! |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.078 |