How do I alter the bytes of a Class file to add calls to the methods?

If i had the bytes of a class file, and I wanted to alter the bytes that constitute each method for the class so that it included a call to the security manager, how would i do it?
1. How would I know which bytes were the opening of a method?
2. how would I know what the name of the method is?
3. How would I create bytes for something like:
   SecurityManager sm = System.getSecurityManager().checkPermission(thismeth, subject);
4. I assume that if by some miracle I can do the above, then all I have to do is call defineClass(...) in ClassLoader and send it the new bytes, right?
Thanks to all!

OK, if it will help anyone get me the answers here, I found a class on the internet that can read a class file and tell you where in the bytes a method occurs and what its name is, and how long it is. What I need now is how to convert a call into the correct manner of bytes.
For example, so I could add the bytes that would do:
   System.out.println("Added!");
The class that reads a class file:
/* Inspector.java by Mark D. LaDue */
/* June 24, 1997 */
/* Copyright (c) 1997 Mark D. LaDue
   You may study, use, modify, and distribute this example for any purpose.
   This example is provided WITHOUT WARRANTY either expressed or implied.  */
/* This Java application analyzes the entries in the constant pool and locates
   the code arrays in a Java class file. Each entry in the constant pool
   yields the following information:
   Index     Tag     Reference(s)/Value(s)
   where "Index" is its position within the class file's constant pool,
   "Tag" is the official tag number for that type of entry, and
   "Reference(s)/Value(s)" contains the constant pool information
   according to the entry's type.  (See Lindholm and Yellin's "The Java
   Virtual Machine Specification" for details.)  For each code array in
   the class file, its starting byte, its total length, and the name of
   the method in which it occurs are given.  Combining this information
   with the information yielded by the humble "javap" utility gives one
   sufficient information to hack the code arrays in Java class files. */
