Jump to content

Convert labview exe back to labview vi?


Recommended Posts

Honestly, I have no idea if that’s something that is even logically possible. Computing data flow from procedural instructions is one of the holy grails of compiler optimization. Sure, there’s short segments that are easy to translate back, but a general app? Maybe, but I have 19 years of LabVIEW R&D experience with the compiler, and I’d be hard pressed to do it by hand, much less derive a general algorithm for automatic decompilation. 

Link to comment

Pulling the VIs out of an EXE isn't the hard part.  In relatively recent versions of LabVIEW you can pull out VIs from an EXE.  I think the last version I did this on was 2015.  But the VIs are a binary blob with no block diagram, generally no front panel, but can be called as a subVI in the IDE.  And with the forward compatible run-time engine that means any LabVIEW 2017 EXE can have its VIs pulled out and ran in 2017 or newer.  I haven't tested this but I think it should work.  But as others have said, getting the source code out of an EXE is considered impossible.

Link to comment
  • 1 year later...

 

On 6/25/2019 at 3:07 PM, hooovahh said:

Pulling the VIs out of an EXE isn't the hard part.  In relatively recent versions of LabVIEW you can pull out VIs from an EXE.  I think the last version I did this on was 2015.  But the VIs are a binary blob with no block diagram, generally no front panel, but can be called as a subVI in the IDE.  And with the forward compatible run-time engine that means any LabVIEW 2017 EXE can have its VIs pulled out and ran in 2017 or newer.  I haven't tested this but I think it should work.  But as others have said, getting the source code out of an EXE is considered impossible.

Hi,

How can you do this (LV 2015)? I have lost some VIs I haven't touched for years so I don't really need their block diagrams.

Thanks in advance!

Link to comment
1 hour ago, Lipko said:

How can you do this (LV 2015)?

Take a look at https://github.com/mefistotelis/pylabview

You will need 3rd Python and Pillow package:

Quote

pip3 install pillow

After that you proceed as follows:

  1. Unpack the .exe into a separate directory (7-Zip unarchiver works fine for me).
  2. Take \.rsrc\RCDATA\2 file and put it near readRSRC.py.
  3. Run .\readRSRC.py -x -i ./2 in the command shell.
  4. Unpack 2_LVzp.bin to get your VIs.

You may also find this thread interesting to read: EXE back to buildable project

  • Thanks 1
Link to comment
4 hours ago, dadreamer said:

Take a look at https://github.com/mefistotelis/pylabview

You will need 3rd Python and Pillow package:

After that you proceed as follows:

  1. Unpack the .exe into a separate directory (7-Zip unarchiver works fine for me).
  2. Take \.rsrc\RCDATA\2 file and put it near readRSRC.py.
  3. Run .\readRSRC.py -x -i ./2 in the command shell.
  4. Unpack 2_LVzp.bin to get your VIs.

You may also find this thread interesting to read: EXE back to buildable project

Thank you!

I don't have experience with python and I'm stuck at point 3. I have Anaconda, I run the windows command prompt and started python (I see the >>>), I navigated to the plylabview folder (os.chdir), I think I have pillow (typed pip3 install to anaconda promt and it said something about I arelady have it), but no matter how I try to type in .\readRSRC.py -x -i ./2, I get inalid systax errors.
Tried  .\readRSRC.py -x -i ./2 in the anaconda promt too.

Edited by Lipko
Link to comment

Maybe then you'd have more luck trying in PowerShell (if available). Also try without preceding .\ symbols. As I have Python paths written into the PATH environment variable, I don't even need to launch Python's own shell, I just execute that command in common Windows shell and it works.

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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.