Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm: Общие вопросы > int 78h |
Автор: Zigmund 29.10.2002, 21:52 |
Здрасть. Кто-нить знает что за функции int 78h: ah=3bh, ah=21h, ah=1ah все вызовы такие: mov ah,3Bh mov dx,1CC4h int 78h спасибо. |
Автор: Chingachguk 30.10.2002, 00:09 | ||
Извини, а может ты перепутал с int 7B(Ральф Браун):
В моем Брауне насчет 78 ничего такого нет... А трассировка что дает ? |
Автор: Chingachguk 30.10.2002, 00:16 |
Собственно, вот чего она дает: mov ah,3Bh mov dx,1CC4h int 78h ; => заходим в Int 78h, и ... переходим в 0000 ![]() ; Непонятно... ; Далее следует: push sp add al,[bp+di-31D5] add [bp+di+162B],ax add [bx+di+0B],dh xlat add [bp+di+652B],ax add al,70 add [si-01],dl add al,dh or [bx+si-1000],al outsw out dx,ax ... Собственно, явный бред - это не код. то, что винда дала зайти в вектор, говорит о том, что это не ее... ИМХО, драйвер зовется какой-то. И его обычно нет. Дело было в win98. |
Автор: Zigmund 30.10.2002, 02:55 |
по всей видимости эти функции как-то связаны с работой brun40.exe (Qbasic 4.0)... есть соображения? |
Автор: Baa 30.10.2002, 12:06 |
Int78 Family These are memory resident harmless viruses. They hook INT 21h and write themselves to the and of COM files. While installing they store the original INT 21h address to the address of INT 78h vector, and then while infecting the files they use int 78h calls instead of INT 21h. These viruses do not manifest themselves. |
Автор: Chingachguk 30.10.2002, 17:29 |
Вряд ли. Нафиг вирусам самим себя детектировать по ДВУМ регистрам ? Обычно делают так: mov cx,0ABCDh int xx cmp cx,DCBAh jz @@OurInTown А перенаправление 21->78 (или я видел 13->78) не подразумевает передачи параметров в регистрах ... И зачем вирю от 21-вектора функции 3b, 1A и 21 ? to Zigmund: а что ты вообще делаешь, что даже подозреваешь даже несчастный Qbasic ? ;) |
Автор: Zigmund 30.10.2002, 17:44 |
Да не подозреваю я его ![]() Просто так и есть... ковыряю старую рухлядь (89год!) и хочу заставить ее работать... (очень надо!)... Она работала с ключем аппаратным, а теперячи ключ погарел ![]() обход ключа нашел, а вот расчеты она теперь ведет неправильно ![]() вот и говорю, что есть run-time'a BRUN40.EXE (это QB4) и подозреваю, что именно она имеет дело с такими нестандартными прерываниями... а док по ентому делу найти никак не могу ![]() ...даже искал декомпилер ![]() -> http://members.aol.com/mspring810/private/index.htm |
Автор: Chingachguk 30.10.2002, 19:23 |
Так это ключ защиты проги или ключ расшифровки данных ? Если данных, то его надо подбирать ? Что она делает (расчитывает) ? |
Автор: Zigmund 30.10.2002, 19:51 |
89год! тогда данные еще не шифровали аппаратными ключами! ![]() система дизайна для вязальной машины (286, 2 монитора + плоттер! ![]() есть резидент, который вешается на 13h, 10h, 16h ... только на 10h в функцио ah=0h встроена проверка наличия ключа. (для изображения на 2-м мониторе (на 1-м меню) путем общения с LPT2 ;) все. а другой модуль (расчета узоров и сохранения их на дискету) с 10H не работает (IMHO)... вот такие пироги ![]() практически если хотча помочь - пиши в мыло. спасибо за общение. |
Автор: Алексей 5.11.2002, 03:52 |
Скорее всего это ошибка disassembler'а, возможно disassembler преобразовал машинный код в это прерывание (int 78h) из текста (например: Error487 db 'xxx'). |
Автор: gbpltw 10.11.2002, 14:09 | ||
Где-то тут проскакивало слово плоттер. |