Посл.ответ |
Сообщение |
![](img/s4.gif) Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 20 ноября 2014 14:01 · Личное сообщение · #1
Как перехватить изображения печатаемых страниц? Пока они еще распечатаны. Насколько я понимаю, изображение печатаемой страницы преобразуется в EMF файл и затем он передается драйверу принтера, чтобы драйвер преобразовал изображение в низкоуровневые команды принтера. Наверное можно получить доступ к этому EMF до его передачи в драйвер?
| Сообщение посчитали полезным: |
|
Ранг: 397.0 (мудрец), 179thx Активность: 0.17↘0.1 Статус: Участник
|
Создано: 20 ноября 2014 14:05 · Личное сообщение · #2
может я и не прав, но вроде в спулере печати можно найти
----- ...или ты работаешь хорошо, или ты работаешь много... | Сообщение посчитали полезным: |
![](img/s4.gif) Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 20 ноября 2014 15:03 · Личное сообщение · #3
BfoX пишет: может я и не прав, но вроде в спулере печати можно найти Получения изображения документа там нет
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 20 ноября 2014 16:12 · Личное сообщение · #4
вот тут есть немного инфы: http://forum.vingrad.ru/topic-43671.html а дальше поиск по FindNextPrinterChangeNotification судя по гуглу, у кого-то получалось даже
----- [nice coder and reverser] | Сообщение посчитали полезным: |
![](img/s4.gif) Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 20 ноября 2014 16:27 · Личное сообщение · #5
Hellspawn пишет: FindNextPrinterChangeNotification Уведомления о количестве страниц, начало/конец печати и прочие сообщения. Но изображение документа посылаемого на принтер вытянуть нельзя. Я пока кроме хука на DrvSendPage и выдирание растра из структуры SURFOBJ ничего не придумал. Должны же быть какие-то простые пути, ведь есть много программ которые ловят документы посылаемые на печать.
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 20 ноября 2014 16:40 · Личное сообщение · #6
jangle гуглите дальше, из сервиса народ говорит можно. отреверсите эти программы, которые перехватывают, не понимаю в чем сложность.
----- [nice coder and reverser] | Сообщение посчитали полезным: |
![](img/s7.gif) Ранг: 337.6 (мудрец), 224thx Активность: 0.21↘0.1 Статус: Участник born to be evil
|
Создано: 20 ноября 2014 16:56 · Личное сообщение · #7
изначально - зачем это нужно (на каком уровне хватать - свои доки(???), чужие на своем-коллективном, через траф локалки ваще на коллективный, ...) ?
----- От многой мудрости много скорби, и умножающий знание умножает печаль | Сообщение посчитали полезным: |
![](img/s4.gif) Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 20 ноября 2014 17:10 · Личное сообщение · #8
ajax пишет: изначально - зачем это нужно Исправление драйвера принтера. Когда печатаешь на нем маленький штрихкод, драйвер преобразует его в растр и кодирует его как картинку своим встроенным языком, потом посылает на принтер. Картинка выходит некачественной, мутной. Поэтому надо перехватить изображение, zxing-ом распознать штрихкод, и самостоятельно сформировать страницу на языке разметки принтера, выкинув картинку конечно, вставив вместо нее команды разметки штрихкода. А потом записать страницу в порт принтера. Картинка получается идеальной. Все это я могу сделать, я не понимаю как получить изображение документа посланного на печать.
| Сообщение посчитали полезным: |
![](img/s7.gif) Ранг: 337.6 (мудрец), 224thx Активность: 0.21↘0.1 Статус: Участник born to be evil
|
Создано: 20 ноября 2014 17:46 · Личное сообщение · #9
мож чего не понимаю, но похоже на изобретение велосипеда. неужели никто не печатает штрихи? да уйма народу "от и до", не помню уже все iso наименования, давно было. в профильных форумах тишина?
----- От многой мудрости много скорби, и умножающий знание умножает печаль | Сообщение посчитали полезным: |
![](img/s9.gif) Ранг: 1053.6 (!!!!), 1078thx Активность: 1.06↘0.81 Статус: Участник
|
Создано: 20 ноября 2014 18:02 · Личное сообщение · #10
пишете свой драйвер принтера виртуального и его устанавливаете как дефолтовый в него все выводится будет при печати вы его перехватываете переделываете и отправляете в другой драйвер принтера, либо сразу в физический порт принтера
| Сообщение посчитали полезным: |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг"
|
Создано: 20 ноября 2014 18:12 · Личное сообщение · #11
Тащемта, я могу попробовать полностью закрыть вопрос тс ![](img/smilies/s1.gif) Есть такая программа Print Audit, которая собственно и занимается тем, что ставит хуки при печати. Я с ней пересекся по поводу взлома лицензирования, но по своей сути, это то, что нужно. Ее просто так не достанешь в нете (в принципе ее и нигде нет), но я могу слить в личку весь клиент (сервер у админа, который контролирует печать...но он Вам, в принципе, не нужен). В клиенте pa6hook.dll хукается на ring3, pa664Inj.sys на ring0 соответственно. В приложении только pa6hook.dll 3589_20.11.2014_EXELAB.rU.tgz - pa6hook.dll.zip
| Сообщение посчитали полезным: |