What is claimed is:
1. For use in an apparatus in which a punch is moved axially relative to a die to form a joint, and in which the punch and the die are mounted on a frame, with the die removably supported in a bore, a jig for determining axial alignment or misalignment of the punch with respect to the die, wherein:
the jig has a shank and a head,
the jig is constructed to substitute for a die, with the head adjacent to the frame and the shank fitted in the bore,
the head has an axial hole into which the punch can be inserted when the axis of the punch is aligned with the axis of the bore or when misalignment is within a predetermined range, and
a portion of the head adjacent to the hole is constructed to permit viewing of the relationship of the punch and the hole.
2. A jig according to claim 1, wherein the head has an abutment surface constructed to engage a nosepiece of the apparatus having an opening through which the punch moves toward the hole in the head of the jig.
3. A jig according to claim 1, wherein the head has at least one notch to permit viewing of the relationship of the punch and the hole in the head.
4. A jig according to claim 1, wherein both the shank and the head are cylindrical.
5. A jig according to claim 1, wherein the height of the head extending from the frame when the jig is seated on the frame is substantially the same as the height of a portion of a die extending from the frame when the die is seated on the frame.
6. A method for use in determining axial alignment or misalignment of a punch with respect to a die, the punch being supported on a frame and the frame having a bore in which a die can be removably inserted, the method comprising:
providing a jig having a shank and a head, the head having an axial hole for receiving the punch and being constructed to permit viewing of the relationship of the punch and the hole;
seating the jig on the frame with the shank of the jig in the bore, with the head of the jig adjacent to the frame, and with the hole in the head facing the punch;
moving the punch toward the hole for insertion of the punch into the hole; and
determining whether the punch is sufficiently aligned with the hole to permit the punch to enter the hole.
7. A method according to claim 6, wherein the punch is moved toward the hole through a nosepiece and wherein the head has a nosepiece-engaging surface with a height from the frame corresponding to the height of a portion of a die seated on the frame.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for software security, comprising:
executing a software program;
generating a run-time signature variable;
updating the run-time signature variable as the software program executes;
comparing the run-time signature variable with a pre-computed signature; and
detecting a deviation in control flow of the software program based on the comparison between the run-time signature variable and the pre-computed signature.
2. The method of claim 1, wherein updating the run-time signature variable as the software program executes comprises:
receiving a signature value for a current point of execution in the software program; and
storing the signature value as the run-time signature variable.
3. The method of claim 2, wherein the current point of execution can be one or more of, a beginning of a function, an end of a function, immediately before a call instruction, and immediately after a call instruction.
4. The method of claim 1, wherein code for updating the signature variable is inserted into the software program statically.
5. The method of claim 1, wherein code for updating the signature variable is inserted into the software program at one or more of, a beginning of a function, an end of a function, immediately before a call instruction, and immediately after a call instruction.
6. The method of claim 1, wherein the pre-computed signature is generated prior to executing the software program.
7. The method of claim 6, wherein the pre-computed signature represents an expected value for the run-time signature variable based on a control flow of the software program.
8. A computer readable medium having computer executable instructions for performing a method for software security, wherein the computer executable instructions comprise computer executable code portions for:
executing a software program;
generating a run-time signature variable;
updating the run-time signature variable as the software program executes;
comparing the run-time signature variable with a pre-computed signature; and
detecting a deviation in control flow of the software program based on the comparison between the run-time signature variable and the pre-computed signature.
9. The computer readable medium of claim 8, wherein updating the signature variable as the software program executes comprises:
receiving a signature value for a current point of execution in the software program; and
storing the signature value as the run-time signature variable.
10. The computer readable medium of claim 9, wherein the current point of execution can be one or more of, a beginning of a function, an end of a function, immediately before a call instruction, and immediately after a call instruction.
11. The computer readable medium of claim 8, wherein code for updating the signature variable is inserted into the software program statically.
12. The computer readable medium of claim 8, wherein code for updating the signature variable is inserted into the software program at one or more of, a beginning of a function, an end of a function, immediately before a call instruction, and immediately after a call instruction.
13. The computer readable medium of claim 8, wherein the pre-computed signature is generated prior to executing the software program.
14. The computer readable medium of claim 13, wherein the pre-computed signature represents an expected value for the run-time signature variable based on a control flow of the software program.
15. A system for software security, comprising:
a memory, configured for storing a software program, a run-time signature variable, and a pre-computed signature; and
a processor, coupled to the memory, configured for
executing the software program,
generating the run-time signature variable,
updating the run-time signature variable as the software program executes,
comparing the run-time signature variable with the pre-computed signature, and
detecting a deviation in control flow of the software program based on the comparison between the run-time signature variable and the pre-computed signature.
16. The system of claim 15, wherein updating the signature variable as the software program executes comprises:
receiving a signature value for a current point of execution in the software program; and
storing the signature value as the run-time signature variable.
17. The system of claim 16, wherein the current point of execution can be one or more of, a beginning of a function, an end of a function, immediately before a call instruction, and immediately after a call instruction.
18. The system of claim 15, wherein code for updating the signature variable is inserted into the software program at one or more of, a beginning of a function, an end of a function, immediately before a call instruction, and immediately after a call instruction.
19. The system of claim 15, wherein the pre-computed signature is generated prior to executing the software program.
20. The system of claim 19, wherein the pre-computed signature represents an expected value for the run-time signature variable based on a control flow of the software program.