Фотогалерея Фильмы и аудиокниги Форум Главная Поиск

Вернуться   Russian America - Форум Русских Иммигрантов в Америке > INTERNET AND TECHNOLOGY > интернет и компьютеры


интернет и компьютеры форум о компьютерах и об интернете, скорая компьютерная помощь, операционные системы, сайты и ссылки

Ответ
 
LinkBack Опции темы Опции просмотра
  #1 (permalink)  
Старый 19.02.2008, 11:33
Аватар для Ulitka  
Регистрация: 01.10.2003
Адрес: USA
Сообщения: 7,082
Сказал спасибо: 174
Поблагодарили 226 раз в 169 сообщениях
Вес репутации: 4091
Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute
По умолчанию купил цветной принтер - проверь, не шпионит ли он за тобой!

The secret code in color laser printers lets government track your steps

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

Хотите проверить, входит ли ваш принтер в число домашних шпионов? Вот полный листинг - yellow dots color printers. Красным цветом помечены модели со встроенной трекинг системой, зеленым - "чистые" модели.

Недавно комиссар Евросоюза по вопросам юстиции, свободы и безопасности Франко Фраттини официально прокомментировал законность технологии Printer ID на территории Евросоюза, заявив, что технология может нарушать право человека на частную жизнь, гарантированное Конвенцией Европейского союза о правах человека. Кроме этого, нарушается статья 7 Основных прав ЕС, предоставляющая защиту частной и семейной жизни и статья 8, защищающая персональные данные.

Как проверить, содержит ли только что купленный вами принтер систему шпионажа? Оказывается довольно просто.


к примеру, следующее иображение распечатано при помощи цветного принтера Xerox DocuColor 12, увеличено в 10 раз и сфотографировано при помощи компьютерного микроскопа. Так как фото сделано в дневном свете, то желтые точки едва видны, но все же различимы.




на следующей фотографии использовано увеличенив в 60 раз, точки различимы лучше, но сейчас очень трудно понять всю картину, pattern...



на следующей картинке фотография сделана с 10 картным увеличением, но с использование голубого света от светодиодов. Желтые точки различимы очень хорошо.



На следующей картинке предыдущее изображение было обработано в фотошопе, где при помощи простого фильтра все желтые точки были выделенны в ясно различимый pattern, оставляемый принтером.



Оказывается не нужно быть Шерлоком Холмсом, чтобы расшифровать те данные, которые были закодированы в указанную картину. Результаты расшифровки показаны на следующем изображении.


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

Код:

#!/usr/bin/env python

# docucolor.cgi -- CGI script to interpret Xerox DocuColor forensic dot pattern
# Copyright (C) 2005 Electronic Frontier Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
#
#
# Xerox Corporation has no connection with this program and does not
# warrant its correctness.
#
# This program is the result of research by Robert Lee, Seth Schoen, Patrick
# Murphy, Joel Alwen, and Andrew "bunnie" Huang.  For more information, see
# http://www.eff.org/Privacy/printers

import cgi, os, sys
import cgitb; cgitb.enable()

print "Content-type: text/html"
print
form = cgi.FieldStorage()
print """<html><head>
<title>DocuColor pattern interpretation</title>
</head>
<body>
<h2>DocuColor pattern interpretation</h2>
<hr />"""

def print_matrix():
    # Print the matrix of dots on standard output.
    print "<pre>"
    print "           111111"
    print "  123456789012345"
    for y in range(7, -1, -1):
        line = ""
        for x in range(1, 16):
            if dots[(x,y)]: line = line + "o"
            else: line = line + " "
        print y, line
    print "</pre>"

def column_value(col):
    # Extract and decode the value of the indicated column.
    total = 0
    for y in range(6, -1, -1):
        total = total + dots[(col, y)] * 2**y
    return total

def footer():
    if os.environ.has_key("HTTP_REFERER"):
        r = os.environ["HTTP_REFERER"]
        if r:
            print '<p><a href="%s">Back to referring page</a></p>' % r
        print "</body></html>"
        sys.exit(0)

dots = {}
for x in range(1, 16):
    for y in range(0,8):
        dots[(x,y)] = form.has_key("%i,%i" % (x,y))

# Step 1: display disclaimer and output
print "<p>This is an interpretation of the following dot pattern:</p>"

print_matrix()

print """<p>This interpretation is based on reverse engineering, and may not
be complete or current for every DocuColor model version.  Xerox
Corporation has no connection with this program, and does not warrant
its correctness.</p><hr />"""

if not 1 in dots.values():
    print "<p>This pattern is <strong>empty</strong> and cannot be interpreted.</p>"
    footer()

# Step 2: verify row parity
bad_rows = []

# don't check row 7 because it is expected to have even parity
for row in range(6, -1, -1):
    p = 0
    for col in range(1, 16):
        p = (p + dots[(col, row)]) % 2
    if p == 0:
        print "Parity mismatch for row %i.<br />" % row
        bad_rows = bad_rows + [row]

# Step 3: verify column parity
bad_cols = []
for col in range(1, 16):
    p = 0
    for row in range(7, -1, -1):
        p = (p + dots[(col, row)]) % 2
    if p == 0:
        print "Parity mismatch for column %i.<br />" % col
        bad_cols = bad_cols + [col]

# Step 4: try to correct input errors
correction = 0
if bad_rows or bad_cols:
    if len(bad_cols) == 1 and len(bad_rows) == 0:
        # error in column parity row!
        # We could be more stringent about this by also verifying the
        # row 7 has even parity, but the case that's affected by this
        # is extraordinarily rare (under bizarre circumstances, we
        # incorrectly conclude that an uncorrectable error is
        # correctable).
        print "Correctable error in row 7 (column parity) at column", bad_cols[0]
        dots[(bad_cols[0], 7)] = not dots[(bad_cols[0], 7)]
        correction = 1
    if len(bad_cols) == 1 and len(bad_rows) == 1:
        # correctable error (single row error, single column error)
        print "Correctable error at row", bad_rows[0], "and col", bad_cols[0]
        dots[(bad_cols[0], bad_rows[0])] = not dots[(bad_cols[0], bad_rows[0])]
        correction = 1
    if len(bad_cols) > 1 or len(bad_rows) > 1:
        # multiple rows or multiple columns in error
        print "Errors could not be corrected!  Using erroneous matrix."
    if len(bad_cols) > 3 or len(bad_rows) > 3:
        print "<p><strong>There are numerous errors here; you probably"
        print "did not enter a genuine DocuColor matrix, or used a"
        print "matrix we don't know how to decode.  The content of"
        print "this interpretation is unlikely to be"
        print "meaningful.</strong></p>"
    print "<br>"
else:
    print "Row and column parity verified correctly."

if correction:
    print "<p>Making correction and processing corrected matrix:</p>"
    print_matrix()
    print "<hr />"

# Step 5: decode serial number (with and without column 14)

print "<p>Printer serial number: %02i%02i%02i [or %02i%02i%02i%02i]</p>" % (tuple(map(column_value, (13, 12, 11))) + tuple(map(column_value, (14, 13, 12, 11))))

# Step 6: decode date and time

# Year: guessing about Y2K, for lack of any relevant evidence
year = column_value(8)
if year < 70 or year > 99:
    year = year + 2000
else:
    year = year + 1900

# Month
month_names = ["(no month specified)", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
try:
    month = month_names[column_value(7)]
except IndexError:
    month = "(<strong>invalid</strong> month %i)" % column_value(8)

# Day
day = column_value(6)
if day == 0:
    day = "(no day specified)"
elif day > 31:
    day = "(<strong>invalid</strong> day %i)" % day

print "<p>Date: %s %s, %s</p>" % (str(month), str(day), str(year))

hour = column_value(5)
minute = column_value(2)

print "<p>Time: %02i:%02i</p>" % (hour, minute)

# Step 7: decode unknown column 15

print "<p>"
print "Column 15 value: %i" % column_value(15)

footer()

__________________
looking into the sky is looking into the past...
Ответить с цитированием
The Following 2 Users Say Thank You to Ulitka For This Useful Post:
Ответ

Bookmarks


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не бойся, я с тобой! 1981. KOHTOPA наше кино 0 07.01.2008 00:57
Паштида (запеканка из цветной капусты и зелени) Ulitka Сам себе кулинар 9 19.11.2007 16:36
Делаем черно-белую фотографию - цветной с помощью Photoshop Tap Dancer Фотография 15 05.02.2006 12:25
"Купил латвийские шпроты – помог ветеранам СС!" @lex союз нерушимых 58 04.07.2005 15:02


Часовой пояс GMT -4, время: 17:00.

*.ape arvo part rapidshare carfax.com cosmopoliten dv 2010 dv-2010 dv2010 excel учебник filmi filmi online free calls russia free calls to russia green card green card 2010 in care of job offer middle name money order online стратегии russkie filmi russkie filmi online torens url радиостанций www.cars.com www.dvlottery.state.gov Американские женские имена Африканская музыка РАБОТА БЕЗ ОБРАЗОВАНИЯ Українські народні пісні Чем закатывают суши американские имена американские чаты американское посольство в киеве беременность в картинках военные карты грин карта гсвг дискотечная музыка империя добра как звонить в москву как обмануть банкомат как позвонить в казахстан как позвонить в москву какой ноутбук лучше карты для garmin скачать музыка для бега мультфильм Анастасия онлайн рпг игры песни о любви песни про любовь подделки из овощей поделки из овощей поделки из овощей и фруктов поиск людей в США посылка из сша программа для скачивания фильмов программы для скачивания фильмов работа в Чикаго работа в минске работа на аляске рекомендательное письмо с работы рицессия руководство по excel русские мультики русские песни о любви сказки онлайн скачать карты для garmin скачать программу для скачивания фильмов татьянин день песня торенс точное время в html финансовый кризис в америке хочу в америку чем проигрывать flac

vBulletin® Version 3.7.4. Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC7
Перевод: zCarot

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125