Jump to content

LabVIEW's "hidden" decoration styles


Recommended Posts

I was messing around in Cheat Engine by changing the "image" attribute of copied decorations. This attribute is shown in Heap Peek as "image [iMAGE] 0x######## (kPiccImage)". Anyway, I was trying different values, and I ended up mapping out the entire 0xFFF504XX range of possible images.

 

post-15106-0-50159100-1358732827_thumb.p

 

This took me a while, as I had to increment the value and paste it 256 times. I'm sure there's a better way; in fact, if I do this again I'll probably copy/paste them eight at a time or something. Would anyone from NI know if these modified front panel decorations would be dangerous to use? I would think not, as I just made it show a different image from the list, but it would be foolish to count on it working.

 

Also, I remember hearing that Picc is a proprietary image format, and I thought that the actual image data was stored in the clipboard. But apparently it's just an identifier for a hard-coded image?

Anyone know what the valid range for the "image" value is?

 

FFF50400.vi

 

(And yes, I understand most of these weren't made for decorations.)

Edited by flarn2006
Link to comment

You keep screwing with stuff that is not intended to be screwed with and continually ask for NI's blessing.  Knock yourself out, but don't except much more than the standard "at your own risk" feedback as you continue to annoy them.

 

Would anyone from NI know if these modified front panel decorations would be dangerous to use?
Link to comment
You keep screwing with stuff that is not intended to be screwed with and continually ask for NI's blessing.  Knock yourself out, but don't except much more than the standard "at your own risk" feedback as you continue to annoy them.

I'm not annoying them; it's not like I'm calling them or anything like that. I'm just curious if that specifically could cause problems.

Link to comment
I was messing around in Cheat Engine by changing the "image" attribute of copied decorations. This attribute is shown in Heap Peek as "image [iMAGE] 0x######## (kPiccImage)". Anyway, I was trying different values, and I ended up mapping out the entire 0xFFF504XX range of possible images.

 

attachicon.gifpicc.png

 

This took me a while, as I had to increment the value and paste it 256 times. I'm sure there's a better way; in fact, if I do this again I'll probably copy/paste them eight at a time or something. Would anyone from NI know if these modified front panel decorations would be dangerous to use? I would think not, as I just made it show a different image from the list, but it would be foolish to count on it working.

 

Also, I remember hearing that Picc is a proprietary image format, and I thought that the actual image data was stored in the clipboard. But apparently it's just an identifier for a hard-coded image?

Anyone know what the valid range for the "image" value is?

 

attachicon.gifFFF50400.vi

 

(And yes, I understand most of these weren't made for decorations.)

 

What's so special about those pics? If you haven't noticed, they resemble many standard LabVIEW control components, just in a special colour scheme. Ever heard of blue screen stamping and such? Would seem quite logical to use specific colours to identify various parts of a control, such as background and foreground area!

Link to comment
What's so special about those pics? If you haven't noticed, they resemble many standard LabVIEW control components, just in a special colour scheme. Ever heard of blue screen stamping and such? Would seem quite logical to use specific colours to identify various parts of a control, such as background and foreground area!

 

I mentioned I know most of them weren't designed as decorations. I do know a lot of them resemble controls, but that doesn't mean it's not interesting. Also E5 and E6 aren't what they look like--if you resize it you see it's two boxes connected with a line.

Link to comment
I mentioned I know most of them weren't designed as decorations. I do know a lot of them resemble controls, but that doesn't mean it's not interesting. Also E5 and E6 aren't what they look like--if you resize it you see it's two boxes connected with a line.

 

Could be the path glyph. Also they are not bitmaps but vector graphics. The LabVIEW picc format resembles the Macintosh PICT format in many things, but has a somewhat different binary data format.

Link to comment
Maybe you guys are a little too hard on this fellow.  Personally I enjoy unusual 'educational' threads like this.  Actually some of my favorite

threads ended up with someone getting kicked off the list :)

 

I don't think we are being hard. Just providing fair warning. It's not us he needs to worry about ;)

 

Restrictions. You may not: (i) reverse engineer, decompile, or disassemble the SOFTWARE (except to the extent

such foregoing restriction is expressly prohibited by applicable law); (ii) use the SOFTWARE to gain access to

unencrypted data in a manner that defeats the digital content protection provided in the SOFTWARE;

Licence

 

出る杭は打たれる。

Edited by ShaunR
Link to comment
This isn't the first time the EULA issue has been brought up. As long as I'm not doing what I'm doing to make a profit or anything like that (or to enable anyone else to), I'm pretty sure I'm in the clear. Correct me if I'm wrong, of course.

 

