Is it possible to extract a VI from an executable which has debug mode enabled?

It is a curiosity question from a client.
Is it possible to extract a VI from an executable which has debug mode enabled?
Since the block diagram would not be in edit mode....  Is it possible to "peer" into the executable, look at a VI and recover the block diagram?  This owuld be for a deleted VI that is part of an executable which had debug mode enabled..
Did anyone try this?
Curious..

Extract VIs from an EXE?  No problem.  Even if debugging isn't enabled you can extract VIs, they just won't have block diagrams, and may not have front panels depending on if they were removed in the EXE making process.
Attached is an example project for making an EXE, the EXE itself, and a VI for extracting VIs from the EXE.  The code is quite primative and it was just meant to demonstrate how this can be done.
To extract the Main.vi from the Application.exe, run Extract Main.vi from EXE.vi, provide the path to the EXE and the path to where the VI should be saved and then run the VI.  This VI will set keys in the INI file for the application, then run th EXE.  Then it opens an application reference to the EXE, then opens a VI reference to Main.vi.  Then it aborts Main.vi, and extracts it.
Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.
Attachments:
Test EXE Extract.zip ‏763 KB

Similar Messages

  • Is it possible to Extract the Data from Website?

    Dear Experts,
            Is it possible to Extract the Data from Website and Upload it in the SAP Table?.It is very Urgent.Please help me.
    Thanks & Regards,
    Ashok.

    Hi Friend,
    Generaly if it is one time activity you can do it manually by copy paste in excel.
    But if it is weekly or monthly activity then you have to ask website provide to provide data in excel or CSV file and upload it into SAP.
    I have a situtation like this, and they (Rapaport price) provide it in CSV format with defined columns.
    So it is better to raise the issue to website provider.
    Regards
    Krishnendu

  • Is it possible to extract the DN from a certificate?

    Is it possible to extract the DN from a certificate?
    During the SSL Handshaking process, does ORACLE read the certificate, write the certificate properties to some V$ table or enviroment variable?

    There is no problem yet. I just want to know ORACLE's capablities.
    I want know at any time does ORACLE record/store/save/etc the properties of a client's digital certificate. I want to use the DN from the certificate to login to an APEX application. Then use the DN as a parameter to call a WebService.
    Your thoughts!!!

  • Can I import iWork from my Mac, which has Snow Leopard, to my MacBook Air, which has Mountain Lion?

    Can I import iWork from my Mac, which has Snow Leopard, to my MacBook Air, which has Mountain Lion?
    I would appreciate any advice on the intricacies of operating with Snow Leopard on my main computer and Mountain Lion on my MacBook Air.

    I'm not sure there are any intricacies except you can't use iCloud to keep the two things synced. It would be mostly contacts, Safari bookmarks, Calendars, notes, etc.
    Also, iCloud allows saving iWork documents in the Cloud, so you can access them on both systems. That would not be available for the old Mac.
    The two OSes are similar enough that it wouldn't be too difficult to work between the two, but there will be differences in using the Finder (contextual menu changes)
    I thought I would have more, but I've been off Snow Leopard for so long now, I'll leave this for someone who is currently operating like that or recently switch to Mountain Lion from SL.

  • Error when executing interface which load data from csv file which has 320

    Hi,
    Can some one provide a resolution for below error:
    I have created an interface which load data from csv file which has 320 columns, to a Synonym which has 320 columns in it
    using LKM File to SQL, IKM Sql Control Append.
    I am getting below error when executing the interface :
    com.sunopsis.tools.core.exception.SnpsSimpleMessageException: ODI-17517: Error during task interpretation. Task: 6 java.lang.Exception: BeanShell script error: Sourced file: inline evaluation of: ``out.print("The application script threw an exception: java.lang.StringIndexOutOf . . . '' Token Parsing Error: Lexical error at line 2, column 42. Encountered: "\\" (92), after : "": <at unknown location> BSF info: Create external table at line: 0 column: columnNo
    at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:485)
         at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:711)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:461)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: org.apache.bsf.BSFException: BeanShell script error: Sourced file: inline evaluation of: ``out.print("The application script threw an exception: java.lang.StringIndexOutOf . . . '' Token Parsing Error: Lexical error at line 2, column 42. Encountered: "\\" (92), after : "": <at unknown location>
    BSF info: Create external table at line: 0 column: columnNo
         at bsh.util.BeanShellBSFEngine.eval(Unknown Source)
         at bsh.util.BeanShellBSFEngine.exec(Unknown Source)
         at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:471)
         ... 11 more
    Text: The application script threw an exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 2 BSF info: Create external table at line: 0 column: columnNo
    out.print("createTblCmd = r\"\"\"\ncreate table ") ;
    out.print(odiRef.getTable("L", "COLL_NAME", "W")) ;
    out.print("<?=(extTabColFormat.getUseView())?\"_ET\":\"\"?>\n(\n\t") ;
    out.print(odiRef.getColList("", "[CX_COL_NAME]\\t"+
              "<?=extTabColFormat.getExtTabDataType(\\u0022[CX_COL_NAME]\\u0022,\\u0022[SOURCE_DT]\\u0022, \\u0022[DEST_WRI_DT]\\u0022, \\u0022[COL_FORMAT]\\u0022, \\u0022[BYTES]\\u0022, \\u0022[LONGC]\\u0022, \\u0022[SCALE]\\u0022)?>"
         , ",\\n\\t", "","")) ;
    out.print("\n)\nORGANIZATION EXTERNAL\n(\n\tTYPE ORACLE_LOADER\n\tDEFAULT DIRECTORY dat_dir\n\tACCESS PARAMETERS\n\t(\n\t\tRECORDS DELIMITED BY 0x'") ;
    out.print(odiRef.getSrcTablesList("[XFILE_SEP_ROW]","")) ;
    out.print("'\n\t\t") ;
    out.print(odiRef.getUserExit("EXT_CHARACTERSET")) ;
    out.print("\n\t\t") ;
    out.print(odiRef.getUserExit("EXT_STRING_SIZE")) ;
    out.print("\n\t\tBADFILE\t\t'") ;
    out.print(odiRef.getSrcTablesList("", "[RES_NAME]", "", "")) ;
    out.print("_%a.bad'\n\t\tLOGFILE\t\t'") ;
    out.print(odiRef.getSrcTablesList("", "[RES_NAME]", "", "")) ;
    out.print("_%a.log'\n\t\tDISCARDFILE\t'") ;
    out.print(odiRef.getSrcTablesList("", "[RES_NAME]", "", "")) ;
    out.print("_%a.dsc'\n\t\tSKIP \t\t") ;
    out.print(odiRef.getSrcTablesList("", "[FILE_FIRST_ROW]", "", "")) ;
    out.print("\n") ;
    if (odiRef.getSrcTablesList("", "[FILE_FORMAT]", "", "").equals("F")) {out.print("\n\t\tFIELDS\n\t\t") ;
    out.print(odiRef.getUserExit("EXT_MISSING_FIELD")) ;
    out.print("\n\t\t(\n\t\t\t") ;
    out.print(odiRef.getColList("", "[CX_COL_NAME]\\tPOSITION([FILE_POS]:[FILE_END_POS])\\t"+
                        "<?=extTabColFormat.getExtTabFormat(\\u0022[CX_COL_NAME]\\u0022,\\u0022[SOURCE_DT]\\u0022, \\u0022DEST_WRI_DT\\u0022, \\u0022[COL_FORMAT]\\u0022, \\u0022[BYTES]\\u0022, \\u0022[LONGC]\\u0022, \\u0022[SCALE]\\u0022)?>"
                        , ",\\n\\t\\t\\t", "","")) ;
    out.print("\t\t\n\t\t)\n\t)\n") ;
    } else {out.print("\n\t\tFIELDS TERMINATED BY x'") ;
    out.print(odiRef.getSrcTablesList("", "[XFILE_SEP_FIELD]", "", "")) ;
    out.print("'\n\t\t") ;
    if(odiRef.getSrcTablesList("", "[FILE_ENC_FIELD]", "", "").equals("")){out.print("\n\t\t") ;
    } else {out.print("OPTIONALLY ENCLOSED BY '") ;
    out.print(odiRef.getSrcTablesList("", "[FILE_ENC_FIELD]", "", "").substring(0,1)) ;
    out.print("' AND '") ;
    out.print(odiRef.getSrcTablesList("", "[FILE_ENC_FIELD]", "", "").substring(1,2)) ;
    out.print("' ") ;
    }out.print("\n\t\t") ;
    out.print(odiRef.getUserExit("EXT_MISSING_FIELD")) ;
    out.print("\n\t\t(\n\t\t\t") ;
    out.print(odiRef.getColList("", "[CX_COL_NAME]\\t"+
                        "<?=extTabColFormat.getExtTabFormat(\\u0022[CX_COL_NAME]\\u0022,\\u0022[SOURCE_DT]\\u0022, \\u0022DEST_WRI_DT\\u0022, \\u0022[COL_FORMAT]\\u0022, \\u0022[BYTES]\\u0022, \\u0022[LONGC]\\u0022, \\u0022[SCALE]\\u0022)?>"
                        , ",\\n\\t\\t\\t", "","")) ;
    out.print("\t\t\n\t\t)\n\t)\n") ;
    }out.print("\tLOCATION (") ;
    out.print(odiRef.getSrcTablesList("", "'[RES_NAME]'", "", "")) ;
    out.print(")\n)\n") ;
    out.print(odiRef.getUserExit("EXT_PARALLEL")) ;
    out.print("\nREJECT LIMIT ") ;
    out.print(odiRef.getUserExit("EXT_REJECT_LIMIT")) ;
    out.print("\n\"\"\"\n \n# Create the statement\nmyStmt = myCon.createStatement()\n \n# Execute the trigger creation\nmyStmt.execute(createTblCmd)\n \nmyStmt.close()\nmyStmt = None\n \n# Commit, just in case\nmyCon.commit()") ;
    ****** ORIGINAL TEXT ******
    createTblCmd = r"""
    create table <%=odiRef.getTable("L", "COLL_NAME", "W")%><?=(extTabColFormat.getUseView())?"_ET":""?>
         <%=odiRef.getColList("", "[CX_COL_NAME]\t"+
              "<?=extTabColFormat.getExtTabDataType(\u0022[CX_COL_NAME]\u0022,\u0022[SOURCE_DT]\u0022, \u0022[DEST_WRI_DT]\u0022, \u0022[COL_FORMAT]\u0022, \u0022[BYTES]\u0022, \u0022[LONGC]\u0022, \u0022[SCALE]\u0022)?>"
         , ",\n\t", "","")%>
    ORGANIZATION EXTERNAL
         TYPE ORACLE_LOADER
         DEFAULT DIRECTORY dat_dir
         ACCESS PARAMETERS
              RECORDS DELIMITED BY 0x'<%=odiRef.getSrcTablesList("[XFILE_SEP_ROW]","")%>'
              <%=odiRef.getUserExit("EXT_CHARACTERSET")%>
              <%=odiRef.getUserExit("EXT_STRING_SIZE")%>
              BADFILE          '<%=odiRef.getSrcTablesList("", "[RES_NAME]", "", "")%>_%a.bad'
              LOGFILE          '<%=odiRef.getSrcTablesList("", "[RES_NAME]", "", "")%>_%a.log'
              DISCARDFILE     '<%=odiRef.getSrcTablesList("", "[RES_NAME]", "", "")%>_%a.dsc'
              SKIP           <%=odiRef.getSrcTablesList("", "[FILE_FIRST_ROW]", "", "")%>
    <% if (odiRef.getSrcTablesList("", "[FILE_FORMAT]", "", "").equals("F")) {%>
              FIELDS
              <%=odiRef.getUserExit("EXT_MISSING_FIELD")%>
                   <%=odiRef.getColList("", "[CX_COL_NAME]\tPOSITION([FILE_POS]:[FILE_END_POS])\t"+
                        "<?=extTabColFormat.getExtTabFormat(\u0022[CX_COL_NAME]\u0022,\u0022[SOURCE_DT]\u0022, \u0022DEST_WRI_DT\u0022, \u0022[COL_FORMAT]\u0022, \u0022[BYTES]\u0022, \u0022[LONGC]\u0022, \u0022[SCALE]\u0022)?>"
                        , ",\n\t\t\t", "","")%>          
    <%} else {%>
              FIELDS TERMINATED BY x'<%=odiRef.getSrcTablesList("", "[XFILE_SEP_FIELD]", "", "")%>'
              <% if(odiRef.getSrcTablesList("", "[FILE_ENC_FIELD]", "", "").equals("")){%>
              <%} else {%>OPTIONALLY ENCLOSED BY '<%=odiRef.getSrcTablesList("", "[FILE_ENC_FIELD]", "", "").substring(0,1)%>' AND '<%=odiRef.getSrcTablesList("", "[FILE_ENC_FIELD]", "", "").substring(1,2)%>' <%}%>
              <%=odiRef.getUserExit("EXT_MISSING_FIELD")%>
                   <%=odiRef.getColList("", "[CX_COL_NAME]\t"+
                        "<?=extTabColFormat.getExtTabFormat(\u0022[CX_COL_NAME]\u0022,\u0022[SOURCE_DT]\u0022, \u0022DEST_WRI_DT\u0022, \u0022[COL_FORMAT]\u0022, \u0022[BYTES]\u0022, \u0022[LONGC]\u0022, \u0022[SCALE]\u0022)?>"
                        , ",\n\t\t\t", "","")%>          
    <%}%>     LOCATION (<%=odiRef.getSrcTablesList("", "'[RES_NAME]'", "", "")%>)
    <%=odiRef.getUserExit("EXT_PARALLEL")%>
    REJECT LIMIT <%=odiRef.getUserExit("EXT_REJECT_LIMIT")%>
    # Create the statement
    myStmt = myCon.createStatement()
    # Execute the trigger creation
    myStmt.execute(createTblCmd)
    myStmt.close()
    myStmt = None
    # Commit, just in case
    myCon.commit().
         at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:738)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:461)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
         at java.lang.Thread.run(Thread.java:662)

    The issue is encountered because the text delimiter used in the source file did not consist of a pair of delimiters.
    Please see support Note [ID 1469977.1] for details.

  • I want to use iTunes Match but want to make make sure music will be downloaded from my iPhone (which has all my music) and not just my MacBook to the cloud.

    I want to use iTunes Match but want to make make sure music will be downloaded from my iPhone (which has all my music) and not just my MacBook to the cloud.

    Hi,
    All your music need to be in your iTunes library on your computer. You will need to copy your music from your iPhone to your computer.
    Read this user tip Recover your iTunes library from your iPod or iOS device
    Jim

  • Transferng from songs from an ipod which has songs from an itunes no longer in use to another itunes

    transferng from songs from an ipod which has songs from an itunes no longer in use to another itunes

    You can transfer iTunes purchases by:
    iTunes Store: Transferring purchases from your iPhone, iPad, or iPod to a computer
    By using the third-party programs discussed in this previous discussion you can transfer other stuff to a computer.
    Best iPod to PC

  • Launching from web a form in debug mode (?!)

    Hello,
    I have Developer Suite 10g with WebUtil 1.6. I am playing with a form, which has an attached library from which use a function. This function doesn't function properly and I would like to debug it.
    Problem: in Forms Developer, when I launch the form in DEBUG MODE, it launches my form using the webutil configuration section. The URL looks like this:
    http://localhost:8889/forms/frmservlet?config=webutil
    I need to launch the form with another configuration section and at the same time in debug mode.
    How should I do this?
    Thank you in advacne for the help.
    daniela

    forms-builder:
    look at Edit-Preferences, go to the last tab (Runtime) and then look at "Application Server URL"
    there you can change the used section of your forms builder configuration

  • Is it possible to extract an annotation from a pdf document using sdk in c#

    we need to extract annotations from multiple pdf files and we need to import to a different PDF file.
    Thanks in advance.

    so if we are dealing with desktop system is it possible ?

  • Extract audio-only from DVD. Which container format?

    I've got a couple of music dvd's that contain nice DTS surround sound audio tracks. The video of these DVD's is pretty much uninteresting, so now I'm looking for a way to rip/extract the DTS track from these dvds (without converting them, I want to be able to pass the original DTS to my receiver) and put them in some container format that can easily parsed by music players (ie. it would be nice to have some metadata).
    Which container format would be the most suitable? Ogg?
    And which tool can do this?
    Handbrake forces you to use the video as well, so that's not a viable option.

    GogglesGuy wrote:Thanks, I'll take a look at it. My favorite music player and manager doesn't index mka files yet, but I'll give it a try and see if it works.
    Don't take my word for it, but I've heard that the developer of the music player that you use is a pretty smart dude. Have you considered e-mailing yourself a feature request?

  • How can we remove the key from the dataset which has json

    uid
    id
    Json
    4588
    51
    { "key": "1/0/234", "element1":{ "a":10 "b": "test1" } }
    4589
    52
    { "key": "1/0/234", "element1":{ "a":10 "b": "test1" } }
    4590
    53
    { "key": "1/0/234", "element1":{ "a":10 "b": "test1" } }
    I have the above dataset resulting from merge operation .
    UID -Integer data type
    ID- Integer data type
    Json- String data type holding json document
    How can I remove  the " key" element from the json field  and make my dataset look like 
    Expected output which will strip of key value pair from the json column
    uid
    id
    Json
    4588
    51
    { "element1":{ "a":10 "b": "test1" } }
    4589
    52
    { "element1":{ "a":10 "b": "test1" } }
    4590
    53
    { "element1":{ "a":10 "b": "test1" } }
    Mudassar

    Hello Mudassar,
    In SQL Server / T-SQL we don't have a native JSON support, so you would have to implement a solution on your own = parsing the string and remove the "Key" + it's value.
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

  • How do I get my music back from a computer which has been recently serviced. I am able to log into my itunes account but lost half of my library which was music I imported originally.

    I need help. I recently had my cpu serviced by Geek Squad, They completely renamed the CPU and now all of the music I imported is gone. I dont even have my library anymore. I can usually click on itunes and play music from my library. Its all gone. I have authorized this "new" computer for my account but I still dont have my library. I even went in and deauthorized the computer under the old name. I am very frustrated, as i have some songs which were purchased on itunes on my phone but not all of the music that was imported from CDs. Most of which I got rid of once I imported them into my library. all I want is my entire library back. On my old iphone 3g, which I let my kids use, my entire library is there but on my 4gS, i only have the music which was purchased through itunes. I miss my songs and have no idea where to begin with this process.

    Your  music will only be where you put it.
    It has always been very basic to always maintain a backup cop of your computer.
    Certainly you did not have our computer serviced without making sure your backup copy was up to date.
    In some countries you can redownload some content:
    Downloading past purchases from the App Store, iBookstore, and ...

  • Selecting data from a table which has a LONG column

    hi all,
    In the table user_views there is a LONG column. Now i want to select rows from that table based on this LONG column. like....
    select *from user_views where text like '%account%;
    but i am getting the error.."ORA-00932: Inconsistent datatypes:Expected NUMBER got LONG".
    How do I overcome this error.
    Please give me some suggestions.
    Thanks & Regards,
    Vijay

    In the table user_views there is a LONG column. Now i want to select rows from that >table based on this LONG column. like....LONG columns cannot appear in a WHERE or
    AND clause.

  • How to delete code from Subject Prof which has been used in transaction

    Dear Experts,
    I want to delete code that has already been used in transaction. I know in can flag code group to cannot be used any more and can create new code group. But I cannot change code group and want to delete code from code group. Please help.
    Thanks and regards
    Pankaj Kumar

    Hi Pankaj
    Can you re-assign assign another code to the transactions.
    The system is not going to respond well if you just delete them.
    Regards
    Arden

  • Deleting music from my iphone which has been deleted from itunes on my mac

    Hi,
    When I downloaded Angry Birds from the Mac store, the sound effects appeared in my itunes library on my Mac. I have deleted them from the itunes library on my mac, but they are still on my iphone. ANy ideas on how I can delete them will be gratefully received!
    Many thanks and merry Christmas
    Alison

    Thanks so much, it works! Appreciate you taking the time to help.
    All good wishes
    Alison x

Maybe you are looking for