Jump to content

dallaskorben

Active Members
  • Posts

    71
  • Joined

  • Last visited

Everything posted by dallaskorben

  1. Oh yes, I forgot about that. The solution is always simple when you ignore part of the problem. ;) I'm not sure if the HID macros program can do what you want, I didn't look at it with the card database idea in mind. It should be possible to write software that will hook the USB magstripe reader you have, and then to deal with the data however you want (checking against a db, recordkeeping, etc), and then put the '5' keypress in the keyboard input buffer (to trigger MAME). I don't know how hard it is to put keypresses into the keyboard buffer in a way that MAME will accept them, if it hooks into the keyboard at a lower level then that may be difficult (but I would try it out anyway). I'm also not sure how hard it is to hook into the USB magstripe reader and have no other software see the input - I played around a little bit and I was able to capture keyboard input but I wasn't able to stop that input from also going to any other program that had focus. (it should be possible though - that's what the HID macros program is doing, if I understand it correctly) I don't know if you have the option to switch to a different magstripe reader, but if you use one with a serial interface then that would solve any keyboard conflict issue. (also it would be easier to work with a serial interface if you decide to build a hardware-based solution) I have been playing around with the Teensy development board (Darren did a segment on it a couple weeks ago), I am very impressed with it. It's low-cost and very small, and there are some nice sample programs in the 'code library' area on the PJRC website. One of the sample programs shows how to interface the Teensy board to the PC as a keyboard - it's very simple to modify the program to send whatever keypress you want. It could make a nice hardware solution if you choose to take that route.
  2. Did you take a look at the 'HID macros' program linked to from post 9 of this thread? If I understand the linked page correctly, I think it should do exactly what you want.
  3. After doing some more reading, I came across this software: HID macros. It's a free program that receives events from USB devices, and simulates keypresses. If it can identify the USB magstripe reader, I think it will do exactly what you're looking for, CYAPPS.
  4. Using Raw Input from C# to handle multiple keyboards looks like it might be a good start to a software solution. A program running in the background capturing the input from the second keyboard (USB magstripe reader) could push a '5' into the keypress buffer when a valid card is swiped. I don't have a USB magstripe reader that acts as a keyboard, nor have I tried the code at the above link (I just found it and haven't read through it all yet), nor have I used MAME, so I'm not certain how well it all fits together, but I think it could work.
  5. Tandy 1000 HX. Booted MS-DOS 2.11 from ROM, had a single 720K 3.5" drive, 256KB RAM. Playing the original Space Quest, Police Quest, King's Quest games on this computer was the most fun I ever had playing computer games. That was back when Radio Shack was a place to go to buy computers and software. Oh how things have changed - it makes me feel old to think of when I used to be excited to go to Radio Shack! :)
  6. A card reader with serial output would be easy to interface with an Arduino. I don't know if there is a standard serial output (TTL or RS232) on the reader you have or if it is just USB. Interfacing a USB magstripe reader with an Arduino would be difficult, as you would need a USB host controller to handle the USB magstripe reader device. If you want help interfacing the magstripe reader with an Arduino (or the $20 Teensy USB dev board that Darren showed on episode 5x03) and PC, I'm interested in the project. I don't know if there is a way to intercept the keypress data from your USB magstripe reader in software. Maybe there is a way to grab the specific device, but I don't know.
  7. I liked that they talked to 'random people at a hacker conference'. It's an interesting see a little sample of some hacker-type-people. The differences between the people interviewed, and the differences between what those people think, is what makes them 'people too'. I agree that following a hacker around for a week would be an interesting film, but I think that's just a different angle to look at than this film took. (and it has some of its own problems - what one person is representative of 'hackers' as a group?) I think the idea to talk to a lot of different people at a hacker conference (where else do you find a lot of hackers in one place?) is a good way to present a sampling of opinions of some hackers. Maybe the sample is not as large as it could be, and maybe some of the people don't seem like the best examples of 'the hacker community', but at the same time I think it is done well in the film. There are only so many people you can fit into a film of a couple hours (ok so I guess it's only 43 minutes), and who decides which people are considered hacker-enough? I think that generally if a person is at a hacker conference - they are a hacker, part of the hacker community. One of the things the film shows is how dynamic the hacker community is - at the same time all these people share a lot in common, as hackers, but also they all are independent. That 'independent thinker' is a core part of what makes people hackers.
  8. A couple weeks ago, a friend (not a hacker-type) came over to my house and brought a divx copy of Hackers Are People Too and he was saying "You gotta watch this, these people are all JUST LIKE YOU!" I got a bit of a laugh out of the way he said it, especially when I told him I already bought a copy of the DVD a couple months ago. I enjoyed the film, it's not without flaws but I did think it was well put together. I think I was most impressed by the way different people expressed their different views on subjects. (for example, there were a couple people complaining 'the scene isn't like it used to be', and then there were a couple of people saying the opposite - the underground is still there, but there is just much more of everything, even if you aren't in the underground.) I think the point that 'hackers are a wide variety of people' was well made.
  9. It sounds like you have a pretty slick setup coming together, very nice! Thanks for the detailed writeup and links, your tips can save the rest of us a lot of time. :) The Agile RF Modulator you bought, can you select which tv channel it is using, or is it fixed to only one channel? I am curious about using multiple rf modulators to have multiple channels.
  10. Is the box staying within the US, or can I get on the mailing list in Canada also? Is the shipping rate reasonable enough to send it across the border?
  11. I disagree - for the majority of home computers, everybody uses them differently. I work with images hundreds of megapixels in size (even gigapixels) - to be able to keep multiple images open in RAM simultaneously would be a dream. (I'm not suggesting that I'm an average computer user, but my point is that everybody is different - in fact, I don't play any games at all on my PCs and I think for the majority of computer users I know the most hardware-intensive game they play is solitaire.)
  12. I'm glad to hear that somebody plans to look at the source code - I would have been bummed out if I had tried to clean up the code for nothing. ;) (it's still not the cleanest code, but I assure you it's far nicer than I originally hacked it together) The program is still missing some features - it doesn't know how to decode track1 or track3 data (only the BCD data on track2), and it doesn't check the LRC (checksum) at the end of the data. It's just enough that I could determine that I'm able to read valid data from a card. Sephail's code is more complete than mine, we implemented the algorithm to decode the data differently and I didn't use libsndfile (and don't have the option of reading directly from the sound card). Using Sephail's software you can decode data from tracks 1, 2 and 3. If you have any questions about the source code, or if you want help implementing other features, I'd be happy to help.
  13. I have had success reading and decoding some data from magstripes using a head from a tape player. I used a head from an old car tape deck, so it is stereo and also able to read from both halves of the tape (so there are 4 coils total - l/r side 1 and l/r side 2). I connected one of the coils to a stereo jack, plugged it into the PC's microphone input and used Audacity to record .wav files. I saw some significant differences between different PC's - some work and others do not. Using a multimeter, I measured the voltage from the microphone jack and found that sometimes the left channel (mic input) is 0v and the right channel is 5v, on another PC the left channel is 0v and right is 3.3v, on another left is 2.5v and right is 2.5v, on another left is 3.3v and right is 3.3v. Success varied between the different machines. Usually the data is noisy - it takes several card swipes to record valid data. The amplitude of the signal is very low, so there is a lot of problems with noise. Also, on one of my PCs the signal was slightly offset, which combined with the low amplitude made it impossible for Sephail's decoder software to work. (but it does work with recordings from another PC) I wrote my own version of a magstripe .wav decoder, it only understands track 2 data (BCD), and is not the cleanest code (but its purpose is just a learning tool for me, so that's ok). Download link: http://www.dakorb.com/files/mag-20090201.zip The above RapidShare link also includes a sample.wav file that I recorded. (it's from track 2 of a Staples merchandise card) So far I have only tried using one magnetic head - I suppose there is a difference in gain, etc, between different heads. I also haven't tried any kind of amplification circuit between the magnetic head and the sound card - a proper amp circuit would probably take care of a lot of the problems between recording on different PCs. (the only downside is that it is more complex - it is pretty cool that with only the magnetic head and a wire to go to a sound card, it's possible to read a magnetic stripe - it doesn't get much simpler than that) A couple of things that may help others: the faster you swipe a card, the higher the amplitude of the signal (stronger signal). I have to do quite a fast swipe to get legible data. On the other hand, swiping very fast means there will be fewer samples of each bit - I set Audacity to record at 96 KHz (instead of 48) to double the sampling rate. The 'Card-O-Rama' article from Phrack 37 seems to be THE reference on magstripes - most of the pages I read about magstripe decoding have referred to that document. It explains everything needed to decode magstripe data. Photos of my magstripe reader, on flickr - I taped the magnetic head to the side of a piece of wood (or edge of desk) and then use a book as a straight edge to slide the card. It's not so easy to get a perfect swipe, but it is simple to setup and allows any track or unusal stripe placement to be read. (a little duct tape and it becomes a proper Red Green magstripe reader ;)) (edited 2009-02-27 to update expired rapidshare link) (edited 2009-04-27 to update expired rapidshare link) (edited 2009-05-25 to update expired rapidshare link) (edited 2009-09-25 to update expired rapidshare link) (edited 2009-12-13 to change link to direct download on dakorb.com)
  14. I also highly recommend "The Cuckoo's Egg" by Cliff Stoll. It's a fascinating (true) story about hacking in the days of modems and KGB spies, written by the (mostly unprepared) sysadmin at Lawrence Berkeley Lab who tracked the hacker. It isn't an instructional-type book, but it is a great read - I can't recommend it enough! (This book also introduced me to the smiley face for the first time, in about '91. I actually turned the book sideways to see it. :-) )
  15. Sephail's code compiles fine for me on Ubuntu 8.10. I had to install the libsndfile-dev package, then used the commands on Sephail's page and both programs compiled without problem. I have to find a magnetic head to build a reader, so I haven't actually made the program do anything. I'll probably give it a try over the weekend.
  16. Instead of writing all the image handing code yourself, you can save a lot of time by using an imaging library. What compiler are you using? I often work with Borland C++ Builder, and I use HiComponents' ImageEn library, it is excellent. I have worked a bit using ImageMagick MagickCore, it's very powerful and open source. (used with GCC) An imaging library will handle opening/saving whatever file format you want and many imaging libraries have included functions for adjusting brightness, etc, which you may also find useful.
  17. The tuner required for digital cable is different than the tuner for digital satellite. I don't think any kind of software trickery can get around that, I'm pretty sure it would need different tuner(s). (it's too bad you can't use it, it's a shame for a TiVo to go to waste)
  18. I don't think it's possible, the TiVo has a tuner for DirecTV and records the MPEG transport stream from that - it doesn't have an analog video input with MPEG encoder (like a standalone TiVo does).
  19. Awesome, thanks! Sounds pretty slick, nice work. Eventually I'll come up with a wii nunchuck project and post about it too. :) Thanks again!
  20. I have experience using serial connection between microcontrollers and PCs, but I have very little VB6 experience so I don't think I can offer much help. It sounds like your problem is within your VB6 software? Maybe you can have the software record all the received serial output to a .txt file to look for anomalies? But I did want to say thanks for the tip that the Wii accessories communicate using I2C! I didn't realize that before, now I've got a new project to play with. :) Is there a connector available to plug in the Wii accessories? I really don't want to have to cut the cable of my Wii nunchuck.
  21. You can try disconnecting R6 (the common anode) - that will disable the LED, which will save a bit of power. What values of resistors did you use? Also, do you have another computer to try it on? I noticed with mine that the owl moves slightly slower than normal (but it does still move). On mine I have removed R6 to disable the LED. It seems like we are hitting the current limit supplied to the USB device, but it surprises me that the USB webmail notifier would use so much power. I tried it with a USB light and it seemed to work normally (but maybe the light doesn't require as much current as the owl). I'm not at home for the next week, so I won't be doing any hands-on testing until then. The USB webmail notifier is recognized by Windows as a human interface device, I think a Mac may also recognize it. Of course some software would have to be written, but by monitoring the USB traffic while the Windows software is running we should be able to see what needs to be sent to the device and then write software for Mac. Also - using an Arduino, as aloishis89 suggested in his first post, would be a good option. I recently bought an Arduino Diecimila ($40 CAD) and it looks like a great device. It would be no problem to get that working as a cross-platform email notifier. It's a bit more expensive than the USB webmail notifier, but a lot more hacker-friendly.
  22. The one closest to the USB connector is the PNP. This transistor will supply +5v to the USB connector when the base is pulled low (to 0). The other transistor is the NPN, which is used as an inverter. The base is connected to R5 (LED green cathode) so that when the green cathode is at 0v, the output of the NPN transistor will be +5v (so when LED is green (cathode=0), the output will be +5v). When the green cathode is at +5v, the output of the NPN transistor will be 0v, which is connected to the base of the PNP transistor and so the PNP transistor will be switched on - providing +5v to the USB connector.
  23. Sorry, I totally missed that typo! I swear I even proofread before posting. I still haven't sat down to draw a schematic of the circuit, I don't know if you need one or if the photos are readable. I basically followed the circuits on this page: http://www.kpsec.freeuk.com/trancirc.htm - it has well-written and to-the-point explanations of PNP and NPN transistor usage. The circuit I used is the "PNP transistor switch" diagram, with the input connected to the circuit from the "A transistor inverter (NOT gate)" diagram. I connected the output of the PNP transistor to a USB socket (from Digikey, 95 cents each - part #151-1114-ND).
  24. There are some photos in the catalog, but it is also quite dense. But it is a lot easier than the website to flip through it to get an idea of what parts are available if you have no idea what is out there. For a lot of the items that don't have a photo on the Digikey website, they will still have a datasheet available. Below the 'add to order' stuff is a link to the product's datasheet. Sometimes the datasheet is for one specific part, sometimes it is for a series of parts. So sometimes it takes some reading to figure out exactly which part is which (but sometimes you end up discovering an interesting line of products). That looks like a pretty slick button pad. Sparkfun has a ton of neat products, everytime I go to their site to look at one item, I end up finding three other items I want too. :)
×
×
  • Create New...