HP Printer Prank – Change the LCD Display Message

 

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

Posted in ,

Patrick Servello

Patrick Servello is one of the several new writers picked to write for Hacked Gadgets, we welcome him and expect some good material. Patrick is currently in the schooling process and plans on attending MIT to major in Software Engineering or Electrical Engineering. Patrick plans on going into the IT Security field as a career. He also has his own small home based computer repair and networking business. Patrick has an enormous amount of hobbies, some of these include programming, whether it is an application or a program designed for a robotics platform. Patrick is very into the IT Security scene, he has found vulnerabilities on popular websites such as Myspace.com and NYtimes.com. He loves helping individuals secure their networks and teach them how to be safe. Automotive technology is also a big thing for him, he loves tinkering with engines trying to make them more efficient. He wants to help develop alternate fuel powered cars, several plans have been made by him and a few colleagues to try to design a more efficient vehicle. You also can't forget electronics, this is what brought him to this website. As Pat likes to say, he is a knowledge sponge, he soaks up everything he can. To do this he reads a vast amount of literature, everything from books on philosophy, to books about different religions. One of his favorite books is "A Brief History In Time" written by Stephan Hawking. Along with reading literature Patrick likes to write himself. He is a writer in the local newspaper and has one several writing and poetry competitions. He has also published some tutorials online about various subjects. Patrick Servello started his electronic lifestyle around the age of 13, he just started tinkering with some electronic devices and found out he could make them work differently, maybe even more efficiently. Shortly after Patrick got into the computer security scene also, this fueled his need to learn more about electronics. Embedded software in electronics can be just as vulnerable to attack as web based software. Patrick currently doesn't have his personal website online, however is working on it.

23 Comments


  1. I seen that on The X-Files lol


  2. 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


  3. I have three cats.


  4. 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?


  5. [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;
    }



  6. you can just telnet to port 9100 of the printer and type or paste: @PJL RDYMSG DISPLAY=”HELP IM STUCK IN A PRINTER”


  7. HP WebJetAdmin will allow you to do this as well. Along with displaying the printer’s IP address or Hostname.


  8. How can something be ‘very unique’???



  9. 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.



  10. 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.


Comments are closed.