Hardware Keylogger


Closed Thread
Results 1 to 23 of 23

Hybrid View

  1. #1
    Join Date
    Jan 2009
    Posts
    7


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by kirtcathey View Post
    you mean that vinculum chip, while hosting USB, will also be recognized as a USB device by Windows?
    That's right. All FTDI chips contains enumeration functions, so the chip, associated with a controller, will be recognized by windows, i tried it myself, therefore, if you plug it on the USB line of the keyboard, you will disconnect your keyboard, because of the presence of two devices for one line.

    You can plug the chip + pic into a computer, as a USB device of its own, but you can't "monitor" an existing USB line with it.

    I wonder if with the 18F4550, you can't just take off the enumeration function, and just use functions such as get_usb_packet().

  2. #2
    Join Date
    Dec 2008
    Posts
    48


    Did you find this post helpful? Yes | No

    Default

    This is great timing. When this came across the forum, I was ready to purchase a couple of those Vinculum chips, thinking they would be easier to deal with than the USBN9604. One more question....

    Even if you put the 18F2550/184550 between the vinculum and the PC this happens?

    What I am doing with the 9604 is exactly that....
    The keyboard plugs in and enumerates with the USBN9604, then as the user inputs keystrokes, this input is sent via microwire signal to the 18f2550, which is then sent to the PC that has enumerated the PIC as a keyboard and handles the PIC as a keyboard. Can you confirm that this is the way that the Vinculum is setup? Don't understand why the PC would be visible to the vinculum at all. Unless, it was in the circuit so that it connected directly to the host.

    This is a big help. Thank you for sharing the experience.
    --Kirt

    Vinculum.... sounds like medicine. Doctor says, "Take two vinculum and call me later today."

  3. #3
    Join Date
    Jan 2009
    Posts
    7


    Did you find this post helpful? Yes | No

    Default

    The Vinculum contains all the enumeration protocol, whenever wherever you use the chip, it will appear as a USB device, so told me the FTDI support, which a verified unfortunately.

    hmmm ok, i see, i'm not doing the exact same thing for the moment, i'm not trying to place the PIC between the line, but on the line, quite like this :



    Could you post a quick schematics of your connections, like mine, so i can see better ?

    If i understand well, you have :



    Is that right ? Did you connect it and this works ?

    I don't know if this could work, i don't know if the chip would enumerate with a keyboard, with the computer yes.
    Last edited by magestik; - 13th January 2009 at 09:40.

  4. #4
    Join Date
    Dec 2008
    Posts
    48


    Did you find this post helpful? Yes | No

    Default

    Yes, the second drawing is what I am doing. Late last week in a forum exchange with Darrel and after some extensive research, we concluded that since USB is packet-based and such high speed, that filtering information on a tap-wire would be computationally impossible for a PIC. Even if computationally possible, writing the filter in program code would be like trying to write something to filter fiber connections.... possible, but....

    Also, through connection analysis, we discovered first-hand that what comes across a tap-wire is just about everything on the bus except information that you're looking for.

    I'll post a drawing and some complete code soon, but in the mean time, have a quick question. The USBN9604 has a microwire interface that we are trying to implement, instead of a parallel interface that is available. I have no experience programming for SPI, and am still new to PBP... but have coded quite a bit in MPASM. Attached is some rough code put together for this project. The code does no recording of keystrokes, it just takes one byte in from the USBN9604 and sends that byte out to the PIC USB connection.

    The 9604 data sheet is here, which says that I have to send a read/write command before executing such read and writes. Also, it says, "1 cycle = 8 SK clocks. Data is transferred after the 8th SK of 1 cycle."

    This is code that has been snipped from all over, then peppered with morsels fixing, then cut, replaced, and interrogated. I will not be able to test it on the PIC until tonight. But before that, can somebody take a look and critique?

    What is the difference between hardware SPI and software SPI? I think my code might be a mix of both.... which probably will not work. In other words should I be observing SSPBUF for changes, or should I use an interrupt? Also, how do I tie the SPI interrupt to a particular pin? A solid code example or link to would be appreciated.

    USBN9604 Data Sheet:
    http://www.national.com/ds/US/USBN9604.pdf

    Thanks all.
    Attached Files Attached Files

  5. #5
    Join Date
    Dec 2008
    Posts
    48


    Did you find this post helpful? Yes | No

    Default Microwire, SPI, I2C

    Crazy question... but is microwire the same thing as SPI? Everything I have read tends to associate the two, but nothing clearly states that they are the same thing. Or, is microwire the same thing as I2C; or neither is related?

  6. #6
    Join Date
    Nov 2005
    Location
    Perth, Australia
    Posts
    429


    Did you find this post helpful? Yes | No

    Default

    I believe SPI and Microwire are related yet not exactly the same, and I2C is different again.

    http://www.scienceprog.com/microwire...o-spi-and-i2c/
    "I think fish is nice, but then I think that rain is wet, so who am I to judge?" - Douglas Adams

  7. #7
    Join Date
    Jan 2009
    Posts
    7


    Did you find this post helpful? Yes | No

    Default

    SPI is a close cousin of the older Microwire.
    I2C is quite a bit more complex than SPI and Microwire.

    There is a minimum of 3 connections for SPI and Microwire: serial clock, serial data out and serial data in. Therefore you'll see those interfaces sometimes referred to as 3-wire interfaces.

    If you want to connect N devices to your microcontroller with Microwire or SPI you need to sacrifice 3+N pins to do the job. This is an area where I2C has an advantage.

    Microwire and SPI shine when it comes to speed. I2C was initially specified at a maximum speed of 100kbits/sec. This was later increased to 400kbits/sec and lately some devices started to show up that boast 1Mbits/sec. This still pales in comparison to Microwire and SPI speeds. SPI has the edge over Microwire, due to the availability of higher speed peripheral devices. Today's serial EEPROM for example support up to 3MBits/s for Microwire and up to 10Mbits/sec for SPI. But even the slowest Microwire and SPI peripherals still beat the typical 100 or 400kbit/s I2C speeds.

    Here is also a comparision between several serial Protocols, including I²C, SPI and Microwire.

    Hope this help.

  8. #8
    Join Date
    Dec 2008
    Posts
    48


    Did you find this post helpful? Yes | No

    Cool USBN9604 and 18F4550

    Well... I decided to go with an 18F4550, since it gives a little more room for evil expansion.

    Here is a spaghetti schematic, so good luck trying to find the wire routes. Still trying to figure out some things on Eagle. Please take a look and comment. Am walking over to the breadboard in a few minutes to start putting it together.

    Disregad X1 and X2. Those are just place holder sockets for extra SPI devices, like an MMC or bluetooth.
    Attached Images Attached Images  
    Last edited by kirtcathey; - 15th January 2009 at 15:01.

Similar Threads

  1. Benefits of hardware usart over software?
    By sccoupe in forum Serial
    Replies: 2
    Last Post: - 19th March 2009, 02:16
  2. Keylogger software
    By Christopher4187 in forum Off Topic
    Replies: 3
    Last Post: - 5th June 2008, 15:58
  3. using hardware ports
    By sebapostigo in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 19th November 2007, 23:01
  4. PBP hardware oriented?
    By mpavlica in forum PBP Wish List
    Replies: 7
    Last Post: - 15th June 2005, 07:18
  5. Bootloader Hardware Modification
    By NavMicroSystems in forum Schematics
    Replies: 1
    Last Post: - 5th August 2004, 01:46

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts