Showing results for 
Search instead for 
Did you mean: 

Deconstructing an LabVIEW Application - uncompressed access to files

Go to solution

Back in the early days one could change the file extension of an EXE to say LLB or ZIP and that was great; I used to drag drop VI into the zip file and saved tons of time.  Then at some point that format changed.


Today I have an EXE from a customer.  The company that had the source code went out of business suddenly.

I have an older version of the souce code and still working on bringing it to LV2020 from LV2010 it is missing so much.


The EXE build is LV2010.  I know the name of the file I want to modify.  It is a custom control (.ctl) that they hard coded some model numbers into that I want to modify.


I would like to either replace the file (.ctl) or modify the clear text existing model number text with some method.  At this point I would just change the numbers and have multiple EXE's for old and new product models.


If you cannot post how on the forum please message me.



0 Kudos
Message 1 of 6

This thread has lots of information. You will need to go through it all.




PS I have never done this, beyond my skills, but it is interesting.

Message 2 of 6

Thanks I'll check it out!

0 Kudos
Message 3 of 6

Be sure to watch the YouTube video embedded; the author goes through an example. I watched it a while ago, it's pretty neat, not Mars Landing neat, but still neat. 🙂



0 Kudos
Message 4 of 6


LabVIEW - Reverse engineering EXE back to project

Message 5 of 6
Accepted by topic author Carey3255

The code at the below link allowed me to extract (but not reveal source code) and modify replace 3 pieces of code (one .ctl (modified) and two .vi's (had to re-relink to TYPEDEF because the previous installed had disconnected) which the client had old source code for but had no changes.


Here is a more Simplified procedure:


1.) Rename the .EXE to .EXE.ZIP

2.) Open the .EXE.ZIP with the 7ZIP application (regular windows unzip wont open it!)

3.) Find the Largest File - "2" in my case.

4.) Drag/Drop this "2" file into the pylabview folder

5.) Using Git-Bash (Git-2.30.1-64-bit.exe) after installing python (python-3.9.2-amd64.exe) and extracting pylabview execute the script for the file you Drag/Dropped in my case "2"


$ python ./ -vv -x -i 2


6.) Rename the 2_LVzp.bin to the compressed file should open (even in regular windows unzip)

7.) Make a new LabVIEW project.

8.) In my case:  I did not add all the files because the cross-linking was horrible.  I only added the top-level vi and any VI's that are called through VI server that the LV application builder won't know how to add.


This was for a client who had lost the newest version of source code and I needed to add new production line models in a hurry (that were previously hard coded in a TYPEDEF - that will be changed to a DB call as I "build back better").


Many thanks to those that built the pylabview code and those pointing me in the right direction.




Message 6 of 6