The UZAP utility enables you to define user-restricted data replacements (zaps) for load modules without affecting any other user sessions.
This utility is applicable to load modules residing in the COMPLIB load library chain or in Com-plete's program lookaside buffer and executing in the Com-plete threads. No modification of the original load module itself takes place; instead, data is replaced when the module is loaded into Com-plete thread storage under control of your session.
The UZAP utility enables you to:
Add a zap defined by verification data and replacement data;
Display data from a load module with the ability to define modifications;
Display and modify existing zaps;
Remove a zap;
Switch a zap off and on temporarily;
Export a zap and edit it using the Com-plete editor;
Recover your zaps after relogon.
Note:
Defining a zap for Com-plete nucleus modules or other resident
programs has no effect, as far as these modules are never loaded into a
thread.
This document covers the following topics:
To add a zap, enter one of the following commands:
*UZAP module,address,verifydata,replacedata
or
*UZAP module,address,L=length
where:
module | Specifies the one-to eight-character name of the load module to be zapped. The module must reside in the COMPLIB load library chain or in Com-plete's program lookaside buffer. |
address | Specifies the hexadecimal address, relative to the beginning of the load module, of the data to be verified / replaced. |
verifydata | Specifies the data character string to be verified. verifydata must be a character string consisting of an even number from 2 to 120 of hexadecimal digits. |
replacedata | Specifies the replacement character string. The number of verification and replacement characters must be the same. |
length | Specifies the length of data you want to zap. If you specify this parameter, verifydata and replacedata must not be specified. UZAP will create a zap of the length indicated, with both verification data and replacement data equal to the data existing in the load module with any already existing zaps applied. This zap will be displayed using the UZAP menu screen (see below), and you can overtype replacement data. Note that length must be a decimal number from 1 to 120 or a hexadecimal number from X1 to X78. |
Once you have defined a zap, it will be applied each time the appropriate module is loaded into thread under control of your session. No other sessions are affected.
Note that attached programs also execute in separate logical sessions and therefore will not be affected by a zap defined using UZAP.
You can display all zaps existing for your session by entering
*UZAP
The UZAP menu screen is displayed, listing your zaps in ascending order by module name and displacement:
12:37:05 TID 19 COM-5.1. User MBE 25.04.97 -- Individual User Zaps -- UZT1 FC Module Offset Verify-data Replace-data Note ------------------------0-1-2-3-4-5-6-7----0-1-2-3-4-5-6-7--------------------- . DEMO 000000 47F0F060E9C5D4D6 47F0F060E9C5D4D6 40404040F4F6F040 40404040F4F6F040 FC: S witch D elete E xport Reposition to: END Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- End Top Forwd Edit |
From this menu, you can perform any of the following:
Scroll the listing of zaps forward by pressing
.List the zaps starting from the top by pressing PF7, or from the module name entered in the input field after the prompt Reposition to.
Modify replacement data of any zap by overtyping the data and pressing
.Delete a zap by entering the line command "D" in the FC column.
Switch a zap on or off by entering the line command "S" in the FC column. This causes a zap not to be applied temporarily, without deleting it. UZAP marks inactive zaps with an appropriate note in the last column of the screen.
Export one or more zaps in character format to an UEDIT work file by entering the line command "E" in the FC column.
Fetch to Com-plete's editor UEDIT to edit and/or save exported
zaps by pressing
All zaps defined for your session using UZAP are automatically saved in Com-plete's system data set and associated to your user ID. After you terminate your session and log on again, you can reestablish your zaps. To achieve this, enter any UZAP command (with or without parameters).
Note that the LOGON procedure does not reestablish any UZAP zaps. Note also that all zaps existing for your user ID from a previous session are reestablished when you invoke any UZAP command.