Comments

  • edited 2009-12-10 - 07:11:22
    Dave! Most importantly, welcome back to the forums! Great to see you back in the action again.
    Stop by some time and say hello, okay? We need to show you what's been changing at Parallax. And, I don't think we saw you at the UPEW meeting last June, either.
    Welcome!
    Ken Gracey
    Parallax Inc.
  • edited 2009-12-10 - 15:50:35
    Hi Ken,
    Thanks for the nice welcome back! It's great to be interacting again with my favorate company: Parallax.
    When the semester is over, or before, I will take you up on your offer.
    Dave Scanlan
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··
  • edited 2009-12-10 - 23:01:31
    Dave, I was glad to help and glad to see you back in the game.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
    Check out the new Savage Circuits TV!
    ·
    Chris Savage | Engineering Tech | Main Office: (916) 624-8333 | Direct to Tech Support: (888) 997-8267 | Website | Twitter | Google+
  • edited 2009-12-11 - 05:03:27
    Chris,
    Your help was appreciated and it's lots of fun getting involved again.
    Dave
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··
  • edited 2009-12-12 - 16:11:17
    Mr. Scalan,
    Thank you for the information. This opens up some interesting opportunities in the 'identification/protection' arena.
    BTW -->' You must ADD a REFERENCE to FTChipIDNet.dll and FTChipID.dll in order to use this example.
    I didn't have to do this, the app ran just fine.
    Regards,
    DJ
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Well-written documentation requires no explanation.
  • edited 2009-12-12 - 19:32:19
    Of course, anyone can change the serial number from their PC to anything they want, using FTDI's MPROG program. So I'm not sure that being able to key to a particular serial number adds any real security — except against those wanna-be miscreants who don't know about MPROG.
    -Phil
    “Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away. -Antoine de Saint-Exupery
  • edited 2009-12-13 - 22:46:45
    Hi DJ and Phil,
    When I teach courses on information systems, my main mantra is: ·'There is no such thing as a secure information system.'
    It is true that the serial numbering system on the FTDI chip only gives minor security benefits. However, the developer can achieve a much higher level of security with·extremely obfuscated source code. (See URL below.)·
    http://sharptoolbox.com/categories/code-protectors-obfuscators
    http://www.vilabs.com/(X(1)S(j2meha45vi5c5145kulrdbyx))/solutions/codetheft.aspx?gclid=CKa54NqK1J4CFShGagodBSuasA&AspxAutoDetectCookieSupport=1
    Hopefully, unleashing one's creativity can make theft of the source code a very time-consuming·and expensive process.· I can think of four or five more ways to improve security that involve online updating and hidden code. If· we put our heads together, I am sure we could add six or·seven more ways.
    BUT, as you know, there is no perfect solution to the potential theft·of·source code.· The idea is to make the theft process difficult and expensive, and to keep the source code program price below the price of the time and effort required to steal the source code.
    In summary, having access to the FTDI chip's serial· number along with creative software security solutions will help deter theft.
    Dave
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··
    Post Edited (Dave Scanlan) : 12/14/2009 1:43:52 AM GMT
  • edited 2009-12-13 - 23:19:54
    Hi DJ,
    If you were to use the code in another application, you would need to reference those two DLL's I listed.· The reason my code ran ok was because the two DLL's were already referenced in my program.· I should have been clearer.
    Dave
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··
  • edited 2009-12-14 - 04:28:26
    Mr. Scanlan - understood, thanks.
    Mr. Pi - '...those that don't know about MPROG.' That's actually what I was thinking. The large target-market of my project definitely include non-technical people who would have no clue about the project's inner workings or the external tools available.
    And yes, twiddling the FTDI info would just limit the amount piracy...but anything is betting than nothing?
    DJ
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Post Edited (davejames) : 12/14/2009 4:58:19 PM GMT
    Well-written documentation requires no explanation.
  • edited 2009-12-17 - 03:32:47
    Hi DJ,
    RE: THE JACKPOT
    With further research I found what we have been looking for: a unique and permanent ID on the FTDI chip. The chip's ID which can be read, using the program I submitted on this thread, is unique and permanent.
    With this Chip-ID and an obfuscator, good protection for a developer's software can be provided. When I wrote the program, I did not know the properties of Chip-ID, but I had my suspicions.
    http://www.ftdichip.com/Projects/FTDIChip-ID.htm
    More security:
    http://www.ftdichip.com/Documents/ProgramGuides/SafeGuard%20IT%20V1.0%2009_08_07.pdf
    Dave
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··
    Post Edited (Dave Scanlan) : 12/17/2009 4:17:12 AM GMT
  • edited 2009-12-17 - 05:25:02
    Hi Dave - I PM'ed you.
    This is good news!
    DJ
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Well-written documentation requires no explanation.
  • edited 2009-12-17 - 22:53:58
    I'm coming in a bit late as well, but I too had thought there was a permanent ID on the chips, but when I quickly glanced through the datasheet itself I didn't see that. I think I saw it in a brochure file. But after reading your message, I am wondering if this isn't just the part ID and not a factory serial number. The serial number in EEPROM is set during testing. How many digits is the Chip-ID?
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
    Check out the new Savage Circuits TV!
    ·
    Chris Savage | Engineering Tech | Main Office: (916) 624-8333 | Direct to Tech Support: (888) 997-8267 | Website | Twitter | Google+
  • edited 2009-12-17 - 23:52:18

    Hi Chris,
    The Serial Number is the changeable number and the Chip-ID is the unique and permanent one.· The word 'unique' is used to describe the Chip-ID, thus it is not just a part number, and the number is permanent...it can't be changed.
    It is (optionally)·up to the distributer to set the Serial Number to whatever value the distributer desires,·if they indeed want to change it from the factory settings.
    Great protection for the developer.
    Dave
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··
  • edited 2009-12-19 - 16:27:15
    Hi Dave,
    Thank-you for providing this nice VB.NET code example. I also seemed to miss the fact that a unique ID was created for each device by the manufacturer. I can certainly see this as being of use to tie hardware to PC side application software.
    With regards
    Mike.
  • edited 2009-12-19 - 18:06:29
    Can the functionality of the dlls be simulated with a processor ie Propeller? In other words, can the unique ID be extracted with a processor alone as in Prop>FT232RL It seems this neat unique ID is only of value when connected to a PC, where the app can verify the ID with dll.
    Post Edited (Todd Chapman) : 12/19/2009 6:13:15 PM GMT
  • edited 2009-12-20 - 18:58:41
    Hi·Mike
    Thanks for the appreciation.
    I plan to use the Chip-ID for tying my software to the device·for·protection and the changeable Serial Number as the device Serial Number that I will program starting with 'xxx0001'.
    Dave
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··
  • edited 2009-12-20 - 19:10:46
    Hi Todd,
    With both Spin and its assembly, I see no reason why one could not access the Chip-ID.
    You will need to do some 'digging' around.· Perhaps FTDI Corp might give you the roadmap, and·you supply the code.
    Great project for Prop lovers.
    Dave
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··
  • edited 2010-01-24 - 16:59:05
    I know I'm late to the party, but there are two obvious points of weakness here. One, is to simply create replacement dll's that give the program what it wants to hear. Very, very easy. In fact, as ftdi have kindly published the interfaces to their dll's, it's really not rocket science at all. Even if you created a simple shim that manipulated the serial number calls and passed through the remainder to the original dll.
    Second is to simply program a PIC or AVR with a full-speed USB interface to emulate an FTDI chip and return the serial number of your choice. By looking at the driver code in the Linux kernel, you can very quickly get a handle on the URB structure required to emulate the device. You'd probably even manage it on the Propeller in Windows, as Windows does not obey the non-bulk endpoints for LOW_SPEED USB rules. The FTDI drivers are not incredibly fussy about what they walk to, as long as the urb's are formatted correctly.
    Whatever man can create, man can undo.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Life may be 'too short', but it's the longest thing we ever do.
  • edited 2010-01-27 - 18:41:20
    The only thing I haven't seen is support in that library for which COM port each chip references.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
    Check out the new Savage Circuits TV!
    ·
    Chris Savage | Engineering Tech | Main Office: (916) 624-8333 | Direct to Tech Support: (888) 997-8267 | Website | Twitter | Google+

Serial Number Visual Basic 2005 Full

  1. Serialnumber validation in visual studio 2005 setup project. As a result they tell you to do it using the basic MSI editor from the Windows SDK. The other choices are that you use a tool that does supply IDE support for running code from events in the UI sequence. Visual Studio does not have the same features as tools from Advanced.
  2. Visual Studio 2005 Serial Numbers. Convert Visual Studio 2005 trail version to full software.
-->

Microsoft Visual Basic 2005 Express Serial Numbers. Convert Microsoft Visual Basic 2005 Express trail version to full software. Microsoft membuat Visual Studio 2005 Express edition untuk pemula dan yg gemar dengan VB, salah satu produknya adalah Visual Basic 2005 Express yg merupakan produk gratis dari Microsoft Visual Basic “Orcas” (VB 9.0), dijadwalkan akan dirilis pada tahun 2007 dan dibangung diatas.NET 3.5. Microsoft Visual Basic 2005 Serial Numbers. Convert Microsoft Visual Basic 2005 trail version to full software.

This topic describes how to use My.Computer.Ports to send strings to the computer's serial ports in Visual Basic.

Example

Msdn Download

This example sends a string to the COM1 serial port. You may need to use a different serial port on your computer.

Use the My.Computer.Ports.OpenSerialPort method to obtain a reference to the port. For more information, see OpenSerialPort.

The Using block allows the application to close the serial port even if it generates an exception. All code that manipulates the serial port should appear within this block or within a Try...Catch...Finally block.

The WriteLine method sends the data to the serial port.

Compiling the Code

  • This example assumes the computer is using COM1.

Robust Programming

Serial Number Visual Basic 6.0

This example assumes the computer is using COM1; for more flexibility, the code should allow the user to select the desired serial port from a list of available ports. For more information, see How to: Show Available Serial Ports.

Serial Number Visual Basic 2005 Free

2005

This example uses a Using block to make sure that the application closes the port even if it throws an exception. For more information, see Using Statement.

Serial Number Visual Basic

See also