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

 eXeL@B —› Программирование —› TSR+DOS+запись в файл=проблема
Посл.ответ Сообщение

Ранг: 54.0 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 24 февраля 2007 14:00
· Личное сообщение · #1

проблема, собственно в чем: надо срочно написть тср (что-то типа грабера экрана по таймеру) под дос аж 6.22; дело вообще говоря знакомое, но за давностью несколько подзабытое - напоролся на грабли: при записи из таймерного прерывания (1c) на винт через int21 прога намертво вешается. не могу понять почему. про нереентерабельность доса помню - проверка indos есть. psp+dta устанавливаю в свои. файл открывается изнутри прерывания. вобщем, моя фантазия истощилась, кто лучше разбирается - подскажите пожалуйста. был бы очень благодарен за работающий пример.
исходник и скомпилированный текст в аттаче.
зы. стек переставлять на собственный пробовал. не помогает. сбрасывать не каждый тик, а раз в примерно 3 секунды - аналогично. полный маразм

90f6_24.02.2007_CRACKLAB.rU.tgz - see.zip




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

Создано: 24 февраля 2007 14:38
· Личное сообщение · #2

Вот тебе мой логгер портофф под DOS - может быть, поможет..

da1e_24.02.2007_CRACKLAB.rU.tgz - WATCH_P.rar

-----
The one derivative you manage is the one I abhore (c) Slipknot




Ранг: 54.0 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 24 февраля 2007 14:57
· Личное сообщение · #3

Chingachguk пишет:
Вот тебе мой логгер портофф под DOS - может быть, поможет..

спасибо, посмотрел. там инт 28 задействован - к сожалению у меня так не пройдет, нет уверенности что там дос висит в идле. до того (самый первый вариант) - пробовал аналогичным способом, но почему-то не открывается нормально файл, а значит - дальше не пишется. не понимаю
зы. попробовал методом исключения посмотреть на чем вешается - оказалось на 40h, т.е. на самой записи. открытите, установка и тп проходят, записываем - висим. шайтан однако. пойду копать дальше...
да. пробовал перехватить 13 и повесить флаг входа (типа проверки на повторный вход). не помогло.



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

Создано: 24 февраля 2007 15:13
· Личное сообщение · #4

И через прерывания биос тоже пробовал писать в файлы?



Ранг: 54.0 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 24 февраля 2007 15:25
· Личное сообщение · #5

KpeHDeJIb пишет:
И через прерывания биос тоже пробовал писать в файлы?

не очень понял. это как?



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

Создано: 24 февраля 2007 15:30
· Личное сообщение · #6

n1kto пишет:
не очень понял. это как?

мм, прости, я кажется погорячился, попутал с консолью... но проблема зацепила, подумаю на досуге, я тут не так давно как раз баловался, писал кейлоггер как тср под дос, вроде подобная проблема была, как только доберусь до исходников посмотрю что там было...




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

Создано: 24 февраля 2007 15:52 · Поправил: Chingachguk
· Личное сообщение · #7

Эээ... Ну не сам int 28h, а флажок от него... вряд ли его не будет. Тогда делай как в другом моем логгере - резидент висит и в буффер (память) сбрасывает, а дампер общается с ним... например через свободное int 63h...

ps А если через BIOS, то эта... если только на дискетку в сектора... а прямо на диск - тут надо еще FAT рюхать

pps Вот пример другого логгера - для какой-то pcdosemu давно делал...

-----
The one derivative you manage is the one I abhore (c) Slipknot





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

Создано: 24 февраля 2007 16:06
· Личное сообщение · #8

Вот оно:

213a_24.02.2007_CRACKLAB.rU.tgz - PATCH_PC.rar

-----
The one derivative you manage is the one I abhore (c) Slipknot



 eXeL@B —› Программирование —› TSR+DOS+запись в файл=проблема
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати