SynthMaker

Copy protection serial number stuff

Archive · 2008 104 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

TomC ·

G'day, finally found some spare time for Synthmaker again:

I've made a little tool to help people incorporate a simple serial protection scheme into their plug-ins. It's basically a challenge-response authentication where the user has to send a hardware-ID to you, you'll generate a serial number and he has to enter this number into your plug-in (or you provide a file with the number for your plug-in to load).

I'm thinking about incorporating the users email address as well, but that'll be a next step.

Feedback, suggestions, error reports as always welcome.

Link: Copy Protection

Cheers,

Tom

kirkagur ·

hi.

seems that no one have comments on this wonderful thing.

is it work perfect for you Tom? did you added the E-mail thing yet?

nix ·

Hey, I missed this one, sorry. Thanks muchly, if I make anything really cool I'll use this. Cheers

sunsynth ·

I found a bug and mailed it 2 TomC... So you 2 have a working version now 😉

I made a version 4 me which automatically mails the SN to the User... works perfectly 🙂

SUNsynth

kirkagur ·

sunsynth wrote: I found a bug and mailed it 2 TomC... So you 2 have a working version now 😉

I made a version 4 me which automatically mails the SN to the User... works perfectly 🙂

SUNsynth

impressive...how did you make such a thing ?

sunsynth ·

It sounds big but is an 'easy' task:

you can add subject and body to the mailto: mailto:[email removed]?subject=Your Serial&body=text

Then feed this into WebURL and fire the trigger 🙂 This opens your mail-prog with above params... you click send... done! Okay... semi-automatically 😉

Walter

P.S: i added some edit-fields and a save-routine 4 this 2... Hint: you can add %0D%0A into the bodytext for a new line!

aliasant ·

Yes sunsynth

How did you do that.

I have to mail my customers the serial and its a pain.

stw ·

nix wrote: Hey, I missed this one, sorry. Thanks muchly, if I make anything really cool I'll use this. Cheers

😊 +1

that one looks really cool. Thanks a lot!

TomC ·

aliasant wrote: Yes sunsynth

How did you do that.

I have to mail my customers the serial and its a pain.

If you follow the link to the Wiki you'll note that I've added another version with example Email-magic included.

The rest is still the same, so there's no reason to change anything else.

Enjoy!

Tom

sunsynth ·

Very good implementation Tom!

So... aliasant: no more work 4U 😉

Walter

aliasant ·

sunsynth wrote: Very good implementation Tom!

So... aliasant: no more work 4U 😉

Walter

Lol Very nice wiki =)

But this doesnt really change my situation. I still have to mail them the serial so I guess Ill just keep to my own solution. What I want to do, sometime in the future, is to set up a web based serial number generator that the plugin can use.

I have my own generator application that I feed with the customers full name and mail address. That will give a serial that I can mail the customer. Then the text file that the plugin saves with the serial information gets scrambled with the MAC address and HD serial to prevent the file to be copied onto another PC. Works well I think. The plan is to have my serial generator on the web and the plugin simply goes online and retrieves the generated serial from there. That is the dream....

Andrew J ·

Yeah, I've prototyped some PHP that generates a serial , as well as the SM modules that generate it locally to check the validity. Haven't built the website though because I haven't finished off any of my plugs 😠

kirkagur ·

Hi

I am having a problem with this "Copy protection serial number stuff"

I get this message and the plug crush,any ideas?

TomC ·

kirkagur wrote: Hi

I am having a problem with this "Copy protection serial number stuff"

I get this message and the plug crush,any ideas?

If you could describe the steps to reproduce this, and maybe PM me the schematic I can try to find out what's going on, but I doubt that it's related to the serial stuff in itself.

Tom

AngularMomentum ·

Thanks for this one TomC

I did a mod for this one.

When generating the serial, the serial gets saved to the C drive (or mod it to any other drive). Then press send email and the serial.txt get's automatically attached to the email (in Thunderbird, edit the program path for another email program). I did this for the following modification.

Also I made a little mod that can be placed in the plugin, that reads that serial txt on startup, so the plug keeps authorised. The serial.txt must be placed in the plugin folder. No serial, no sound.

sunsynth ·

Good work Thomas!

btw: why shows the hard disk component a different Hex-Serial than SIV, SIW and other System Information Tools?

AngularMomentum ·

Thanks!

The rest of the message is like a riddle to me man... 😊

sunsynth ·

Yeah, it's a mystery... the Hex this 'Hard Disk Serial' comp gives...??? maybe it's a bug?!

AngularMomentum ·

A mystery bug... 😕 🙂

AngularMomentum ·

There is one problem with this copy protection...

From Malc,

Ok, I know where the problem is. The Hardware Key generator module takes the HD and MAC ids, converts each to int and then back to string before appending one to the end of the other. This results in a huge int which much bigger than SM can handle. We use 32 bit ints and these only go up to 2147483647. If you go inside the Hash(x) module then inside the Hash1(x) module you'll see that when this String containing the huge int is converted to an int the best SM can do is give it a value of 2147483647. This is why you get the same Hardware key as Darren.

