Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› ASSEMBLER!
Посл.ответ Сообщение

Ранг: 14.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 ноября 2006 23:22
· Личное сообщение · #1

Привет. Я начинающий и начал собственно с изучения asm-а. Есть непонятки.. Например: ПОЧЕМУ ПРОГРАММА НЕ ОСТАВЛЯЕТ СВОЮ РЕЗИДЕНТНУЮ ЧАСТЬ ПО ПРЕРЫВАНИЮ 27h??? Писался свой обработчик прерывания 21h,(COM-программа) причем срабатывает только при вызове из самой программы.. Т.е. вектора меняются, все нормально, но при выходе по 27h резидент не сохраняется!!! DS настраиваю на свой код да и вообще все по учебнику (причем по нескольким)! Проблема в WINDOWS XP??? Подскажите пжлст.. очень хочется видеть рез=ты своей работы..

f6a8_28.11.2006_CRACKLAB.rU.tgz - resident.asm



Ранг: 200.3 (наставник)
Активность: 0.090
Статус: Участник

Создано: 28 ноября 2006 23:25
· Личное сообщение · #2

По-моему программировать под ДОС в XP - это гимморой, лучше уже на VMWare поставить 98 винду и на ней все опробовать или установить тот-же ДОС.

-----
Само плывет в pуки только то, что не тонет.




Ранг: 14.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 ноября 2006 23:27
· Личное сообщение · #3

Это понятно.. но как написать резидент работающий в XP!!! Вот это вопрос!




Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 29 ноября 2006 00:01
· Личное сообщение · #4

X_MEM пишет:
Это понятно.. но как написать резидент работающий в XP!!! Вот это вопрос!


wasm.ru/article.php?article=vgw06

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 14.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 29 ноября 2006 00:07
· Личное сообщение · #5

Спасибо, tnt17!




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 29 ноября 2006 09:25
· Личное сообщение · #6

X_MEM, обычно под 2000/XP используют обычный win32 просесс без GUI или драйвер. Ну а потом пошли перехваты API функций, трэфика и т.д.



Ранг: 14.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 29 ноября 2006 11:08
· Личное сообщение · #7

s0larian пишет:
X_MEM, обычно под 2000/XP используют обычный win32 просесс без GUI или драйвер. Ну а потом пошли перехваты API функций, трэфика и т.д.

хмм.. не все так просто.. но будем разбираться! Судя по всему прямой вывод в видеобуфер по адресу 0B800h также не раотает в XP?



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 ноября 2006 16:05
· Личное сообщение · #8

ты очень удивигся, но он таки работает. Фишка в том, что все приложения НЕ win32 запускаются в Winnt как бы сказать в виртуальной машине DOS - ntvdm. Насчет резидентных програм, если все зделано правильно, то в текущнм сеансе ntvdm работать будет, доказано.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 30 ноября 2006 08:03 · Поправил: tundra37
· Личное сообщение · #9

X_MEM пишет:
Судя по всему прямой вывод в видеобуфер по адресу 0B800h также не раотает в XP?

В ДОС-программе работает. Просто нельзя слепо копировать тексты, ориентированные на ДОС.
В ДОС-е программа изначально находится в видео-режиме 03 - текст. В ХП по умолчанию режим 10 - видео 640х480 Добавь соответствующий INT 10 и все будет ОК!
++++++++++++++++++++++++++++++++
Кстати программа у тебя почти правильная - вместо & надо знак доллара поставить.
Прога сидит резидентно, но мне просто лень искать кто функцию 09 использует.
Учти, что все это работает до тех пор пока открыто окно в котором ты ее вызвал и работает естественно только в этом же окне.



Ранг: 14.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 30 ноября 2006 11:20
· Личное сообщение · #10

tundra37 пишет:
Добавь соответствующий INT 10

С int10h сработало!!!
tundra37 пишет:
и работает естественно только в этом же окне.

вот это и обидно.. но я думаю надо до win32 просто доучиться



Ранг: 14.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 30 ноября 2006 11:42
· Личное сообщение · #11

может кто посоветует тутр какой-нибудь САМЫЙ ОФИГЕННЫЙ по WIN32 ас..ию




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 30 ноября 2006 14:24
· Личное сообщение · #12

X_MEM, а у гугла спросить?
win32assembly.online.fr/tutorials.html




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 30 ноября 2006 15:20
· Личное сообщение · #13

www.wasm.ru/publist.php?list=1

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 11.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 01 декабря 2006 08:15
· Личное сообщение · #14

X_MEM
Может, это и не лучший туториал, но мне в своё время помог
www.movsd.com/download/icztutes.exe



Ранг: 14.8 (новичок)
Активность: 0.010
Статус: Участник

Создано: 01 декабря 2006 11:10
· Личное сообщение · #15

THANK FOR ALL!


 eXeL@B —› Программирование —› ASSEMBLER!
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати