turkeywhe.blogg.se

Serial port component for lazarus effect 2
Serial port component for lazarus effect 2




  1. #SERIAL PORT COMPONENT FOR LAZARUS EFFECT 2 SERIAL NUMBERS#
  2. #SERIAL PORT COMPONENT FOR LAZARUS EFFECT 2 SERIAL KEY#
  3. #SERIAL PORT COMPONENT FOR LAZARUS EFFECT 2 SERIAL NUMBER#
  4. #SERIAL PORT COMPONENT FOR LAZARUS EFFECT 2 SERIAL#

"winmgmts:\\" & strComputer & "\root\cimv2")

#SERIAL PORT COMPONENT FOR LAZARUS EFFECT 2 SERIAL#

Let us start with serial port enumeration using VBScript: A VBScript can be executed by doubleclicking on a *.vbs file or from the command-line: You must have Windows Scripting Host installed, but nowadays it seems to be installed on every Windows system. The simplest tool to explore WMI is VBScript.

  • Obtain a collection of WMI objects by name.
  • At first glance it seems impossible to find what you need in such a repository, but actually the WMI structure is very simple and logical. As you know, WMI maintaines a huge repository containing … well, containing almost any piece of information available in Windows. Yesterday I was experimenting with WMI (Windows Management Instrumentation) using Delphi 2009. Try to find other valid serial number(s). The key generation code is also included, though it is not used in the application and could be kept secret the only thing I keep secret is 128-bit master key used.īuild the application with Delphi or Lazarus/Free Pascal.

    #SERIAL PORT COMPONENT FOR LAZARUS EFFECT 2 SERIAL NUMBER#

    The last TForge release (0.74) includes full source code of console application with the serial number system described above, in the Demos\Challenge subfolder. Second, it hashes the 9-byte key and checks that the hash exists in the keyhash table.Īnd now the challenge.

    serial port component for lazarus effect 2

    First, it converts a serial number in 20-letter format entered by user into a 11-byte serial key, calculates the checksum of the first 9 bytes and compares it with the last 2 bytes (this prevents user from mistyping his serial number). I also use CRC16 algorithm to calculate the key checksums. It is worthwhile to generate the master key, for example, by tossing a coin 128 times.įor hashing I use SHA256 hash function. Note that the 128-bit master key is actually the only secret in the system, everything else is calculated. To derive 72-bit keys I use 128-bit master key and AES encryption algorithm as a pseudorandom function. Suppose you are a micro-ISV and expecting to sell up to 100 copies of you software then you need to generate 100 72-bit keys and embed their hashes into the executable (if it will turn out later that you need more copies it is not a problem – just recompile your executable with more keys next time the same way you can revoke leaked keys – by not including them in the next release). That should be strong enough against full keyspace search attack on our system.

    #SERIAL PORT COMPONENT FOR LAZARUS EFFECT 2 SERIAL KEY#

    Next, we want to work with full bytes this reduces the possible serial keys to 11 byte-long numbers also we want to use 2 bytes of serial key as a key checksum this leaves us with 9 bytes, and we have 9*8 = 72-bit serial keys. Z to prevent user’s confusion let us exclude the letter O which looks like zero, so in the end we have 25 possible letters in 20 positions, that is BigInteger.Pow(25, 20) = $1D6329F1C35CA4BFABB9F561 combinations.

    serial port component for lazarus effect 2

    #SERIAL PORT COMPONENT FOR LAZARUS EFFECT 2 SERIAL NUMBERS#

    So let us develop a serial number generation/verification system with the same usability as the one in the linked article but without any secret algorithms.įirst, our serial numbers should have the form

    serial port component for lazarus effect 2

    Cryptography discourages systems based on secret algorithms, and relies on open algorithms and secret keys. I stumbled across an interesting link that made me think about a solid serial number system based on strong cryptography.






    Serial port component for lazarus effect 2