It's only by way of luck that I don't get the same key as you too. The De-Inverser module seems to add a little differentiation in my case. I'm not sure why though.

Might be worth going back to the author to let him know.

Cheers,

Malc.

sunsynth ·

Damn, i guessed it...

...thanks 4 the warning AM!

Now we must ask TomC 4 a better Version...

Walter

Jay ·

isnt this a bit of a futile exersize? if your plugin is at all desirable then wont it be cracked and on p2p within hours or a short amount of days? i reckon so! Take the current best in copy protection "Syncrosoft" the very fact that Steinberg anounnced this as uncrackable drove the now Disbanded H2O group to put full resources into cracking both nuendo and cubase SX then sending the results to Steinberg along side a ten track album dedicated to and highlighting their mission to crack the latest Steinberg offerings! Cheeky Imps!

then go back last year or the year before and we see the advent of Cubase 4(which is a piece of Guff) and by this time the premier audio appp crack team (H2O) have parted company (half of them created the Air Group that now crack most sound apps) but did the dissapearance of these H2O dudes stop Cubase or Nuendo 4 being cracked? No! a private individual did it with the release of i think it was called "anti syncrosoft.dll" or as some call it Cubase "Fungus"

so basically what im saying is sometimes copy protection is like a red ragg to a bull, sometimes its prolly best to sell the content and not the app itself

maybe its time the devs included some form of obfuscator or a random binary layer system

regards jay

nix ·

I think software devs aren't successful because of their copy protection. Most people have enough conscience to buy their soft I think, and using commercially is also an incentive to buy. I hope I'm right because I guess if my new SM program is desirable it will be distributed over p2p. Cheers That said, I'm still going to use demo limitations

AngularMomentum ·

I rather have this system working then yet another discussion on copy protection.

TomC ·

AngularMomentum wrote: I rather have this system working then yet another discussion on copy protection.

Right. I'm a bit buried in work right now, but this Thursday is a public holiday here in Germanyland, so I'll have a look. Of course malc is right, there IS a integer overflow. No biggie to solve.

Thanks for the feedback.

Tom

PS: if we'd have a green code module this whole mess of a schematic would be about 10 lines of code. Maybe 11...

sunsynth ·

Hmm,

i invested more time in this 'overflowing' protector: (I hope malc read this 2)

1.) I got confused about the serial because i always thought it is the real hardware one... wrong: it's the serial form OS after format! (BEWARE: if the user ever reformat his harddisk U have 2 sent him a new serial)

2.) If you have more than one (even virtual) Network card in your PC the Mac mod component outputs them with a comma separated (I hope the 1st Hardware one is also always the first in the output-string) ...please confirm! (So if the user add or remove/replace one of his NW-Cards virtual or not U have 2 generate a new serial 4 him again)

AngularMomentum ·

TomC wrote: AngularMomentum wrote: I rather have this system working then yet another discussion on copy protection.

Right. I'm a bit buried in work right now, but this Thursday is a public holiday here in Germanyland, so I'll have a look. Of course malc is right, there IS a integer overflow. No biggie to solve.

Thanks for the feedback.

Tom

PS: if we'd have a green code module this whole mess of a schematic would be about 10 lines of code. Maybe 11...

Tom, I thank you very much...as well you are already creditted in the manual and plugin info on the plugin I am releasing shortly (along with a long list of other SM guru's) 🙂

When you are done I will update the modifications I did and upload that back here. I think that is the easiest way to do it with as minimal as possible work.

What holiday is that then? I love Germany. I am in Aachen on Friday, we visit Germany regularly since we have a car...at least once every two weeks. 🙂

TomC ·

sunsynth wrote: 2.) If you have more than one (even virtual) Network card in your PC the Mac mod component outputs them with a comma separated (I hope the 1st Hardware one is also always the first in the output-string) ...please confirm! (So if the user add or remove/replace one of his NW-Cards virtual or not U have 2 generate a new serial 4 him again)

Wow, that's important information. what if there are more than 1 disk?

malc, could you please post the output syntax of the 2 hardware primitives?

Muchas gracias,

Tom

TomC ·

AngularMomentum wrote: What holiday is that then? I love Germany. I am in Aachen on Friday, we visit Germany regularly since we have a car...at least once every two weeks. 🙂

Corpus Christi (Fronleichnam). I hope the weather will be nice for your visit (forecast for Thursday sucks, but Friday and the weekend should be better). Some of my family will visit tomorrow, but I guess I'll find some time for the coding tomorrow night.

Tom

MyCo ·

It's not a public holiday in Germany, it's just for the catholic part of Germany, and guess what: I'm not in such a region 😠

aliasant ·

TomC wrote: sunsynth wrote: 2.) If you have more than one (even virtual) Network card in your PC the Mac mod component outputs them with a comma separated (I hope the 1st Hardware one is also always the first in the output-string) ...please confirm! (So if the user add or remove/replace one of his NW-Cards virtual or not U have 2 generate a new serial 4 him again)

Wow, that's important information. what if there are more than 1 disk?

malc, could you please post the output syntax of the 2 hardware primitives?

Muchas gracias,

Tom

I run a Mac Pro that has 2 built in networks and I have 3 drives. I run Win7 on it. Have had some problems with my copy system lately. Havnt had time to look into it but if you need a platform to test on Im able to help. Seem to get different numbers from either the harddrive serial or the mac address. It changes every restart.

AngularMomentum ·

MyCo wrote: It's not a public holiday in Germany, it's just for the catholic part of Germany, and guess what: I'm not in such a region 😠

I am in the Catholic part in the Netherlands, (yes, my location Amsterdam is a decoy!) and we do not even have it.

Yeah Tom, I hope tommorow the weather will be a bit better, sucked the last few days, but this time we just go for shopping, 2 weeks ago we went to Monschau and forests in the neighbourhood, what a beautiful place that is. It is about a 35 minute drive from where I live.

sunsynth ·

TomC wrote:

Wow, that's important information. what if there are more than 1 disk?

I only have external Harddrives: these are ignored so: Aliasant please look at it

aliasant ·

sunsynth wrote: TomC wrote:

Wow, that's important information. what if there are more than 1 disk?

I only have external Harddrives: these are ignored so: Aliasant please look at it

Hmm. Im ignorant again.... Were are the files to use? Or should I use the MAC adress and HARDDRIVE serial in the Tool box. And what whould I look for?

TomC ·

TomC wrote: [...] but I guess I'll find some time for the coding tomorrow night. Tom

Right now I have a theoretically working version, but there's a bug in the "infinite loop detector" in SynthMaker (that is the heuristic that makes a connection red when it notices an infinite trigger loop). I definitely do NOT have such a loop (there's no back-propagating at all) but after a couple of MAC-Address changes for tests everything becomes red.

Seems like I have to change my fix again, I hope a can do this over this weekend.

Sorry for the delay.

Tom

stw ·

TomC wrote: Right now I have a theoretically working version, but there's a bug in the "infinite loop detector" in SynthMaker (that is the heuristic that makes a connection red when it notices an infinite trigger loop). I definitely do NOT have such a loop (there's no back-propagating at all) but after a couple of MAC-Address changes for tests everything becomes red.

Tom

IIRC the connections do not only get red at an infinite loop but also on a calculations which exceed a certain time limit. I had this sometimes when experimenting with some connected loop calculations. Maybe there's something like that in your osm?

rl ·

Additionally (as Malc told me once)... In case a wire passes to much trigger signals in a certain time interval the wire will also turn red. This could happen, if there are lot's of submodules demanding triggers at the same time. A trigger blocker module does cure that behavior.

sunsynth ·

Here my changes 4 killing the loop: @aliasant; look inside the HDSerial and Mac modul and check the $outs of the components with the same name...

P.S: I have mods inside this 2 Moduls so i only get 2 Ints...

AngularMomentum ·

TomC wrote: TomC wrote: [...] but I guess I'll find some time for the coding tomorrow night. Tom

Right now I have a theoretically working version, but there's a bug in the "infinite loop detector" in SynthMaker (that is the heuristic that makes a connection red when it notices an infinite trigger loop). I definitely do NOT have such a loop (there's no back-propagating at all) but after a couple of MAC-Address changes for tests everything becomes red.

Seems like I have to change my fix again, I hope a can do this over this weekend.

Sorry for the delay.

Tom

No problem man, I'll wait patiently. 😍

TomC ·

So, I've changed the computation of the hardware-ID to include the possibility of more than one network card. I've tested up to 16 network cards without problem. [1] It would be nice when malc would confirm that the available network cards REALLY are separated by a comma (no spaces or something else).

With the new hardware-ID computation the hash module shouldn't run into any internal integer overflow issues anymore.

I didn't have the time for my usual extensive tests, so please test and report back here.

Download link: Clicky here

Have all a nice weekend, Tom

[1]: the computation needs a bit longer if you have that much network cards, about 0.5 sec per card.

AngularMomentum ·

Woohoo!!! Good weekend to you too...I will test this now on different systems and report back. If everything works out, I will make changes to that mod I uploaded earlier in the thread...when all done I'll get you a free copy of the plugin.

Thank you very much Tom!

AngularMomentum ·

Sofar as I can test now it lags the whole plugin, instead of using the Ticker 100, I changed it with a Ticker 25 (and of course it wil take ages then to re-authorise the plugin everytime you load it) but still everything is jerky. All my knobs seems to be stepped now....heheh.

sunsynth ·

Not tested yours TomC but i prefer a different way:

Only use the 1st Mac-Address... 😉

Aliasant and i use a splitter 4 the Hex-Strings and i compute the resulting Int's in a special way 😉 btw: Exo's Char replacer is perfect 4 the Mac-Adr...

@AM: If U are interested in my working version... mail me my friend!

Walter

AngularMomentum ·

Would be very nice. I'll PM you my email, as I had a PC crash I do not have yours temporarily.

aliasant ·

Ok. Sunnyboy =)

Now I testted my own MAC adress and i get different numbers.

First time, when I created the serial and saved it to disk it used this as MAC address: 8C-43-20-52-41-53.20-41-53-59-4E-FF.00-17-F2-0F-DE-C4.00-17-F2-0F-DE-C5.00-16-CB-25-91-23