Legally you are totally wrong. Nowhere in the license agreement does it say anything about "for profit". Also you may not do it for profit, others using the information you dissect to the public will! In some legislations NI could loose the right to seek payment of damages through the legal path if they don't go after all such activities, independent if it is for profit or not. How many bad guys get away nowadays pointing with their finger: "But he did it first and never got punished, so why should I be!" And the legal system in some places agrees with that logic.

 

Depending on where you live, you may be indeed fairly clear, both because of legal laws in your place as well as being far out of reach of lawyers NI is willing to pay. However you may want to travel at some point and such activity could be a serious liability then. And using an alias in a forum like this is certainly no reliable way to hide your real life identity.

Link to comment
This isn't the first time the EULA issue has been brought up. As long as I'm not doing what I'm doing to make a profit or anything like that (or to enable anyone else to), I'm pretty sure I'm in the clear. Correct me if I'm wrong, of course.

 

I hope what you are doing *is* fine. I would want to live in a world where it is fine. I tried asking our NI lawyers, without mentioning your name or pointing in LAVA's direction, whether this sort of thing is ok. You know what answer I got? It is *illegal* for our lawyers to answer that question on your behalf. We have published the EULA. It is up to you, in consultation with *your* lawyers, to decide what that EULA means and whether it applies to you, and if at some future point we feel that you are not abiding by the EULA, that's what judges are for. I was very plain... "Are you saying we cannot tell our customers what they can and cannot do with our software?" They replied, "Of course we can. That's what the EULA does. We can't put it in any other language as that would be considered a separate binding contract."

 

Let me repeat, just so it is clear... this isn't an NI thing. This is the legal requirements of lawyers operating in the USA: they cannot give legal advice to clients they do not represent, especially if those clients are possible future opponents in court to clients they do represent.

 

So then I asked the next logical question... can the *business* side of NI tell our customers whether what they are doing meets the EULA or not? Answer: Yes, but we would advise them not to do so because it wouldn't be binding. In other words, the EULA is binding, and if someone from NI says, "It's ok for you to do that," you might still be sued later if we decide we didn't mean it and as long as it isn't an official legal opinion, it doesn't amend the EULA.

 

This is what is referred to as "adversarial justice", which is the style of law that we have established in the USA. Lawyers are meant to square off against each other and judges decide who wins. In the meantime, a company, indeed, an individual, should treat all other parties as legal enemies, even those that they are friends with in other domains, i.e., commerce.

 

The more I learn about this stuff the more I am convinced we need a really different legal system for some of these modern constructs.

 

By the way, here's a fun one... I heard about a company that has the children of workers come in after school to install software. The kids click on the EULA when doing the installation. Contracts signed with minors are non-binding, so this company feels that the software, by failing to validate the competency of the person clicking that I AGREE button, has allowed itself to be run without any of the EULA terms applying. Is this legally sound? Their lawyers think so and it hasn't been challenged in a court of law. And until you've been to court, saying something is legal or illegal is impossible. It is just what your lawyer says is likely to be legal. Yeesh.

 

Good luck, flarn. At the end of the day, I think the only thing I can say is that as long as you're not wealthy from any revenue source, you're probably safe from lawyers. Probably. Although Rolf makes a good point about why you might not be. So if you're going to use any software you didn't write yourself, I think you have to retain a good lawyer. Unless your EULA requires binding arbitration, as some do nowadays.

 

Yeesh.

  • Like 1
Link to comment

Wow, this thread sure is getting off-topic.

 

NI doesn't make the law. (That would be silly.) Say I created a game, and I put in the license agreement that you weren't allowed to make mods for it. (For the record, I would never actually do that, as you may have guessed.) Someone made a mod for it anyway. Now if they were selling it, maybe even giving it away for free, I might be able to claim they're violating my copyright. (Without copyright law, software licensing is meaningless.) If they just modified the software on their own computer and played it like that, I wouldn't be affected in any way.

 

