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

 eXeL@B —› Вопросы новичков —› Как узнать каким образом программа читает данные с принтера?
Посл.ответ Сообщение


Ранг: 71.9 (постоянный), 4thx
Активность: 0.040
Статус: Участник

Создано: 28 мая 2014 11:13
· Личное сообщение · #1

Есть промышленный RFID-принтер, программа работающая с ним как-то читает серийный номер этого устрайства из принтера и другие данные. Запускал софтину под монитором Dependency Walker, нигде нет вызова функции ReadPrinter, в импортах и внутри EXE и DLL тоже. Как можно определить, каким образом программа получает данные из принтера?



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

Создано: 28 мая 2014 11:36
· Личное сообщение · #2

jangle, а что есть в импортах? Покажите список функций.

Если принтер идет с драйвером, то связь может происходить через DeviceIoControl, например.




Ранг: 71.9 (постоянный), 4thx
Активность: 0.040
Статус: Участник

Создано: 28 мая 2014 12:14
· Личное сообщение · #3

Initial вот список спулерных функций. То есть пишет прога в принтер явно через WritePrinter, а вот как получает ответы девайса - непонятно. ReadPrinter нигде нет.



3aa7_28.05.2014_EXELAB.rU.tgz - Безымянный.png




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 28 мая 2014 19:00
· Личное сообщение · #4

Я бы пошел двумя путями:

1) ApiMonitor, а там в фильтре можно выбрать "Documents and Printing -> Printing -> Print Spooler Api". По крайней мере, можно будет узнать, упустили ли вы что-либо.

2) Как верно подметил Initial, вполне вероятно, что нужно покопать в сторону драйвера. Там уж совсем просто - смотрим, что за IOCTL, берем IDA и смотрим нужный драйвер. Или, коли угодно, дебажим в VMWARE + WinDbg.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.


| Сообщение посчитали полезным: jangle


Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 28 мая 2014 23:42 · Поправил: Dr0p
· Личное сообщение · #5

GetPrinterData. Наиболее подходит. Делаем ставки

Ну а если серьёзно, то первое о чём я подумал - девайс это обьект и для работы с обьектом существуют методы, тоесть колбеки.




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 29 мая 2014 02:56
· Личное сообщение · #6

c вероятностью в 99% через свой собственный драйвер...

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.



 eXeL@B —› Вопросы новичков —› Как узнать каким образом программа читает данные с принтера?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати