Office pranks, ah these can be quite fun. They can actually become quite competitive also, employees always trying to outdo the other. I have come across some very unique and fun pranks, but this one has to be one of my favorites.
Scott from OdeToCode.com decided to "hack" an office HP Laser Jet Printer. His prank of choice, was to change the LCD default system messages to something completely different and fun.
"I wasn’t sure if I should put this article under “Code” or “Humor”, since it contains both. Ultimately it is much funnier than technical, but full source is included for you to use in your own environment."
Link: OdeToCode
Permalink
I seen that on The X-Files lol
Permalink
Great hack! Nice, funny and useful! Under Unix you can simplify it by a one-liner:
message=”Will print for beer”;echo -e”\x1B%-12345X@PJL RDYMSG DISPLAY = \”$message\”\r\n\x1B%-12345X\r\n” | nc 9100
Please send more hacks like this!
Greetings
Krtek
Permalink
I have three cats.
Permalink
I have read that you can do this to a printer that is connected via usb or parallel. How do you encode the pjl commands into a print job? Is there another way to do this to a usb/parallel connected printer?
Permalink
Never mind, i did some digging. At http://www.hack-mod.com/projects.php?page=printer there is a how-to AND a little c++ program to change the ready message on usb/parallel connected printers.
Permalink
[root@localhost ~]# cat cheese.pl
#!/usr/bin/perl
# cheese.pl
# by Steven B. 2007/04/01
# based on a script by:
# Yaakov
use strict;
use warnings;
sub I_am_interactive { return -t STDIN && -t STDOUT; }
my $random_number = int(rand(4));
if ($random_number == 2)
{
print “Hit on number $random_number, exiting..\n” if I_am_interactive();
exit;
}
my $sleep_time = int(rand(2400));
if ($ARGV[0]) { $sleep_time = 0; }
print “Sleeping for: $sleep_time seconds\n” if I_am_interactive();
sleep($sleep_time);
my @sayings =
(
“Insert Coin”,
“Insert Cheese”,
“Im Sad..”,
“”,
“Low Monkeys”,
“Insert Monkeys”,
“Insert Butter & Jam”,
“Free The Ink!!”,
“My Cousin Is A Toaster”,
“Load Soy Latte”,
“”,
“Paper Tastes Funny Today”,
“Free Hugs..”,
“**** CBM BASIC V2 ****\n3583 BYTES FREE\nREADY.”,
“Toner Tastes Funny Today”,
“”,
“Press OK Button for Pacman”,
“Flower Power Mode”,
“Incoming Fax…”,
“Cheese Mode”,
“”,
);
# put your network printer IPs here.
my @ips = (“10.46.15.31″,”10.46.15.32″,”10.46.15.33”);
foreach my $ip (@ips)
{
my $peeraddr = $ip;
my $rdymsg = $sayings[rand @sayings];
chomp $peeraddr;
if ($ARGV[0]) { print “clearing…\n”; $rdymsg = “”; }
print “Going to contact IP: $ip\n” if I_am_interactive();
print “Going to send: $rdymsg\n” if I_am_interactive();
use IO::Socket;
my $socket = IO::Socket::INET->new(
PeerAddr => $peeraddr,
PeerPort => “9100”,
Proto => “tcp”,
Type => SOCK_STREAM
) or die “Could not create socket: $!”;
my $data = <<EOJ
\e%-12345X\@PJL JOB
\@PJL RDYMSG DISPLAY=”$rdymsg”
\@PJL EOJ
\e%-12345X
EOJ
;
print $socket $data;
}
Permalink
Permalink
you can just telnet to port 9100 of the printer and type or paste: @PJL RDYMSG DISPLAY=”HELP IM STUCK IN A PRINTER”
Permalink
LOL nice find statt tot uber pwnage 🙂
Permalink
HP WebJetAdmin will allow you to do this as well. Along with displaying the printer’s IP address or Hostname.
Permalink
that the to our they had even know all what stretching
Permalink
I’ve seen a great product for projections onto water. Check the link bellow
http://www.prina.net
Permalink
How can something be ‘very unique’???
Permalink
Permalink
they stole this off http://www.pedrotski.com. this guy didnt come up with the hack. Also if he knew anything, you can change the message in the printer options.
Permalink
Permalink
Nice trick! I found a JAVA code to do the same thing, and wrote a nice little GUI for it. Quick & Dirty so I don’t know if it’ll catch errors correctly (it may say that it worked and not have done anything) but I tried it on 2 printers and it did fine. It requires that Sun JAVA JRE be installed (most people already have it), it’s free from http://www.java.com
http://cyberspace.org/~millerm/Message.jar
Save it with the JAR extension (not ZIP) and double-click. It’ll ask for the address (Hostname or IP) and message, then just hit “Commit” and it’ll send the data.
Permalink