I know cars are overused in analogies, but if I buy a car, and the manufacturer of the car says in the manual I'm not allowed to modify their copyrighted design by painting it another color, I can still do so. It's still my car. If the manufacturer goes that route with the copyright, they might be able to prevent me from then selling my car, but otherwise I can modify my car however I want. (as long as it's not violating any laws that would exist anyway.)  How is software any different in this respect? It's my computer, and while I may not own the rights to the software, that particular copy is still mine, as it exists only on hardware 100% owned by me.

 

As long as there's no damages, I fail to see how any legal action could be possible. You can't sue someone for pissing you off, even if they said they wouldn't. That's why I'm not releasing my password hack, as if someone uses it in a way that causes harm to NI or someone else, they might have a case.

Edited by flarn2006
Link to comment
Wow, this thread sure is getting off-topic.

NI doesn't make the law. (That would be silly.) Say I created a game, and I put in the license agreement that you weren't allowed to make mods for it. (For the record, I would never actually do that, as you may have guessed.) Someone made a mod for it anyway. Now if they were selling it, maybe even giving it away for free, I might be able to claim they're violating my copyright. (Without copyright law, software licensing is meaningless.) If they just modified the software on their own computer and played it like that, I wouldn't be affected in any way.

I know cars are overused in analogies, but if I buy a car, and the manufacturer of the car says in the manual I'm not allowed to modify their copyrighted design by painting it another color, I can still do so. It's still my car. If the manufacturer goes that route with the copyright, they might be able to prevent me from then selling my car, but otherwise I can modify my car however I want. (as long as it's not violating any laws that would exist anyway.)  How is software any different in this respect? It's my computer, and while I may not own the rights to the software, that particular copy is still mine, as it exists only on hardware 100% owned by me. And as long as there's no damages, I fail to see how any legal action could be possible. You can't sue someone for pissing you off, even if they said they wouldn't.

 

You've clearly misunderstood what AQ said.  His response discussed the ability of NI to legally respond to questions of the legality of issues like this.  The content was dictated by what their lawyers have told him.  In no way was NI 'making the law', just disseminating it as is understood by their legal representation. 

 

Now your mention of modifying things you own bears merit and I even agree with the position, but legally things don't work that way.  An easy example is modifications of gaming systems.  To my understanding this has not been ruled fair use yet.  Jailbreaking an iPhone has been ruled 'fair use'.  This is a legal grey area and you won't get any lawyer to tell you that you're in the clear, but one thing is important: for profit or not for profit does not matter currently in our legal system.  You can very easily look toward the whole music piracy fiasco for proof of that.  As mentioned by AQ it's all about money.

 

Good luck, flarn. At the end of the day, I think the only thing I can say is that as long as you're not wealthy from any revenue source, you're probably safe from lawyers. Probably.

Basically, (my opinion) our legal system is absolutely absurd regarding software patents and copyright, you should be allowed to mess with software or hardware that you own to your heart's desire and, unfortunately, no you should not feel safe doing so.

Link to comment
This isn't the first time the EULA issue has been brought up. As long as I'm not doing what I'm doing to make a profit or anything like that (or to enable anyone else to), I'm pretty sure I'm in the clear. Correct me if I'm wrong, of course.

 

This is wrong.

 

Wow, this thread sure is getting off-topic.

 

NI doesn't make the law. (That would be silly.) Say I created a game, and I put in the license agreement that you weren't allowed to make mods for it. (For the record, I would never actually do that, as you may have guessed.) Someone made a mod for it anyway. Now if they were selling it, maybe even giving it away for free, I might be able to claim they're violating my copyright. (Without copyright law, software licensing is meaningless.) If they just modified the software on their own computer and played it like that, I wouldn't be affected in any way.

Generally speaking, in the US: Violation of copyright is something that a person does and they get in trouble with the government (fine or jail).  Breach of contract is something you do and you get in trouble with the other party (you get sued for monetary damages).  Both are illegal even though the person bringing the complaint (the district attorney or the other party) is different and the punishments are different.

 

I know cars are overused in analogies, but if I buy a car, and the manufacturer of the car says in the manual I'm not allowed to modify their copyrighted design by painting it another color, I can still do so. It's still my car. If the manufacturer goes that route with the copyright, they might be able to prevent me from then selling my car, but otherwise I can modify my car however I want. (as long as it's not violating any laws that would exist anyway.)  How is software any different in this respect? It's my computer, and while I may not own the rights to the software, that particular copy is still mine, as it exists only on hardware 100% owned by me.

 

As long as there's no damages, I fail to see how any legal action could be possible. You can't sue someone for pissing you off, even if they said they wouldn't. That's why I'm not releasing my password hack, as if someone uses it in a way that causes harm to NI or someone else, they might have a case.

Unfortunately, it's not yours.  I personally believe it should be, but that's not the way software licensing works.  It's not the way the software world works.  We gave you a copy of LabVIEW and you (most likely depending on what your license agreement says) have a intangible copy of it -- whether it's bits on your hard drive or on a CD -- and we grant you the right to use it for so long.  It's never your property.  I think it's absurd but that's how it works.

Link to comment
I know cars are overused in analogies, but if I buy a car, and the manufacturer of the car says in the manual I'm not allowed to modify their copyrighted design by painting it another color, I can still do so. It's still my car. If the manufacturer goes that route with the copyright, they might be able to prevent me from then selling my car, but otherwise I can modify my car however I want. (as long as it's not violating any laws that would exist anyway.)  How is software any different in this respect? It's my computer, and while I may not own the rights to the software, that particular copy is still mine, as it exists only on hardware 100% owned by me.

 

Car analogies are disingenuous. You buy a car and ownership is transferred via a document with a signature. With software you buy it but you don't own it! You buy the right to use it.

Link to comment
Their lawyers think so and it hasn't been challenged in a court of law. And until you've been to court, saying something is legal or illegal is impossible. It is just what your lawyer says is likely to be legal. Yeesh.

 

It sounds like quantum mechanics :)

Link to comment
Wow, this thread sure is getting off-topic.

 

NI doesn't make the law. (That would be silly.) Say I created a game, and I put in the license agreement that you weren't allowed to make mods for it. (For the record, I would never actually do that, as you may have guessed.) Someone made a mod for it anyway. Now if they were selling it, maybe even giving it away for free, I might be able to claim they're violating my copyright. (Without copyright law, software licensing is meaningless.) If they just modified the software on their own computer and played it like that, I wouldn't be affected in any way.

 

I know cars are overused in analogies, but if I buy a car, and the manufacturer of the car says in the manual I'm not allowed to modify their copyrighted design by painting it another color, I can still do so. It's still my car. If the manufacturer goes that route with the copyright, they might be able to prevent me from then selling my car, but otherwise I can modify my car however I want. (as long as it's not violating any laws that would exist anyway.)  How is software any different in this respect? It's my computer, and while I may not own the rights to the software, that particular copy is still mine, as it exists only on hardware 100% owned by me.

 

As long as there's no damages, I fail to see how any legal action could be possible. You can't sue someone for pissing you off, even if they said they wouldn't. That's why I'm not releasing my password hack, as if someone uses it in a way that causes harm to NI or someone else, they might have a case.

 

As pointed out by others already, your car analogy has many flaws. For one you can't copyright a colour and even less so the right to change the colour of something. Copyright is about the right to copy something considered a creation in some form or the other. Except the design style, logo and such things there is little that could be copyrighted about a car. Patents is an entirely different thing again but even that is about copying something considered technical art in some form. Both do not apply to the fact if you can paint your car or not. A manufacturer could declare your warranty void or you could loose the right to do liability claims against the manufacturer, if he can make it reasonable believable that your paint job has caused the defect you seek warranty for, or the accidents you claim liabilities but nothing else.

 

Software is an entire different beast. Most licenses, even open source, don't grant you ownership of the software, only a right to use it. It could be considered absurd, but then what ownership would you get? Can someone own bits and bytes, or the letters in a book? Do you own the letters in a book or rather just the paper of the book the letters are printed on? Are you allowed to destroy the book? Yes of course and so are you allowed to destroy the copy of the software on your harddisk or even the harddisk itself, as that is a material good you own. But you do not own the particular assembly of bits and bytes that makes up the software. For one thing because ownership means usually exclusivity but how can you own those bits and bytes exclusively?

 

All material things can only be owned once at any particular time. A particular software exists unlimited times, so the classical property rules are very difficult to apply here. That is why all legal systems have rather adopted the copyright for distributed software than the property right, since many provisions of the property right simply do not apply to software programs at all.

 

If it is a good choice I'm not sure, but adopting property rights instead would certainly not solve those problems but simply create others and possibly a lot more.

 

 

It sounds like quantum mechanics :)

 

 

 

As you get older you might find out that anything tends to have quantum mechanic inner workings, especially things that appear logically bipolar in nature. What is good and bad may seem very clear for simple minds, but if you go deeper you will find out that the decision about that is very relative and only really is made by the observer, but definitely not an universal police force called God. :D

Link to comment

Anyway, back on topic: does anyone know how to get LabVIEW to use a PICC image from somewhere other than LabVIEW itself? As in, to include some arbitrary PICC data as an image, rather than just using an image already included with LabVIEW?

Barring that, does anyone know of any other vector formats that can be imported into LabVIEW and have certain parts scale differently, like the "shine" on the classic LED? Or that weird two-boxes-connected-with-line thing I found?

Edited by flarn2006
Link to comment
Anyway, back on topic: does anyone know how to get LabVIEW to use a PICC image from somewhere other than LabVIEW itself? As in, to include some arbitrary PICC data as an image, rather than just using an image already included with LabVIEW?

Barring that, does anyone know of any other vector formats that can be imported into LabVIEW and have certain parts scale differently, like the "shine" on the classic LED? Or that weird two-boxes-connected-with-line thing I found?

 

Where would you want to take such a picc? This format was created by the LabVIEW developers for LabVIEW and outside of the LabVIEW development group exist no editors or such who can create this format.

 

I used to use WMF images in the past. But most WMF editors out there where abominable to say the least, and created images that produced rather different results depending on Windows version and viewer used. WMF supposedly is a little better but also a somewhat niche format that most Microsoft applications do support but don't advertize, and only very few other applications claim to support but with varying results. I had some interesting results by using Powerpoint to create the graphics. However eventhough LabVIEW has some support for importing WMF/EMF from the clipboard, it can be tricky to convince Windows/LabVIEW to take this format rather than have Windows advertize an intermediate Bitmap version of the WMF/EMF file, which will cause LabVIEW to use that instead.

 

However I can not comment on how this would work in recent versions as my experiments with this date from LabVIEW 3 and 4 times. I'm pretty sure that this functionality did not receive any face lift since at least LabVIEW 5 because it is in fact an almost never used feature by anyone and NI doesn't spend resources on unused features. And it just as much could have bitrotted over the years, and not work anymore or even be removed entirely.

Link to comment

It was certainly still working as of 2011 as I saw someone pulling in emf I believe. I think in that case the whole image scales though, I am not aware of any format where different elements scale at different rates.

Quick google suggests it is the components which are important. Can't open the VI yet but look at this thread http://lavag.org/topic/3085-custom-controls-custom-decorations/

Link to comment

If someone were to figure out the format though (I haven't, in case anyone's wondering), how would they get LabVIEW to actually import it as a PICC image? By examining copied decorations in Heap Peek + Cheat Engine, it seems like the decoration is only showing an image that's hardcoded into LabVIEW. Does LabVIEW contain functionality to show an embedded PICC image just like it does with any other image you paste in, or can it only show that image format if the image is already programmed into LabVIEW?

Also, I noticed the Silver controls, added less than two years ago, still make use of the PICC format. Why continue to use this when you can add support for an open format like SVG and use that instead?

Edited by flarn2006
Link to comment
If someone were to figure out the format though (I haven't, in case anyone's wondering), how would they get LabVIEW to actually import it as a PICC image? By examining copied decorations in Heap Peek + Cheat Engine, it seems like the decoration is only showing an image that's hardcoded into LabVIEW. Does LabVIEW contain functionality to show an embedded PICC image just like it does with any other image you paste in, or can it only show that image format if the image is already programmed into LabVIEW?

Also, I noticed the Silver controls, added less than two years ago, still make use of the PICC format. Why continue to use this when you can add support for an open format like SVG and use that instead?

 

I'm not sure but I don't think there is a good way. It may be possible in theory to use the Picture Control to display a PICC formated data stream and with lots of wizardry I'm sure it would be possible to store the PICC as a resource inside the VI itself and reference it from there but that would require so many hacks in the VI data itself that I would consider that a major work even for someone who has access to the complete VI data format specification.

 

The OS clipboard likely won't work since it does not know about this type of format. Yes you can copy picc's between different LabVIEW objects over the clibboard and that is an interesting way to customize controls, but this is because LabVIEW maintains internally its own clipboard which knows about all kinds of internal formats including LabVIEW diagrams, paths, controls, and also PICCs, etc. but it does not transport those formats to the external clipboard and back but instead translates them to a format that the external clipboard officially supports, such as a bitmap when you copy a diagram and then try to paste that in another application including a different LabVIEW process.

 

While on Windows the supported external vector image formats are WMF/EMF, on the Mac it used to be PICT which actually worked quite a bit better than WMF/EMF back then.

 

Why not still use the PICC format? The code is there already, the internal control editor too (eventhough it badly needs some love). Adding another format like SVG may seem like a nice choice, but LabVIEW does not know about it so far, so it would have to be added, and it would not just be an importer/exporter but just about anything where PICC resources are used would have to be touched seriously. So basically anything in the frontpanel. Maybe if they decide to overhaul the control editor and make it a fully featured editor again, they would consider adding a new intermediate format like SVG but not vice versa.

 

I also believe that much of the silver controls was simply done by using the control editor to create new custom controls, but I haven't looked at them yet. Still using classic controls everywhere for internal frontpanels and the system style for user interfaces almost exclusively. I feel the everchanging cry for newer, fancier, simpler, crazier, whatever controls is mostly hysteric. Whatever MS declares as the newest hit, people seem to want to have it, even if it hurts in the eyes.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.