import java.io.*;
class Inspector {
    public static void main(String[] argv) {
        int fpointer = 8; // Where are we in the class file?
        int cp_entries = 1; // How big is the constant pool?
        int Code_entry = 1; // Where is the entry that denotes "Code"?
        int num_interfaces = 0; // How many interfaces does it use?
        int num_fields = 0; // How many fields are there?
        int num_f_attributes = 0; // How many attributes does a field have?
        int num_methods = 0; // How many methods are there?
        int num_m_attributes = 0; // How many attributes does a method have?
        int[] tags; // Tags for the constant pool entries
        int[] read_ints1; // References for some constant pool entries
        int[] read_ints2; // References for some constant pool entries
        long[] read_longs; // Values for some constant pool entries
        float[] read_floats; // Values for some constant pool entries
        double[] read_doubles; // Values for some constant pool entries
        StringBuffer[] read_strings; // Strings in some constant pool entries
        int[] method_index;
        long[] code_start;
        long[] code_length;
// How on earth do I use this thing?
        if (argv.length != 1) {
            System.out.println("Try \"java Inspector class_file.class\"");
            System.exit(1);
// Start by opening the file for reading
        try {
            RandomAccessFile victim = new RandomAccessFile(argv[0], "r");
// Skip the magic number and versions and start looking at the class file
            victim.seek(fpointer);
// Determine how many entries there are in the constant pool
            cp_entries = victim.readUnsignedShort();
            fpointer += 2;
// Set up the arrays of useful information about the constant pool entries
            tags = new int[cp_entries];
            read_ints1 = new int[cp_entries];
            read_ints2 = new int[cp_entries];
            read_longs = new long[cp_entries];
            read_floats = new float[cp_entries];
            read_doubles = new double[cp_entries];
            read_strings = new StringBuffer[cp_entries];
//Initialize these arrays
            for (int cnt = 0; cnt < cp_entries; cnt++) {
                tags[cnt] = -1;
                read_ints1[cnt] = -1;
                read_ints2[cnt] = -1;
                read_longs[cnt] = -1;
                read_floats[cnt] = -1;
                read_doubles[cnt] = -1;
                read_strings[cnt] = new StringBuffer();
// Look at each entry in the constant pool and save the information in it
            for (int i = 1; i < cp_entries; i++) {
                tags[i] = victim.readUnsignedByte();
                fpointer++;
                int skipper = 0;
                int start = 0;
                int test_int = 0;
                switch (tags) {
case 3: read_ints1[i] = victim.readInt();
fpointer += 4;
break;
case 4: read_floats[i] = victim.readFloat();
fpointer += 4;
break;
case 5: read_longs[i] = victim.readLong();
fpointer += 8;
i++;
break;
case 6: read_doubles[i] = victim.readDouble();
fpointer += 8;
i++;
break;
case 7:
case 8: read_ints1[i] = victim.readUnsignedShort();
fpointer += 2;
break;
case 9:
case 10:
case 11:
case 12: read_ints1[i] = victim.readUnsignedShort();
fpointer += 2;
victim.seek(fpointer);
read_ints2[i] = victim.readUnsignedShort();
fpointer += 2;
break;
// This is the critical case - determine an entry in the constant pool where
// the string "Code" is found so we can later identify the code attributes
// for the class's methods
case 1: skipper = victim.readUnsignedShort();
start = fpointer;
fpointer += 2;
victim.seek(fpointer);
for (int cnt = 0; cnt < skipper; cnt++) {
int next = victim.readUnsignedByte();
switch (next) {
case 9: read_strings[i].append("\\" + "t");
break;
case 10: read_strings[i].append("\\" + "n");
break;
case 11: read_strings[i].append("\\" + "v");
break;
case 13: read_strings[i].append("\\" + "r");
break;
default: read_strings[i].append((char)next);
break;
victim.seek(++fpointer);
victim.seek(start);
if (skipper == 4) {
fpointer = start + 2;
victim.seek(fpointer);
test_int = victim.readInt();
if (test_int == 1131373669) {Code_entry = i;}
fpointer = fpointer + skipper;
else {fpointer = start + skipper + 2;}
break;
victim.seek(fpointer);
// Skip ahead and see how many interfaces the class implements
fpointer += 6;
victim.seek(fpointer);
num_interfaces = victim.readUnsignedShort();
// Bypass the interface information
fpointer = fpointer + 2*(num_interfaces) + 2;
victim.seek(fpointer);
// Determine the number of fields
num_fields = victim.readUnsignedShort();
// Bypass the field information
fpointer += 2;
victim.seek(fpointer);
for (int j=0; j<num_fields; j++) {
fpointer += 6;
victim.seek(fpointer);
num_f_attributes = victim.readUnsignedShort();
fpointer = fpointer + 8*(num_f_attributes) + 2;
victim.seek(fpointer);
// Determine the number of methods
num_methods = victim.readUnsignedShort();
fpointer += 2;
// Set up the arrays of information about the class's methods
method_index = new int[num_methods];
code_start = new long[num_methods];
code_length = new long[num_methods];
//Initialize these arrays
for (int cnt = 0; cnt < num_methods; cnt++) {
method_index[cnt] = -1;
code_start[cnt] = -1;
code_length[cnt] = -1;
// For each method determine the index of its name and locate its code array
for (int k=0; k<num_methods; k++) {
fpointer += 2;
victim.seek(fpointer);
method_index[k] = victim.readUnsignedShort();
fpointer += 4;
victim.seek(fpointer);
// Determine the number of attributes for the method
num_m_attributes = victim.readUnsignedShort();
fpointer += 2;
// Test each attribute to see if it's code
for (int m=0; m<num_m_attributes; m++) {
int Code_test = victim.readUnsignedShort();
fpointer += 2;
// If it is, record the location and length of the code array
if (Code_test == Code_entry){
int att_length = victim.readInt();
int next_method = fpointer + att_length + 4;
fpointer += 8;
victim.seek(fpointer);
code_length[k] = victim.readInt();
code_start[k] = fpointer + 5;
fpointer = next_method;
victim.seek(fpointer);
// Otherwise just skip it and go on to the next method
else {
fpointer = fpointer + victim.readInt() + 4;
victim.seek(fpointer);
// Print the information about the Constant Pool
System.out.println("There are " + (cp_entries - 1) + " + 1 entries in the Constant Pool:\n");
System.out.println("Index\t" + "Tag\t" + "Reference(s)/Value(s)\t");
System.out.println("-----\t" + "---\t" + "---------------------\t");
for (int i = 0; i < cp_entries; i++) {
switch (tags[i]) {
case 1: System.out.println(i + "\t" + tags[i] + "\t" + read_strings[i].toString());
break;
case 3: System.out.println(i + "\t" + tags[i] + "\t" + read_ints1[i]);
break;
case 4: System.out.println(i + "\t" + tags[i] + "\t" + read_floats[i]);
break;
case 5: System.out.println(i + "\t" + tags[i] + "\t" + read_longs[i]);
break;
case 6: System.out.println(i + "\t" + tags[i] + "\t" + read_doubles[i]);
break;
case 7:
case 8: System.out.println(i + "\t" + tags[i] + "\t" + read_ints1[i]);
break;
case 9:
case 10:
case 11:
case 12: System.out.println(i + "\t" + tags[i] + "\t" + read_ints1[i] + " " + read_ints2[i]);
break;
System.out.println();
// Print the information about the methods
System.out.println("There are " + num_methods + " methods:\n");
for (int j = 0; j < num_methods; j++) {
System.out.println("Code array in method " + read_strings[method_index[j]].toString() + " of length " + code_length[j] + " starting at byte " + code_start[j] + ".");
System.out.println();
// All the changes are made, so close the file and move along
victim.close();
} catch (IOException ioe) {}

Similar Messages

  • How can you insert "Page Break" in a pdf file so you will specify the pages

    How can you insert "Page Break" in a pdf file so you will specify the pages

    How / from what was the PDF originally created?  It would be easiest to insert page breaks into the original document, then recreate the PDF.

  • How can I input read a line from a file and output it into the screen?

    How can I input read a line from a file and output it into the screen?
    If I have a file contains html code and I only want the URL, for example, www24.brinkster.com how can I read that into the buffer and write the output into the screen that using Java?
    Any help will be appreciate!
    ======START FILE default.html ========
    <html>
    <body>
    <br><br>
    <center>
    <font size=4 face=arial color=#336699>
    <b>Welcome to a DerekTran's Website!</b><br>
    Underconstructions.... <br>
    </font> </center>
    <font size=3 face=arial color=black> <br>
    Hello,<br>
    <br>
    I've been using the PWS to run the website on NT workstation 4.0. It was working
    fine. <br>
    The URL should be as below: <br>
    http://127.0.0.1/index.htm or http://localhost/index.htm
    <p>And suddently, it stops working, it can't find the connection. I tried to figure
    out what's going on, but still <font color="#FF0000">NO CLUES</font>. Does anyone
    know what's going on? Please see the link for more.... I believe that I setup
    everything correctly and the bugs still flying in the server.... <br>
    Thank you for your help.</P>
    </font>
    <p><font size=3 face=arial color=black>PeerWebServer.doc
    <br>
    <p><font size=3 face=arial color=black>CannotFindServer.doc
    <br>
    <p><font size=3 face=arial color=black>HOSTS file is not found
    <br>
    <p><font size=3 face=arial color=black>LMHOSTS file
    <br>
    <p><font size=3 face=arial color=black>How to Setup PWS on NT
    <BR>
    <p><font size=3 face=arial color=black>Issdmin doc</BR>
    Please be patient while the document is download....</font>
    <font size=3 face=arial color=black><br>If you have any ideas please drop me a
    few words at [email protected] </font><br>
    <br>
    <br>
    </p>
    <p><!--#include file="Hits.asp"--> </p>
    </body>
    </html>
    ========= END OF FILE ===============

    Hi!
    This is a possible solution to your problem.
    import java.io.*;
    class AddressExtractor {
         public static void main(String args[]) throws IOException{
              //retrieve the commandline parameters
              String fileName = "default.html";
              if (args.length != 0)      fileName =args[0];
               else {
                   System.out.println("Usage : java AddressExtractor <htmlfile>");
                   System.exit(0);
              BufferedReader in = new BufferedReader(new FileReader(new File(fileName)));
              StreamTokenizer st = new StreamTokenizer(in);
              st.lowerCaseMode(true);
              st.wordChars('/','/'); //include '/' chars as part of token
              st.wordChars(':',':'); //include ':' chars as part of token
              st.quoteChar('\"'); //set the " quote char
              int i;
              while (st.ttype != StreamTokenizer.TT_EOF) {
                   i = st.nextToken();
                   if (st.ttype == StreamTokenizer.TT_WORD) {          
                        if (st.sval.equals("href")) {               
                             i = st.nextToken(); //the next token (assumed) is the  '=' sign
                             i = st.nextToken(); //then after it is the href value.               
                             getURL(st.sval); //retrieve address
              in.close();
         static void getURL(String s) {     
              //Check string if it has http:// and truncate if it does
              if (s.indexOf("http://") >  -1) {
                   s = s.substring(s.indexOf("http://") + 7, s.length());
              //check if not mailto: do not print otherwise
              if (s.indexOf("mailto:") != -1) return;
              //printout anything after http:// and the next '/'
              //if no '/' then print all
                   if (s.indexOf('/') > -1) {
                        System.out.println(s.substring(0, s.indexOf('/')));
                   } else System.out.println(s);
    }Hope this helps. I used static methods instead of encapsulating everyting into a class.

  • How do i stop notifications from ringing while im on a phone call on the iphone 4s

    how do i stop notifications from ringing while im on a phone call on the iphone 4s?

    Basel,
    I'm not sure why these folks are having trouble understanding your request. I will dumb it down for them. Is there an option to have the iPhone only provide me with notifications when I'm not on the phone. Having my $800ish phone buzz and interrupt my phone conversation (after all primary function of this iPhone is being a phone) to let me know one of my Facebook friends has challenged me to a game of words with friends. I don't want my iPhone to not notify me at all. It can notify me after the call (again primary function) is complete. Going through menus and turning off notifications all together is absolutely silly. I wouldn't want to have to navigate through the menus and turn them off and then on an then off just to make or receive a phone call. Could you imagine answering you phone with, "hey, just wait I have to turn my notifications off so I can have this conversation." every time you wanted to talk on the phone.
    So yeah. Again not sure why they were having trouble with understanding you. I hope this helps clarify it for them.
    Randy
    Ex Apple tier two support agent.

  • How to reference a set of Flash-protected f4v files in a manifest when the files are on Cloudfront?

    I have: a self-created AMS 5.0 running on Amazon.
    Using latest OSMF player.
    I'm Using EZDRM for Flash Access protection.
    I have a dynamic bitrate f4m created with the F4F packager. It contains data for three bitrates.
    I know that my S3 bucket and Cloudfront distribution are generally working because I can play a set of non-drm files using a RTMP-style manifest
    I am successfully  issuing the license and playing the videos using that manifest when the files are located on the AMS itself.
    The working call to the manifest is this: http://media.blah.com/vod/BlahBlah/Blah.f4m
    I think the relevant portion of the manifest is this:
                      streamId="Blah-1000" 
    url="Blah-1000"
    bitrate="1000"
    bootstrapInfoId="bootstrap4543"
    drmAdditionalHeaderId="drmMetadata8495"
    I think the correct way to approach this it to leave the manifest on AMS and manually change the url in the manifest for each video file
    I've tried changing the url in the manifest to point to the cloudfront location
    http://blahblah.cloudfront.net/cfx/st/mp4:Blah
    But I simply get back: "We are unable to connect to the content you requested."
    Your guidance greatly appreciated.
    Ken Florian

    Hi,
    I created a project (JDeveloper) with local xsd-files and tried to delete and recreate them in the structure pane with references to a version on the application server. After reopening the project I deployed it successfully to the bpel server. The process is working fine, but in the structure pane there is no information about any of the xsds anymore and the payload in the variables there is an exception (problem building schema).
    How does bpel know where to look for the xsd-files and how does the mapping still work?
    This cannot be the way to do it correctly. Do I have a chance to rework an existing project or do I have to rebuild it from scratch in order to have all the references right?
    Thanks for any clue.
    Bette

  • How do we change the name of a sound file once it is in the session?

    how do we change the name of a sound file once it is in the session?
    Thanks
    Steve z

    The only way that you can rename the audio file from within Audition is to do a Save As from the Waveform view AFAIAA. You can rename clips by clicking in the name box at the top of the Properties window or by right clicking on the clip and selecting Rename from the drop down menu (this will automatically open the Properties window if it isn't already open).

  • How can I hide constant variable value in class file?

    hi,everybody.
    I am having a problem with constant variable which define connectted with database(URL,username,password).
    when I used UltraEdit to open class file, I can see constant variable value.
    Thanks!

    OK, let's see. Firstly, if I may correct your terminology, the phrase "constant variable" is a paradox (I think that is the right word). You have either one of the other. You declaration is either 'constant' or 'variable' (ie: it can change at run-time or it doesn't). People often use the term 'variable' and 'declaration' interchangably which is where the confusion lies.
    Anyway, onto the real problem. It seems that you want to protect your connection details (in particular the password, I would guess). Unfortunately, Java compiles not to machine-code, but byte-code which is semi-human-readable. So people, if they are inquisitive enough, will always be able to see it if they try hard enough.
    You can do one of two things:
    (1) Get an 'obfusticator'. An obfusticator is something that you run over Java source files and it completely messes it up (without modifying functionality). You then compile and the original source is such gibberish that the byte-code is very difficult to understand. However, the password will still be in there somewhere.
    (2) Don't put sensitive information into your source. Have this kind of info in external files (encrypted) and allow your class to read this file, decrypt, and use it.
    Hope that helps.
    Ben

  • "Windows cannot access the specified device,path, or file.You may not have the appropiate permission

    We subscribe to a service called "Vault" which provies its documents in encrypted PDFs using the etd format. As well as Digitial Editions we have Acrobat Reader 9 installed on our PCs (Windows XP,SP2). When a user tries to download any of the documents they are seeing the following error:
    "Windows cannot access the specified device,path, or file.You may not have the appropiate permissions to access the item."
    However, if they open Digitial Edtions (or have had it open at some point in the past) before they download the document it opens without any problems. We use ZEN works to manage our PCs, and we use something called Dynamic Local User (DLU) which means that when a students logs into a PC the user's local Windows account is created on the fly, and then when they log out it is then deleted. This means that they are effectively using Digitial Edtions for the first time everytime they log into a PC.
    As anyone else seen the above error? Also, is there a way of stopping it? What does Digital Editions do the first time it is opened? Are there registry keys that we can add, which emulates the opening of Digital Editions so it doesn't have to be opened first before we can download the Vault documents?
    Any advice/tips would be most welcome.

    Hi
    Some required information are needed for us to help you.
    Hi NabeelOmer,
    We wonder if you have taken any action such as system restore after this issue occurred.
    You might also try this command to restore your access control list.
    Run this command to navigate to the drive letter, example is D
    D:
    To reset all permissions, run this command
    icacls * /reset /t /c /q
    Visual Studio is a very invasive program and which provides the ability to enumerate projects and solutions for system, user should never try uninstalling it manually without any guidance.
    Visual Studio made changes for your whole system, if the file has been moved or deleted this error would occur.
    Since you mentioned that you get this error almost everywhere even in control panel. We suggest you repair/reinstall your Visual Studio first and check if it could be fixed.
    How to: Repair Visual Studio
    https://msdn.microsoft.com/en-us/library/aa983433%28v=vs.90%29.aspx?f=255&MSPPError=-2147217396
    Regards
    D. Wu

  • Panagon and MGETDOC Application:open a doc, the doc goes to .zip file instead of going to the doc directly

    Application: FileNet content SG (Panagon) and MGETDOC(Web application)
    Issue: when open a doc, the doc goes to .zip file instead of going to the doc directly. Only this issue happens for .xlsx,docs and pptx document.
    Note: On all client machine, we are using office 2007 and IE8 browser
    Cause: On 16<sup>th</sup> July 2013, . Net framework 4.5 is install on all our GI-D desktop machines. There after the issue is started .
    Application Background: Applications built on .net framework 1.1 and it can support up to 4.0 version on client machine to view the documents through panagon and MGETDOC application. Panagon (Filenet content services) is
    not supported in .net framework 4.5 and above.
    Work around: After I had troubleshooting and tested with one of our  system which has .net framework 4.5, IE8 does not support with HTML5 and tested with IE9 and Chrome, documents were able to open successfully.
    I had removed .Net framework 4.5 uninstalled and able to open the documents w/o any issue. And also we had give the work around as if the doc goes to zip file, they open the doc by removing the . zip extension and they can save it as .xlsx or docx file and
    they can able to open file.
    Please let us know if you there is a fix to export the files through framework 4.5 and do contact us if you need further details, we shall discuss on the same. Thank you for your support. Request you to email @
    [email protected]/[email protected]
    Candida

    Presumably you're using Safari?
    You can change that in Safari Preferences (at least in 5.0.3, might be different in 5.1.x)
    The checkbox at the bottom will do that for you. However! I strongly advise against permitting that; there have been, and no doubt will be again, malware that uses that to bypass authentication.
    Just select Desktop as the default download location so you don't have to dig for the files.

  • At the time of generating .class files i got below warning.

    Hi all,
    i develop one oaf page and move to server and generate .class files.
    at the time of generate .class files i got below error.
    plz help me.
    *[appldev@wnsfinapp webui]$ javac AgingBucketsCO.java -deprecation*
    AgingBucketsCO.java:114: warning: setRedirectURL(java.lang.String) in oracle.apps.fnd.framework.webui.OAPageContext has been deprecated
    pageContext.setRedirectURL(
    *^*
    *1 warning*
    Thanks
    Seshu
    Edited by: its urgent on Jan 30, 2012 4:47 AM

    Hi Pratap,
    thanks for your replay,
    i register the page in apps its working fine.
    but my page having go button.normally whenever goto the GO button it display hyperlink.
    in my local machine displays hyperlink.after move to server it displays cursor.
    Plz help me
    Thanks
    Seshu.

  • I've reinstalled OS X 10.7.5 using the Apple servers but my files were not erased, has the HD been reformatted and 10.7.5 reinstalled?

    I've reinstalled OS X 10.7.5 using the Apple servers but my files were not erased, has the HD been reformatted and 10.7.5 reinstalled?

    Reinstalling OS X does not erase your files.
    Compare
    OS X Lion: Reinstall Mac OS X
    and
    OS X Lion: Erase and reinstall Mac OS X - Apple Support

  • D750 Nikon are the camera raw or DNG file ready to work in the Raw format in Lightroom?

    D750 Nikon are the camera raw or DNG file ready to work in the Raw format in Lightroom?

    Crazy idea - do a site search for "D750"...

  • There is a problem with the phone app. When I want to call somebody the phone screen come too late. This will cause a problem if I call the wrong number

    There is a problem with the phone app. When I want to call somebody the phone screen come too late. This will cause a problem if I call the wrong number.  Apple please please please fix it as soon as possible and also check why the phone is always restart. I prefer to let us use the iOS 7 until you finished from the IOS 8 because Ios 8 still under construction  there is a tones problems in the system.  And this Will cause undirect problem for the iPhone 6

    There is no apple here in this user to user technical forum.
    Do this Use iTunes to restore your iOS device to factory settings

  • Hi, never used support before - here goes! My Mac G4 MDD no longer shows the start up hard drive icon. The one with all my files on! It shows the other 3 hard drive icons and boots up OK. Has my start up hard drive failed? Can it be fixed? Thanks.

    Hi, never used support before - here goes!
    My Mac G4 MDD no longer shows the start up hard drive icon. The one with all my files on!
    It shows the other 3 hard drive icons and boots up OK.
    Has my start up hard drive failed? Can it be fixed?
    Thanks.
    Machine Name: Power Mac G4
      Machine Model: PowerMac3,6
      CPU Type: PowerPC G4  (3.2)
      Number Of CPUs: 2
      CPU Speed: 1.25 GHz
      L2 Cache (per CPU): 256 KB
      L3 Cache (per CPU): 1 MB
      Memory: 2 GB
      Bus Speed: 167 MHz
      Boot ROM Version: 4.5.7f1

    Doesn't sound like any hard drive failure to me - more a Finder preference.
    Finder -> Preferences -> General -> Show these items on the desktop -> Hard disks
    The startup disk is sometimes treated differently from other disks (such as external and network disks) and I'm guessing this is a simple preference setting, although I might be wrong.

  • How can I display the front panel of the dinamically loaded VI on the cliente computer, the VI dinamically loaded contains files, I want to see the files that the server machine has, in the client machine

    I can successfully view and control a VI remotly. However, the remote VI dinamically loads another VI, this VI loaded dinamically is a VI that allows open others VIs, I want to see the files that contains the server machine, in the client machine, but the front panel of the dinamic VI appears only on the server and not on the client, How can I display the fron panel with the files of the server machine of the dinamically loaded VI on the client computer?
    Attachments:
    micliente.llb ‏183 KB
    miservidor.llb ‏186 KB
    rdsubvis.llb ‏214 KB

    I down loaded your files but could use some instructions on what needs run.
    It seems that you are so close yet so far. You need to get the data on the server machine over to the client. I generally do this by doing a call by reference (on the client machine) of a VI that is served by the server. THe VI that executes on the server should pass the data you want to diplay via one of its output terminals. You can simply wire from this terminal (back on the client again) to an indicator of your choosing.
    Now theorectically, I do not think that there is anything that prevents use from getting the control refnum of the actual indicator (on the server) of the indicator that has the data, and read its "Value" using a property node. I have never tried this idea but it seems t
    hat all of the parts are there. You will need to know the name of the VI that holds the data as well as the indicator's name. You will also have to serve all VI's. This is not a good idea.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

Maybe you are looking for

  • Is there a limit on how many times I can install my CS5?

    I own CS5 and have it installed on 2 computers. I need to upgrade my computers and am wondering if I am going to have any trouble installing CS5 onto new machines. Is there a limit on how many times I can install the program? Do I have to verify owne

  • I want to sync my Outlook calendar with iCloud but NOT my contacts

    I use Outlook at home (on a PC using Windows 7) and that's where the vast majority of my work is done. I would like to use iCloud on the PC to synchronize my Outlook calendar with my other iOS devices (iPhone, iPad), but I do NOT want my contacts sha

  • Movie artwork being replaced by album artwork

    A few of the movies on my iPad air are having the movie artwork being randomly replaced by album artwork. For example, my Goodfellas artwork was randomly replaced by Albert King: Born Under a Bad Sign. On my MacBook Pro, in iTunes the artwork shows u

  • IPad2 Passcode help

    I have never set up a passcode to unlock my iPad. Suddenly it is asking for a passcode to unlock the screen. I used it before bed and no one has had access to it since then. Now it asks for a code that I don't have. How can I fix this problem?

  • Need help buying Snow Leopard.

    Hi. I'm new to Apple in the sense of iPhone, iPad but only Windows on PC. Now, however, I want to swap over to Apple completely but the Apple site won't let me buy any OS's. Very confusing.