It all worked fine and the plugin loaded unlocked and all. Now I did a restart and when I launch the plug its not regged. When it compared the text file were I saved that Mac address with the generated MAC they are not the same. This is the new MAC after reboot ( notice the first 4 characters ) 3C-E7-20-52-41-53.20-41-53-59-4E-FF.00-17-F2-0F-DE-C4.00-17-F2-0F-DE-C5.00-16-CB-25-91-23

I dont understand this, as so much else..., but is this related to the overflow issue or is this something else? My fist idea to work around this was to strip the first 5 characters from the MAC., Maybe that would solve it but it would be nice to have an actual idea as to what is really going on.

TomC ·

AngularMomentum wrote: Sofar as I can test now it lags the whole plugin, instead of using the Ticker 100, I changed it with a Ticker 25 (and of course it wil take ages then to re-authorise the plugin everytime you load it) but still everything is jerky. All my knobs seems to be stepped now....heheh.

That's strange, because it's green data only, so once the computation is done it needs zero CPU time. Either you have your own wireless trigger receiver with the same name somewhere else in you schematic (so it gets my triggers as well), or something else is broken in your code. BTW, how many MAC addresses show up on your PC?

Tom

TomC ·

aliasant wrote: First time, when I created the serial and saved it to disk it used this as MAC address: 8C-43-20-52-41-53.20-41-53-59-4E-FF.00-17-F2-0F-DE-C4.00-17-F2-0F-DE-C5.00-16-CB-25-91-23

This is the new MAC after reboot ( notice the first 4 characters ) 3C-E7-20-52-41-53.20-41-53-59-4E-FF.00-17-F2-0F-DE-C4.00-17-F2-0F-DE-C5.00-16-CB-25-91-23

This is something neither malc nor I can fix.

Normally(!) each network card on this little planet has its very own and unique MAC address.

The bad thing is, a lot of (intellectually challenged) network card manufacturers allow to change the MAC address, and therefore a lot of (even more brain-dead) driver developers actually do this.

With this network card you'll run into problems with every authorization software that uses the MAC address, IOW you're fucked.

You can still use the hard disk serial number (just diconnect the MAC2int module), but we have to ask malc which serial number he provides. There's one which is generated by Windows(tm) during a format (and therefore changes with each format) which can be read be the GetVolumeInformation API of windows. Not good.

There's another one which comes directly from the drive. You have to read the IDE/SATA registers of the drive to get this number. Much better, but not as easy.

Hello malc? Are you listening? 🙂

Of course the chance of 2 systems having the same serial is much higher this way.

Tom

aliasant ·

Thanks TomC

Im gonna try a couple more reboots and see what numbers I get.

Weird thing is that I think this used to work. Before the new betas. Also. If the driver changes the numbers shouldnt it change them all and not just the 4 first?

AngularMomentum ·

I directly copied your module into the schematic, the old one was fine, if I delete the ticker everything is fine. I do not have anything named Masterclock as well. Very strange.

I always get the same MAC.

TomC ·

aliasant wrote: Thanks TomC

Im gonna try a couple more reboots and see what numbers I get.

Weird thing is that I think this used to work. Before the new betas. Also. If the driver changes the numbers shouldnt it change them all and not just the 4 first?

No, that's quite usual. The manufacturers request a address range and use the last couple of numbers in a static way (so they can always recognize their own cards by the address suffix) and change only the prefix.

Weird is that the change does not always results in the same prefix. Is it possible that you sometimes change the drivers (e.g. by booting a different OS like Linux on the same PC)?

Tom

TomC ·

AngularMomentum wrote: I directly copied your module into the schematic, the old one was fine, if I delete the ticker everything is fine. I do not have anything named Masterclock as well. Very strange.

I always get the same MAC.

If you like I can send you my email address so you can send me your schematic and I can have a look at it.

Tom

aliasant ·

TomC wrote: Is it possible that you sometimes change the drivers (e.g. by booting a different OS like Linux on the same PC)?

Tom

Hmm. Yes. Im running Win7 on a MacPro and on every restart it first boots as a mac does, then recognizes that it is set to boot from a windows drive and jumps over to that. Or something similar. But it used to work. Maybe its something with Win7 on a mac.

AngularMomentum ·

Just a sidenote. When I dual booted win7 (not a RC) and XP my NIC died on me in XP...

I am testing at the moment the mod SunSynth did, and it seems to work fine on both my laptop with win7 and on my old Athlon64 2800+ PC with XP when exported to VST.

Although the green data should only take CPU when calculating, and I understand it supposed to do that only once, the ticker doesn't seem to shut off. For instance, the expected serial I can't even copy from the string element, it seems to keep firing the expected serial in at ticker rate. With the old schematic I could copy it. Maybe that is a clue?

sunsynth ·

Hmmm,

MACs in Win7 are cryptic 4 me:

I've the same results after reboot with the first 4 chars... 🙁 I have no background info why it has 3 Mac-Adr. and the last is the physical one!

On my XP the 1st is the physical and the second a virtual one generated by VirtualBox... strange...

