Karthikeyan Posted June 17, 2019 Report Share Posted June 17, 2019 (edited) Is it possible to convert labview exe back to labview vi? Edited June 23, 2019 by Michael Aivaliotis fixed the title. Quote Link to comment
LogMAN Posted June 17, 2019 Report Share Posted June 17, 2019 (edited) No, that is not possible. Here is the official KB article from NI https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LtOSAU&l=en-US Edited June 17, 2019 by LogMAN Quote Link to comment
ensegre Posted June 17, 2019 Report Share Posted June 17, 2019 This is also an informative post by Rolf about older versions. Quote Link to comment
Aristos Queue Posted June 23, 2019 Report Share Posted June 23, 2019 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. Quote Link to comment
MikaelH Posted June 25, 2019 Report Share Posted June 25, 2019 Yes you can...if you did build the exe file with debugging on. Quote Link to comment
hooovahh Posted June 25, 2019 Report Share Posted June 25, 2019 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. Quote Link to comment
Lipko Posted May 21, 2021 Report Share Posted May 21, 2021 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! Quote Link to comment
dadreamer Posted May 21, 2021 Report Share Posted May 21, 2021 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: Unpack the .exe into a separate directory (7-Zip unarchiver works fine for me). Take \.rsrc\RCDATA\2 file and put it near readRSRC.py. Run .\readRSRC.py -x -i ./2 in the command shell. Unpack 2_LVzp.bin to get your VIs. You may also find this thread interesting to read: EXE back to buildable project 1 Quote Link to comment
Lipko Posted May 21, 2021 Report Share Posted May 21, 2021 (edited) 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: Unpack the .exe into a separate directory (7-Zip unarchiver works fine for me). Take \.rsrc\RCDATA\2 file and put it near readRSRC.py. Run .\readRSRC.py -x -i ./2 in the command shell. 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 May 21, 2021 by Lipko Quote Link to comment
dadreamer Posted May 21, 2021 Report Share Posted May 21, 2021 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. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.