aliasant ·

sunsynth wrote: Hmmm,

MACs in Win7 are cryptic 4 me:

I've the same results after reboot with the first 4 chars... 🙁 I have no background info why it has 3 Mac-Adr. and the last is the physical one!

On my XP the 1st is the physical and the second a virtual one generated by VirtualBox... strange...

I tried 4 times and different 4 first every time. I simply hacked away those 4 first. That, at least, lets me load my own plugins without regging them again.

TomC ·

AngularMomentum wrote: [...]it seems to keep firing the expected serial in at ticker rate. With the old schematic I could copy it. Maybe that is a clue?

That's a GOOD idea

I remember malc that told me that triggers can cause severe CPU load, even when SynthMaker's CPU meter shows a very low load (mine shows 0.3%).

I now do switch off all the triggers when the calculation is finished. Maybe it solves your problem.

Download link

Tom

TomC ·

sunsynth wrote: Hmmm,

MACs in Win7 are cryptic 4 me:

I've the same results after reboot with the first 4 chars... 🙁 I have no background info why it has 3 Mac-Adr. and the last is the physical one!

On my XP the 1st is the physical and the second a virtual one generated by VirtualBox... strange...

Try this.

Maybe when you change it yourself it stays the same...

Tom

aliasant ·

Well. =)

Not sure what good that would do TomC.

I believe that I might have customers that has the same problems I have so whatever solution I have should be one that is universal. Right? Or maybe you had something else in mind?

aliasant ·

TomC. I followed that link and found an app that helps you to locate, change MAC addresses and other things. Its a free app and it is very interesting to use. http://www.technitium.com/tmac/index.html Scroll down to the bottom to download it.

I was planning to upload in image here showing my various MAC addresses compared to what SM reports but the upload refused to finish. I guess I have to tell you instead.

When i run MAC in SM it reports 5 different MAC Addresses separated by a comma. 2C-8A-20-52-41-53,20-41-53-59-4E-FF,00-17-F2-0F-DE-C4,00-17-F2-0F-DE-C5,00-16-CB-25-91-23

The first 2 Im not sure were they come from but I have something called "Virtual CloneDrive" that is running. Maybe 1 of them comes from that app. Maybe both. But that doesnt sound very likely. Does it?

The 3rd one is my first "Local Area Connection". It is not active. 4th is my active "Local Area Connection 2" The last one is my Bluetooth Network Connection. Its not active.

So. Me and Sunsynth noticed that after every restart the 4 first numbers in this series changed. Maybe that is because they arrive from that Virtual Clone Drive app or a similar app.

Maybe we should only use the last reported MAC? The one after the last comma?

Would be nice to see others test this to see if the real network ports are always last or if this is completely random.

AngularMomentum ·

I am getting more convinced that I should replace the HDD and MAC primitives with just the Username and CustomerID (or maybe extra plugin ID), this way I avoid having troubles as much as possible. Everything else TomC (and Sunsynths mod) did seems to work rock solid now. I know for sure that there are a lot of dodgy PC configurations out there, and if I start my PC for instance in safe mode I find in XP not just one wireless connection setup, but all the wireless connections on every USB port I ever put the dongle in.

Anyhow, this way I could also precalculate serials and send them automatically along with the purchase. I remember getting a version of Ableton along a serial number with my soundcard, and could not be bothered using it because of the response challange after I keyd in the serial. I do need some sort of "copy protection" but I guess this is getting too intrusive as well for my taste.

If you need me for testing anything just ask, and I will. I think though for me everything will work just fine now. Thank you both and especially Tom for all your hard work on this stuff, I won't forget!!

The new update you did works just fine for me now, I can even copy the serial now after the calcualtion is done. Excellent work Tom!

theun ·

Hi Aliasant,

There is a simple command line tool to find the MAC addresses in use on a PC.

First go to the "run" box in the start menu, then type "cmd" followed by <enter>. Now type "ipconfig /all" followed by <enter>

However, SM finds 7 MAC addresses, of which I can identify sofar only 3. 5th is my ethernet card, 6th wireless 7th "Teredo tunneling pseudo-interface"

ipconfig finds only 6! And "Technitium" only 2.

B.t.w. I am 90% sure (but can't proof it as I didn't save anything) that the MAC primitive yesterday returned 8 MAC addresses on this PC.

It seems to me that the MAC primitive as it is now is not really usable,

Cheers!

aliasant ·

No shit. Thanx Theun.

I ran that command and it listed my BT and my two ethernet cards. Same as SM. Then it listed some other stuff including Teredo Tunneling Pseudo blablaba. It doesnt really matter what it lists as long as it lists the same every time.

What it didnt list are those first 2 entries that SM reports.

Odd maybe? Seems very unreliable =(

On the other hand the Mac serial has been steady for me. Keeps reporting the same even though I have 3 drives now. Is that the case for every one else?

If it is I will keep using that one and skip the MAC for now. If not I guess Ill do what AM thinks about. Skip it. Unless we can dig up another unique number from our computers ?

TomC ·

aliasant wrote: Maybe we should only use the last reported MAC? The one after the last comma?

That is a VERY good idea. I have to do something else right now, but later (or maybe tomorrow) I'll implement this into my coding.

Tom

sunsynth ·

No...

dosn't work because a virtual NW-Card is reported at last on my XP...

aliasant ·

sunsynth wrote: No...

dosn't work because a virtual NW-Card is reported at last on my XP...

Thats it then. Its useless =/ Unless you strip the first say 5 characters + the all the commas and dots. Then add all the individual numbers left together. 3+7+1+6+4+4+8 and so on. It doesnt matter what order they are in. the sum will always be the same.

DigitalWhiteByte ·

hi guys,

try this in command line getmac /fo table /nh > c:\MAcAddress.txt

Returns the media access control (MAC) address and list of network protocols associated with each address for all network cards in each computer, either locally or across a network.

maybe can help, instead of taking them from SM, you can import ... 🙁

TomC ·

DigitalWhiteByte wrote: hi guys,

try this in command line getmac /fo table /nh > c:\MAcAddress.txt

Returns the media access control (MAC) address and list of network protocols associated with each address for all network cards in each computer, either locally or across a network.

maybe can help, instead of taking them from SM, you can import ... 🙁

I guess getmac uses the same system API call malc uses, but maybe one of you guys with the problems can test this.

Tom

aliasant ·

My result is this: 00-17-F2-0F-DE-C4 Media disconnected 00-17-F2-0F-DE-C5 \Device\Tcpip_{CEE93214-DDF9-4725-B432-8D461981A623} 00-16-CB-25-91-23 Media disconnected

These are my main ethernet cards and the last one is my bluetooth card. Hope it helps.

DigitalWhiteByte ·

aliasant this figure changes on each reboot or remain stable? this is a link http://www.coffer.com/mac_find/ that indicates the Vendor based on Mac Address, the reference runs only on the first 6 characters, and actually appear all of Apple.

If it remains stable, we could use this instead of GetMac of SM, informing of these difficulties to Malc, do not you think?

aliasant ·

DigitalWhiteByte wrote: aliasant this figure changes on each reboot or remain stable? this is a link http://www.coffer.com/mac_find/ that indicates the Vendor based on Mac Address, the reference runs only on the first 6 characters, and actually appear all of Apple.

If it remains stable, we could use this instead of GetMac of SM, informing of these difficulties to Malc, do not you think?

I agree. If others report the same. My numbers should be stable the one that changes on every reboot is not in that list. Lets see what the others are saying. Could be nice to have a few more tests 🙂

theun ·

Interesting, the getmac command returns only the 2 real network cards, first is the wireless, 2nd the ethernet card.

00-C0-A8-DD-FC-04 \Device\Tcpip_{22289820-660E-4488-B106-BCD1F4E64F1C} 00-1A-92-D1-DC-CF Verbinding met medium verbroken

regards, theun

theun ·

Another thought is that from what i've seen sofar, most of the pseudo/virtual/whatsmore generated #'s can quite easily be rejected as a valid MAC number. Some of the numbers the MAC primitive returns here are e.g.

50-50-54-50-30-30, 33-50-6F-45-30-30, 38-C3-20-52-41-53, 20-41-53-59-4E-FF

whilst only OUI numbers (manufacturer ID's) have been issued, that start with 00 (>95 % seems to start with 00), 02, 04, 08, 10, 11, A0, AA and AC.

So you can almost see at a glance that the 4 MAC adresses listed are invalid. Though many invalid MAC numbers can be eliminated quickly, the real trouble is of course in the categories that start with a valid number. Thousands, maybe tenthousands of these OUI's have been issued. Here is the complete list (is maintained on a daily basis!):http://standards.ieee.org/regauth/oui/oui.txt

O.K enough for today again ...

Cheers!

theun ·

DigitalWhiteByte wrote: hi guys,

try this in command line getmac /fo table /nh > c:\MAcAddress.txt maybe can help, instead of taking them from SM, you can import ... 🙁

brilliant idea, I think!

I made a working osm that outputs the MAC adressess found by getmac. It will return max 5 addresses, seems enough to me .. It deletes the txt file after finishing. Though it still doesn't feel right writing in the C: directory.

I hope this is useful,

Cheers!

aliasant ·

theun wrote: I made a working osm that outputs the MAC adressess found by getmac. It will return max 5 addresses, seems enough to me .. It deletes the txt file after finishing. Though it still doesn't feel right writing in the C: directory.

I hope this is useful,

Cheers!

It is brilliant. I need to learn some of these command tricks.

One Q. When I run this it gives me 3 cards. But the whole series of numbers ends with 2 commas. Is that ok?

sunsynth ·

I hate 2 put a damper again on the getmac idea:

...XP Home misses this prog !

MyCo ·

getmac also doesn't work with disabled devices... then it outputs "deaktiviert" (in english something like: deactivated)

aliasant ·

MyCo wrote: getmac also doesn't work with disabled devices... then it outputs "deaktiviert" (in english something like: deactivated)

Not in my case. It reported all three all though 2 off them are inactive. Seems this road is closed too =(

Disco_Steve ·

Okay this idea is completely off the wall and untested. but could you use the font on a persons machine as a form of validation. either add a 'registration font' that if and only if present the plug-in works, or using the font list, and from that generating a key.

Completely crazy I know, but even if it doesn't work (I know you hackers will find a hole 😉 ) might induce some other ideas?

Steve

sunsynth ·

Ok then...

here my own start 2 get mac addresses:

DOWNLOAD mac2sun Please start run.bat and PM me the mac2sun.txt...

Now i can start 2 takeover your PC 😉 ...no way dude: only need your Data to compare and find a way to detect the real Network card-Address!

This way it can filter it 4U and we only need this run once in our progs... If usefull i will give it away 4 free 2 all regs here!

theun ·

aliasant wrote: One Q. When I run this it gives me 3 cards. But the whole series of numbers ends with 2 commas. Is that ok?

No. Apparantly the routine-in-green to remove the superfluous commas didn't work right. Here is a fix that should work, though.

MyCo wrote: getmac also doesn't work with disabled devices... then it outputs "deaktiviert" (in english something like: deactivated)

Yes, you're right. (@aliasant: there is a difference betweeen "inactive" and "switched off") I didn't know. It makes it less reliable indeed.

But anyway, Walter, you've ruined my day, Aaarghh 😕

sunsynth wrote: ...XP Home misses this prog !

And you're right! The MS whizkids list the description of the cmd tools under: TechNet >TechNet Library>Windows>Windows XP, to make it even less understandable!

Anyway, this effort stops here for me. I am going to smoke a big cigar tonight, and watch the tele! (I'm joking, I quit smoking some 12 years ago)

Cheers!

aliasant ·

Ooh poor Theun.. ..

You deserve that nasty big cigar. Or at least a good glass of single malt whiskey or something.

Nice try on a hopeless agenda. ( Is that proper English? )

theun ·

Thanks, Martin. No worries, tomorrow is another day...

TomC ·

Hi guys,

I've written my very own program to get all MAC addresses.

Download the attached file, unpack it and run it on your PC from the DOS/cmd console (it's completely harmless).

It reads the available MAC addresses via the Windows API and reports the result into a file MAC.txt, which is created in the Windows temp folder.

If you don't know where this folder is open a DOS/cmd box and type echo %temp%

There you find the file. Please report your results here. If the reports are good I'll incorporate it into my schematic and drop malcs MAC primitive.

Thanks a lot. Tom

Edit: unlike getmac it simply ignores disabled devices, so the output is (hopefully) always easy to parse...

Edit 2: oh, and you can use the environment variable %temp% from within SM's shell exec to read and delete the result file. Easy stuff...

aliasant ·

Nice little app there TomC =)

It outputs this for me: 00-16-CB-25-91-23 00-17-F2-0F-DE-C5 00-1F-1A-58-14-08

And it seems correct.

MyCo ·

yes, seems to be correct. It shows only my WLAN USB stick (all other network parts are disabled)...

aliasant ·

So cant we give this to Malc and then he makes a primitive?

TomC ·

aliasant wrote: So cant we give this to Malc and then he makes a primitive?

Thanks all for testing

I'll send malc the source code.

Good night

Tom

DigitalWhiteByte ·

A small clarification on the module HDSerial, he does not take the real physical serial of HD, but given the serial from the windows partition, so if you ever happen that a user formats the partition and reinstall the operating system its KEY not work anymore. TomC another effort? 😀

In reality it would be better to take the serial from the cpu, but I do not know if these serials may be taken on all operating systems without any restriction of security. 🙁

Disco_Steve ·

getting a new key for a new instal seems ok to me. os's are more stable now, and people update there machines less often.

AngularMomentum ·

So a friend of mine is a PHP Guru, and we are discussing automating giving out the keys.

The problem for me is, and I think Walter can help me with this, but I guess this is not an easy one...that I do not understand exactly how the hash code is calculated, or yeah I do, but, if I can present him a clear math calculation, he can pull it off with ease, he builds whole shops and websites, he is the guy behind internetdj and writes articles about programming server apps and what not for various magazines. I already asked him to share the code.

DigitalWhiteByte ·

actually automate the recording would be the thing that is missing in the system, I am integrating the ability to encrypt the key and write it as a registry key, so you do not even bother to create the authorization file, my test works fine on xp, but do not know if the uac on vista could be permission issues writing or reading of the register.

Tom7777 ·

Someone should move this thread to the registered users area. In my opinion examples about protection systems would be safer there since anyone can visit here and look at the osm's to see how you do it.

aliasant ·

Tom7777 wrote: Someone should move this thread to the registered users area. In my opinion examples about protection systems would be safer there since anyone can visit here and look at the osm's to see how you do it.

+1

TomC ·

Tom7777 wrote: Someone should move this thread to the registered users area. In my opinion examples about protection systems would be safer there since anyone can visit here and look at the osm's to see how you do it.

A protection system IS save if everyone can see how it's done and there's still no way to create own valid keys.

Everything else is 'security by obscurity' and needs the better half of a cigarette break to break.

Tom

djbrynte ·

actually i need help in getting this work? aniyone have any idea. I mean how it works?

MDMA ·

TomC wrote: Hi guys,

I've written my very own program to get all MAC addresses.

Download the attached file, unpack it and run it on your PC from the DOS/cmd console (it's completely harmless).

It reads the available MAC addresses via the Windows API and reports the result into a file MAC.txt, which is created in the Windows temp folder.

If you don't know where this folder is open a DOS/cmd box and type echo %temp%

There you find the file. Please report your results here. If the reports are good I'll incorporate it into my schematic and drop malcs MAC primitive.

Thanks a lot. Tom

Edit: unlike getmac it simply ignores disabled devices, so the output is (hopefully) always easy to parse...

Edit 2: oh, and you can use the environment variable %temp% from within SM's shell exec to read and delete the result file. Easy stuff...

Hey Tom, First of all, thanks a lot for your help and coding made available for everyone, you are very kind.

Im having trouble using this system just because I cant seem to get arround using environment variables like %temp%. I tried the following:

But with no success 🙁 I've also tried the shell exec but where will I take its resulting string from?

Many thanks

CoreStyler ·

I created protection system working very well. Implemented in Hardcore Kicks VSTi 2 (not released yet). When completed i will post and example on my website.

MDMA ·

CoreStyler wrote: I created protection system working very well. Implemented in Hardcore Kicks VSTi 2 (not released yet). When completed i will post and example on my website.

Thanks mate but I would still like to know how to use these variables. 🙂

CoreStyler ·

In my project the key is generated using MAC address primtive and mixed with a string (the root). So, by that way, a valid code should be generated for any computer in use. The validation of a key, can be done with an osm (a standalone app). The user have to save an autentication file (or text key) generated from the pc in use, then open the validated serial number. If validation is not present on the disk (the key file) the plugin continues to show the activation popup and no sound come from the synth.

the panel is not completed for now Any time the synth or effect is loaded, the activation key on the disk is compared with the mac adress in use in that system.

The key algorigthm can be also automated via php but i'm not good as necessary to perform that code (also if is not complex). In fact, the algorithm uses "hex to string" "string to hex" "string length" "integer data" and "integer operations + - and *), also portable to php. ( i think any programming language )

mayo ·

nice to see that you're trying to protect your hard work but I'm afraid it is useless no matter on how complex is your protection, there is still some simple on/off switch which is doing the stuff:

key valid => unlock key invalid => lock

cracker will look for this switch and hack it to make unlock permanent

even if you engage the key to computer hw via mac address or something, the lock/unlock switch is still there ready to be hacked...

all what you achieve with C/R protection like you CoreStyler mentioned is that you will lose customer as they hate C/R protection related to HW and it will not give you any protection against cracking, sorry

just my two cents based on personal experiences...

CoreStyler wrote: The key algorigthm can be also automated via php but i'm not good as necessary to perform that code

if you want help, just let me know

sunsynth ·

@MDMA:

look here: [old link]

Happy new Year! SunSynth

MDMA ·

mayo wrote: nice to see that you're trying to protect your hard work but I'm afraid it is useless no matter on how complex is your protection, there is still some simple on/off switch which is doing the stuff:

key valid => unlock key invalid => lock

cracker will look for this switch and hack it to make unlock permanent

even if you engage the key to computer hw via mac address or something, the lock/unlock switch is still there ready to be hacked...

all what you achieve with C/R protection like you CoreStyler mentioned is that you will lose customer as they hate C/R protection related to HW and it will not give you any protection against cracking, sorry

just my two cents based on personal experiences...

CoreStyler wrote: The key algorigthm can be also automated via php but i'm not good as necessary to perform that code

if you want help, just let me know

I've managed to develop a fully working system similar to the one coreStyler has but have honestly been thinking about using it or not, I'm also good with PHP but these days hackers can unlock everything really fast. We see this happening even with big corpoartions winch have the latest technology in security. I have come to the conclusion that the best thing is to give out the plugin for free(unregistered) and give the consumer the option to register under their names and use it for comercial purposes.

PS-Thanks for the link sunSynth

sunsynth ·

I have come to the conclusion that the best thing is to give out the plugin for free(unregistered) and give the consumer the option to register under their names and use it for comercial purposes.

PS-Thanks for the link sunSynth

You're welcome... And a wise conclusion nowadays

mahavishnuman ·

mayo wrote: nice to see that you're trying to protect your hard work but I'm afraid it is useless no matter on how complex is your protection, there is still some simple on/off switch which is doing the stuff:

key valid => unlock key invalid => lock

cracker will look for this switch and hack it to make unlock permanent

even if you engage the key to computer hw via mac address or something, the lock/unlock switch is still there ready to be hacked...

My thought would be to use each hardware serial number to scramble the audio (perhaps by using maximum length sequences which are easy to compute and difficult to crack through brute force) every few seconds. An authentic key would then descramble the audio. This might make it more challenging to completely crack, as there wouldn't be simple boolean switches involved and an improperly cracked signal would still have audible artifacts.

I wouldn't know exactly how to implement this, but it's a quick idea that would still give users preview capability and might take crackers a bit longer than a cigarette break to foil.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.