1 / 37

Stacks in C & C++

Stacks in C & C++. Paul Stuyvesant. Outline. This presentation gives a brief overview of function and static stacks Integral part of C and C++ processing Useful to understand, particularly for dump analysis. Stack Types. Function stack Each function will (maybe) have its own stack

elvin
Télécharger la présentation

Stacks in C & C++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Stacks in C & C++ Paul Stuyvesant

  2. Outline • This presentation gives a brief overview of function and static stacks • Integral part of C and C++ processing • Useful to understand, particularly for dump analysis

  3. Stack Types • Function stack • Each function will (maybe) have its own stack • Created on entry to function • Disappears on return from function • Static stack • One per DLM or DLL • Remains in memory for life of ECB

  4. *ISOC INITIAL STACK FRAME 01304F00 00000000 00000000 BKP 00000000 E4EE9CEA R14 73CFE090 0024FF18 65B0B670 002DF000 01304F20 0011F5D8 0080D000 071D2000 00000000 E4EEA3D2 E4EE9CD8 0080B000 73CFE020 01304F40 00001000 01300010 R12 01305030 01305200 NAB 00000000 00000000 00000000 00000000 01304F60 00000000 00000000 00000000 00000000 00000000 00000000 64EEA558 00000000 01305020 00000000 00000000 00000000 00000000 *ISOC LWS 01305030 0A320040 5880602C 07F48092 07F3D01C 0D1E64F4 A100D01C 0D1E64F4 23580000 01305050 00000000 00000000 00000000 64F3F148 01305070 00000000 00000000 00000000 *ISOC STACK FRAME FUNCTION-functionB 013054C8 10E7C900 013053B8 BKP 00000000 F66A15CA R14 64E58058 01305588 01305560 00000002 013054E8 766A14F2 00916270 0000009A 013055B0 766A5A78 00000005 766A5B12 0091624A 01305508 00000001 01300010 R12 01305030 01305610 NAB 4BF0F000 40404040 40404040 404BF0F0 01305528 00404040 40404040 40F1F74B F0F00040 40404040 4040F1F7 00000000 0000007F 01305548 58F0F008 0DEFC4C3 C5F3C4C3 C5F34040 F1F74BF7 F1004040 01305588 013055B0 01305568 00000005 00000002 0000001F 00000002 00000000 00000000 00000000 0010117C 01305608 0086DF40 00000003 *ISOC STACK FRAME FUNCTION-functionA 013053B8 10305438 01305200 BKP 65E813A4 F66A2448 R14 766A14B8 00000002 01305450 00916308 013053D8 766A1E6A 00000001 00000000 00000001 00916270 00916260 00916240 00000000 013053F8 00000001 01300010 R12 01305030 013054C8 NAB 68E31458 E52139AE 64F3DD98 0000FF00 01305418 E4F3F0C4 013054B0 6521388A 013053E8 00000000 00901188 00901958 E4EE9CD8 01305438 00916FE8 01305368 000000D9 000000C1 01305470 00866015 00916260 0000009A 013054B8 00000001 00000001 00000001 008660BB *ISOC STACK FRAME FUNCTION-PCS1 01305200 10862B90 01305138 BKP 00000702 F669DBE6 R14 766A1E30 00915FE8 01305298 00000000 01305220 7669D23A 00824000 766A01EA 00916330 00000000 0000000E 0000016C 00000152 01305240 766A0283 00913BB0 R12 01305030 013053B8 NAB 00913B50 00913B30 00913A50 00913510 01305260 64EEA558 00000000 000000F0 01305108 00000005 75E3C0CA C1C3C3F4 01305138 01305280 00824000 0000000D 00000000 00000000 00916FE8 E4EE9CEA 00915FE8 00916330 013052A0 013052B6 013052BC 013052B6 013052FC E601D4E8 E6E80007 00000000 00919AA8 013053A0 766A027C 766A0283 766A0286 766A0289 766A028C 766A028F

  5. *ISOC STATIC BLOCK 00901170 C1C1C1F3 0000FE01 00000E50 6878D800 7274B7E0 0090CF00 F00A0504 03020100 AAA3..........Q.........0....... 009011B0 80402010 08040201 6878E66C 6878E648 6878E648 6878E648 6878E678 6878E67C . ........W...W...W...W...W...W. 009011D0 6878E648 6878E648 6878E670 6878E674 6878E648 6878E648 6878E650 6878E654 ..W...W...W...W...W...W...W...W. 009011F0 6878E658 6878E65C 6878E660 6878E648 6878E648 6878E648 6878E680 6878E648 ..W...W...W-..W...W...W...W...W. 00901210 6878E648 6878E648 6878E684 6878E648 6878E648 6878E648 6878E64C 6878E664 ..W...W...Wd..W...W...W...W...W. 00901230 6878E668 6878E648 6878E640 6878E644 6878E648 6878E648 6878E64C 6878E648 ..W...W...W ..W...W...W...W...W. 00901250 6878E648 6878E648 6878E650 6878E654 6878E658 6878E65C 6878E660 6878E648 ..W...W...W...W...W...W...W-..W. 00901270 6878E648 6878E648 6878E664 6878E668 6878E648 6878E648 6878E66C 6878E648 ..W...W...W...W...W...W...W...W. 00901290 6878E648 6878E648 6878E670 6878E674 6878E648 6878E648 6878E648 6878E648 ..W...W...W...W...W...W...W...W. 009012B0 6878E648 6878E648 6878E648 6878E648 6878E648 6878E648 6878E678 6878E67C ..W...W...W...W...W...W...W...W. 009012D0 6878E648 6878E648 00000000 00000000 00000000 00000000 00000000 00000000 ..W...W......................... 009012F0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 009019B0 00000000 00000000 00000000 00000000 000009A4 81320055 46000000 00000000 ...................ua........... 009019D0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 00901FD0 00000000 00000000 ........ *ISOC STATIC BLOCK 0090CF00 C1C1C1F2 0000FE01 000000BC 67085300 72632510 00916178 00000000 00000000 AAA2.................j.......... 0090CF20 0090CF18 0090CF20 013056D8 00000000 670853AA 0090CF70 0090CF18 00000000 ...........Q.................... 0090CF40 E4EEA3D2 E4EE9CD8 0080B000 67085300 00001000 01300010 01305640 E70853E4 U.tKU..Q................... X..U 0090CF60 67085370 00000000 00000000 0080DAA0 0086DFAC 0080B0B8 0000000E 00000024 .................f.............. 0090CF80 00003983 0002001A 4872B000 80B39000 86DBE000 80B39000 80B39900 80B39C00 ...c............f.........r..... 0090CFC0 00000000 00000000 00000000 00000000 00000000 .................... *ISOC STATIC BLOCK 00916178 C1C1C1F1 0000FE01 000000A0 6766E070 726495E0 00000000 02000000 00000000 AAA1..............n............. 00916198 07000000 00000000 02000000 00000000 00000000 1C000000 01225640 0C000000 ........................... .... 009161B8 00000000 00000000 00000000 00000000 00000000 0061088C 43262E14 7AE147AE ................................ 009161D8 00000000 00000000 41100000 00000000 00000000 00000000 41139C38 B04AB606 ................................ 009161F8 00000000 00000000 00000000 00000000 00000000 00000000 431F26AC A9228C14 ............................z... 00916218 35C222B0 9372BB52 00000000 00000000 00000000 00000000 .B..l................... *ISOC STATIC BLOCK 00901028 D7C3E2F1 0000FE01 00000010 7669D020 72753880 00000000 00000000 00000000 PCS1............................ 00901048 00000000 00000000 ........

  6. Function Stacks • Created by prolog on entry to function • Slightly different prolog for C and C++ • Stack holds variety of data • Variables declared in function • Register save area • Space for parameters • Plus some other information

  7. Function Stacks • Size of stack is defined at compile time • R13 will address the in use stack at run time • 4 labels in dump • BKP Calling function stack address • NAB Address of next stack to create • R14/R12 Register save area

  8. 2 1 3 C Prolog 00017 | * void CVZZ(void) 000070 00017 | CVZZ DS 0D 000070 47F0 F022 00017 | B 34(,r15) 000074 01C3 C5C5 CEE eyecatcher 000078 0000 01F0 DSA size 00007C FFFF FFA8 =A(PPA1-CVZZ) 000080 47F0 F001 00017 | B 1(,r15) 000084 58F0 C31C 00017 | L r15,796(,r12) 000088 184E 00017 | LR r4,r14 00008A 05EF 00017 | BALR r14,r15 00008C 0000 0000 =F'0' 000090 07F3 00017 | BR r3 000092 90E5 D00C 00017 | STM r14,r5,12(r13) 000096 58E0 D04C 00017 | L r14,76(,r13) 00009A 4100 E1F0 00017 | LA r0,496(,r14) 00009E 5500 C314 00017 | CL r0,788(,r12) 0000A2 4130 F03A 00017 | LA r3,58(,r15) 0000A6 4720 F014 00017 | BH 20(,r15) 0000AA 58F0 C280 00017 | L r15,640(,r12) 0000AE 90F0 E048 00017 | STM r15,r0,72(r14) 0000B2 9210 E000 00017 | MVI 0(r14),16 0000B6 50D0 E004 00017 | ST r13,4(,r14) 0000BA 18DE 00017 | LR r13,r14 0000BC End of Prolog

  9. C vs C++ Prolog • Serious problems can occur if C function calls C++ function or vice versa • Different parameter lists for C & C++ • To stop this they have different prolog entry points • Control 3 (specification exception) will occur if incorrect call

  10. C vs C++ Prolog 00017 | * void CVZZ(void) 000070 00017 | CVZZ DS 0D 000070 47F0 F022 00017 | B 34(,r15) 000074 01C3 C5C5 CEE eyecatcher 000078 0000 01F0 DSA size 00007C FFFF FFA8 =A(PPA1-CVZZ) 000080 47F0 F001 00017 | B 1(,r15) 000084 58F0 C31C 00017 | L r15,796(,r12) 000088 184E 00017 | LR r4,r14 00008A 05EF 00017 | BALR r14,r15 00008C 0000 0000 =F'0' 000090 07F3 00017 | BR r3 000092 90E5 D00C 00017 | STM r14,r5,12(r13) C Validate(param_list*,char*) 000428 00182 | DS 0D 000428 47F0 F001 00182 | B 1(,r15) 00042C 01C3C5C5 CEE eyecatcher 000430 000000D0 DSA size 000434 00000730 =A(PPA1-Validate(param_list*,char*)) 000438 90E6 D00C 00182 | STM r14,r6,12(r13) 00043C 58E0 D04C 00182 | L r14,76(,r13) 000440 4100 E0D0 00182 | LA r0,208(,r14) 000444 5500 C314 00182 | CL r0,788(,r12) 000448 4140 F04C 00182 | LA r4,76(,r15) 00044C 47D0 F03A 00182 | BNH 58(,r15) C++

  11. Variables • Variables are held in stack, these are at offsets from R13 • Space used depends on variable type • DSA size in prolog defines size of stack

  12. 00008 | * int a = 0, 000068 4100 0000 00008 | LA r0,0 00006C 5000 D098 00008 | ST r0,a(,r13,152) 00009 | * b = 2; 000070 4100 0002 00009 | LA r0,2 000074 5000 D09C 00009 | ST r0,b(,r13,156) 00011 | * a += 2; 000078 5800 D098 00011 | L r0,a(,r13,152) 00007C A70A 0002 00011 | AHI r0,H'2' 000080 5000 D098 00011 | ST r0,a(,r13,152) 00013 | * a = b + a; 000084 5810 D09C 00013 | L r1,b(,r13,156) 000088 1A01 00013 | AR r0,r1 00008A 5000 D098 00013 | ST r0,a(,r13,152) 00015 | * a++; 00008E A70A 0001 00015 | AHI r0,H'1' 000092 5000 D098 00015 | ST r0,a(,r13,152) 00017 | * b++; 000096 5800 D09C 00017 | L r0,b(,r13,156) 00009A A70A 0001 00017 | AHI r0,H'1' 00009E 5000 D09C 00017 | ST r0,b(,r13,156) 00019 | * return a + b; 0000A2 58F0 D098 00019 | L r15,a(,r13,152) 0000A6 1AF0 00019 | AR r15,r0 0000A8 47F0 305E 00019 | B @1L3

  13. Optimisation • Various compiler options available • Optimise • Inlining • Changes size and usage of stack • Can cause confusion in Dump Analysis • Variables no stored in stack • No stack in dump

  14. Optimisation 00007 | * { 00008 | * int a = 0, 00009 | * b = 2; 00010 | * 00011 | * a += 2; 00012 | * 00013 | * a = b + a; 00014 | * 00015 | * a++; 00016 | * 00017 | * b++; 00018 | * 00019 | * return a + b; 000060 41F0 0008 00019 | LA r15,8 00020 | * } 000064 00020 | @1L3 DS 0H

  15. Inlining 00029 | * ret = functionC(myptr, count ); 00015C 1820 00029 | LR r2,r0 00015E 98F0 F008 00042 | + LM r15,r0,&EPA_&WSA(r15,8) 000162 5000 C1F4 00042 | + ST r0,_CEECAA_(,r12,500) 000166 4110 D098 00042 | + LA r1,#MX_TEMP1(,r13,152) 00016A 5070 D09C 00042 | + ST r7,#MX_TEMP1(,r13,156) 00016E 50E0 D0A0 00042 | + ST r14,#MX_TEMP1(,r13,160) 000172 05EF 00042 | + BALR r14,r15 000174 58E6 500C 00043 | + L r14,malloc(r6,r5,12) 000178 A72A 0064 00043 | + AHI r2,H'100' 00017C 4110 D098 00043 | + LA r1,#MX_TEMP1(,r13,152) 000180 5020 D098 00043 | + ST r2,#MX_TEMP1(,r13,152) 000184 98F0 E008 00043 | + LM r15,r0,&EPA_&WSA(r14,8) 000188 5000 C1F4 00043 | + ST r0,_CEECAA_(,r12,500) 00018C 05EF 00043 | + BALR r14,r15 00018E 95F1 8001 00044 | + CLI (*)uchar(r8,1),241 000192 18EF 00043 | + LR r14,r15 000194 4770 312A 00044 | + BNE @1L3 000198 5816 5010 00060 | + L r1,free(r6,r5,16) 00019C 9240 E000 00059 | + MVI (*)void(r14,0),64

  16. Epilog • Similar for both C & C++ • Returns control to calling function • Resets R13 to calling function stack • Stack memory remains mapped in ECB • Will be re-used when next function called • Never return addresses to variables in stack

  17. Epilog • Address previous stack • Load branch address from calling stack • Reload any registers required • Branch to calling function 0001FC Start of Epilog 0001FC 58D0 D004 00033 | L r13,4(,r13) 000200 58E0 D00C 00033 | L r14,12(,r13) 000204 9829 D01C 00033 | LM r2,r9,28(r13) 000208 051E 00033 | BALR r1,r14

  18. *ISOC STACK FRAME FUNCTION-functionB 013054C8 10E7C900 013053B8 BKP 00000000 F66A15CA R14 64E58058 01305588 01305560 00000002 013054E8 766A14F2 00916270 0000009A 013055B0 766A5A78 00000005 766A5B12 0091624A 01305508 00000001 01300010 R12 01305030 01305610 NAB 4BF0F000 40404040 40404040 404BF0F0 01305528 00404040 40404040 40F1F74B F0F00040 40404040 4040F1F7 00000000 0000007F 01305548 58F0F008 0DEFC4C3 C5F3C4C3 C5F34040 F1F74BF7 F1004040 01305588 013055B0 01305568 00000005 00000002 0000001F 00000002 00000000 00000000 00000000 0010117C 01305608 0086DF40 00000003 *ISOC STACK FRAME FUNCTION-functionA 013053B8 10305438 01305200 BKP 65E813A4 F66A2448 R14 766A14B8 00000002 01305450 00916308 013053D8 766A1E6A 00000001 00000000 00000001 00916270 00916260 00916240 00000000 013053F8 00000001 01300010 R12 01305030 013054C8 NAB 68E31458 E52139AE 64F3DD98 0000FF00 01305418 E4F3F0C4 013054B0 6521388A 013053E8 00000000 00901188 00901958 E4EE9CD8 01305438 00916FE8 01305368 000000D9 000000C1 01305470 00866015 00916260 0000009A 013054B8 00000001 00000001 00000001 008660BB *ISOC STACK FRAME FUNCTION-PCS1 01305200 10862B90 01305138 BKP 00000702 F669DBE6 R14 766A1E30 00915FE8 01305298 00000000 01305220 7669D23A 00824000 766A01EA 00916330 00000000 0000000E 0000016C 00000152 01305240 766A0283 00913BB0 R12 01305030 013053B8 NAB 00913B50 00913B30 00913A50 00913510 01305260 64EEA558 00000000 000000F0 01305108 00000005 75E3C0CA C1C3C3F4 01305138 01305280 00824000 0000000D 00000000 00000000 00916FE8 E4EE9CEA 00915FE8 00916330 013052A0 013052B6 013052BC 013052B6 013052FC E601D4E8 E6E80007 00000000 00919AA8 013053A0 766A027C 766A0283 766A0286 766A0289 766A028C 766A028F

  19. *ISOC STACK FRAME FUNCTION-functionB 013054C8 10E7C900 013053B8 BKP 00000000 F66A15CA R14 64E58058 01305588 01305560 00000002 013054E8 766A14F2 00916270 0000009A 013055B0 766A5A78 00000005 766A5B12 0091624A 01305508 00000001 01300010 R12 01305030 01305610 NAB 4BF0F000 40404040 40404040 404BF0F0 01305528 00404040 40404040 40F1F74B F0F00040 40404040 4040F1F7 00000000 0000007F 01305548 58F0F008 0DEFC4C3 C5F3C4C3 C5F34040 F1F74BF7 F1004040 01305588 013055B0 01305568 00000005 00000002 0000001F 00000002 00000000 00000000 00000000 0010117C 01305608 0086DF40 00000003 *ISOC STACK FRAME FUNCTION-functionA 013053B8 10305438 01305200 BKP 65E813A4 F66A2448 R14 766A14B8 00000002 01305450 00916308 013053D8 766A1E6A 00000001 00000000 00000001 00916270 00916260 00916240 00000000 013053F8 00000001 01300010 R12 01305030 013054C8 NAB 68E31458 E52139AE 64F3DD98 0000FF00 01305418 E4F3F0C4 013054B0 6521388A 013053E8 00000000 00901188 00901958 E4EE9CD8 01305438 00916FE8 01305368 000000D9 000000C1 01305470 00866015 00916260 0000009A 013054B8 00000001 00000001 00000001 008660BB *ISOC STACK FRAME FUNCTION-PCS1 01305200 10862B90 01305138 BKP 00000702 F669DBE6 R14 766A1E30 00915FE8 01305298 00000000 01305220 7669D23A 00824000 766A01EA 00916330 00000000 0000000E 0000016C 00000152 01305240 766A0283 00913BB0 R12 01305030 013053B8 NAB 00913B50 00913B30 00913A50 00913510 01305260 64EEA558 00000000 000000F0 01305108 00000005 75E3C0CA C1C3C3F4 01305138 01305280 00824000 0000000D 00000000 00000000 00916FE8 E4EE9CEA 00915FE8 00916330 013052A0 013052B6 013052BC 013052B6 013052FC E601D4E8 E6E80007 00000000 00919AA8 013053A0 766A027C 766A0283 766A0286 766A0289 766A028C 766A028F

  20. Static Stack • One per DLM/DLL entered in life of ECB • Stays with ECB until exited • Reused if DLM/DLL is called again • Serviced out of heap storage • Will usually show twice in dump • Can become very large if many Import statements at link time

  21. Static Stack • Total size is resolved at link time • Each compile unit allocated area in static • Identify using File Map in Build Script • Various pieces of information held in stack • extern • static • descriptors

  22. Static Stack • extern variables • Declared outside of any function • Each variable has own space in static • Static variables • Static type declared inside a function • Grouped within static area for component • Function and variable descriptors • C++ programs or C calling DLL

  23. ================================================================================================================================================ | File Map | ======================================================================== *ORIGIN FILE ID FILE NAME P 00001 DD:SYSIN PI 00002 DD:OBJLIB(CSTRTDJ2) PI 00003 DD:OBJLIB(PCS301PS) PI 00004 DD:OBJLIB(PCS302PS) A 00005 PCS.LIBSTUB.LIVE(CEESG003) A 00006 PCS.LIBSTUB.LIVE(@@USRDMD) A 00007 PCS.LIBSTUB.TEST(PRINTF) Remainder deleted for clarity IN 00027 *** DESCRIPTORS *** ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 90 20 00027 <@DBADD> B0 20 00027 <@DBKEY> D0 20 00027 <GETCC> F0 20 00027 <GETS> 110 20 00027 <Open(unsigned long)> 130 20 00027 <SetUpKeys(param_list*)> 150 20 00027 <Readfile(param_list*)> 170 20 00027 <ReadItem(param_list*)> 190 20 00027 <AddRecord(param_list*,char*)> 1B0 20 00027 <DelRecord(param_list*)> 1D0 20 00027 <SPRINTF> 1F0 20 00027 <@DBCLS> 210 20 00027 <PRINTF> 230 20 00027 <ZL5M00> 250 20 00004 @STATIC 270 30 00003 @STATIC

  24. ================================================================================================================================================ | File Map | ======================================================================== *ORIGIN FILE ID FILE NAME P 00001 DD:SYSIN PI 00002 DD:OBJLIB(CSTRTDJ2) PI 00003 DD:OBJLIB(PCS301PS) PI 00004 DD:OBJLIB(PCS302PS) A 00005 PCS.LIBSTUB.LIVE(CEESG003) A 00006 PCS.LIBSTUB.LIVE(@@USRDMD) A 00007 PCS.LIBSTUB.TEST(PRINTF) Remainder deleted for clarity IN 00027 *** DESCRIPTORS *** ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 90 20 00027 <@DBADD> B0 20 00027 <@DBKEY> D0 20 00027 <GETCC> F0 20 00027 <GETS> 110 20 00027 <Open(unsigned long)> 130 20 00027 <SetUpKeys(param_list*)> 150 20 00027 <Readfile(param_list*)> 170 20 00027 <ReadItem(param_list*)> 190 20 00027 <AddRecord(param_list*,char*)> 1B0 20 00027 <DelRecord(param_list*)> 1D0 20 00027 <SPRINTF> 1F0 20 00027 <@DBCLS> 210 20 00027 <PRINTF> 230 20 00027 <ZL5M00> 250 20 00004 @STATIC 270 30 00003 @STATIC

  25. *ISOC STATIC BLOCK 009018A8 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 D7C1E4D3 40E2E3E4 PCS3..............5Y....PAUL STU 009018C8 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 103E42A0 00000000 YVESANT......................... 009018E8 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 103E42A0 00000000 .. ............................. 00901908 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 103E42A0 00000000 .. ................8............ 00901928 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 103E42A0 00000000 .. ............................. 00901948 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 103E42A0 00000000 .. ................H............ 00901968 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 103E42A0 00000000 .. ............................. 00901988 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 103E42A0 00000000 .. ............................. 009019A8 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 103E42A0 00000000 .. ............................. 009019C8 103E40B0 009018C0 180F58FF 001007FF 103E2E70 009018C0 103E42A0 00000000 .. ............................. 009019E8 103E40B0 009018C0 180F58FF 001007FF 103E37B0 009018C0 103E42A0 00000000 .. ............................. 00901A08 103E40B0 009018C0 180F58FF 001007FF 103E2F70 009018C0 103E42A0 00000000 .. ............................. 00901A28 103E40B0 009018C0 180F58FF 001007FF 103E31C8 009018C0 103E42A0 00000000 .. ................H............ 00901A48 103E40B0 009018C0 180F58FF 001007FF 103E34C0 009018C0 103E42A0 00000000 .. ............................. 00901A68 103E40B0 009018C0 180F58FF 001007FF 103E3360 009018C0 103E42A0 00000000 .. ................-............ 00901A88 103E40B0 009018C0 180F58FF 001007FF 103E42F0 009018C0 103E42A0 00000000 .. ................0............ 00901AA8 103E40B0 009018C0 180F58FF 001007FF 103E42D8 009018C0 103E42A0 00000000 .. ................Q............ 00901AC8 103E40B0 009018C0 180F58FF 001007FF 103E42C0 009018C0 103E42A0 00000000 .. ............................. 00901AE8 103E40B0 009018C0 180F58FF 001007FF 103E4288 009018C0 103E42A0 00000000 .. ................h............ 00901B08 103E40B0 009018C0 00000002 009018D0 009018F0 00901910 00901A90 00901930 .. ................0............ 00901B28 00901950 00901970 00901990 009019B0 009019D0 009019F0 00901A10 00901A30 .......................0........ 00901B48 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 .......................0 *IN USE HEAP STORAGE 009018A0 826F621E 000002C0 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 b.......PCS3..............5Y.... 009018C0 D7C1E4D3 40E2E3E4 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 PAUL STUYVESANT................. 009018E0 103E42A0 00000000 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 .......... ..................... 00901900 103E42A0 00000000 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 .......... ................8.... 00901920 103E42A0 00000000 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 .......... ..................... 00901940 103E42A0 00000000 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 .......... ................H.... 00901960 103E42A0 00000000 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 .......... ..................... 00901980 103E42A0 00000000 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 .......... ..................... 009019A0 103E42A0 00000000 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 .......... ..................... Lines Deleted 00901B40 00901A10 00901A30 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 ...............................0 00901B60 00000000 90102082 .......b

  26. *ISOC STATIC BLOCK 009018A8 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 D7C1E4D3 40E2E3E4 PCS3..............5Y....PAUL STU 009018C8 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 103E42A0 00000000 YVESANT......................... 009018E8 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 103E42A0 00000000 .. ............................. 00901908 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 103E42A0 00000000 .. ................8............ 00901928 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 103E42A0 00000000 .. ............................. 00901948 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 103E42A0 00000000 .. ................H............ 00901968 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 103E42A0 00000000 .. ............................. 00901988 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 103E42A0 00000000 .. ............................. 009019A8 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 103E42A0 00000000 .. ............................. 009019C8 103E40B0 009018C0 180F58FF 001007FF 103E2E70 009018C0 103E42A0 00000000 .. ............................. 009019E8 103E40B0 009018C0 180F58FF 001007FF 103E37B0 009018C0 103E42A0 00000000 .. ............................. 00901A08 103E40B0 009018C0 180F58FF 001007FF 103E2F70 009018C0 103E42A0 00000000 .. ............................. 00901A28 103E40B0 009018C0 180F58FF 001007FF 103E31C8 009018C0 103E42A0 00000000 .. ................H............ 00901A48 103E40B0 009018C0 180F58FF 001007FF 103E34C0 009018C0 103E42A0 00000000 .. ............................. 00901A68 103E40B0 009018C0 180F58FF 001007FF 103E3360 009018C0 103E42A0 00000000 .. ................-............ 00901A88 103E40B0 009018C0 180F58FF 001007FF 103E42F0 009018C0 103E42A0 00000000 .. ................0............ 00901AA8 103E40B0 009018C0 180F58FF 001007FF 103E42D8 009018C0 103E42A0 00000000 .. ................Q............ 00901AC8 103E40B0 009018C0 180F58FF 001007FF 103E42C0 009018C0 103E42A0 00000000 .. ............................. 00901AE8 103E40B0 009018C0 180F58FF 001007FF 103E4288 009018C0 103E42A0 00000000 .. ................h............ 00901B08 103E40B0 009018C0 00000002 009018D0 009018F0 00901910 00901A90 00901930 .. ................0............ 00901B28 00901950 00901970 00901990 009019B0 009019D0 009019F0 00901A10 00901A30 .......................0........ 00901B48 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 .......................0 ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 250 20 00004 @STATIC 270 30 00003 @STATIC

  27. *ISOC STATIC BLOCK 009018A8 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 D7C1E4D3 40E2E3E4 PCS3..............5Y....PAUL STU 009018C8 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 103E42A0 00000000 YVESANT......................... 009018E8 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 103E42A0 00000000 .. ............................. 00901908 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 103E42A0 00000000 .. ................8............ 00901928 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 103E42A0 00000000 .. ............................. 00901948 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 103E42A0 00000000 .. ................H............ 00901968 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 103E42A0 00000000 .. ............................. 00901988 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 103E42A0 00000000 .. ............................. 009019A8 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 103E42A0 00000000 .. ............................. 009019C8 103E40B0 009018C0 180F58FF 001007FF 103E2E70 009018C0 103E42A0 00000000 .. ............................. 009019E8 103E40B0 009018C0 180F58FF 001007FF 103E37B0 009018C0 103E42A0 00000000 .. ............................. 00901A08 103E40B0 009018C0 180F58FF 001007FF 103E2F70 009018C0 103E42A0 00000000 .. ............................. 00901A28 103E40B0 009018C0 180F58FF 001007FF 103E31C8 009018C0 103E42A0 00000000 .. ................H............ 00901A48 103E40B0 009018C0 180F58FF 001007FF 103E34C0 009018C0 103E42A0 00000000 .. ............................. 00901A68 103E40B0 009018C0 180F58FF 001007FF 103E3360 009018C0 103E42A0 00000000 .. ................-............ 00901A88 103E40B0 009018C0 180F58FF 001007FF 103E42F0 009018C0 103E42A0 00000000 .. ................0............ 00901AA8 103E40B0 009018C0 180F58FF 001007FF 103E42D8 009018C0 103E42A0 00000000 .. ................Q............ 00901AC8 103E40B0 009018C0 180F58FF 001007FF 103E42C0 009018C0 103E42A0 00000000 .. ............................. 00901AE8 103E40B0 009018C0 180F58FF 001007FF 103E4288 009018C0 103E42A0 00000000 .. ................h............ 00901B08 103E40B0 009018C0 00000002 009018D0 009018F0 00901910 00901A90 00901930 .. ................0............ 00901B28 00901950 00901970 00901990 009019B0 009019D0 009019F0 00901A10 00901A30 .......................0........ 00901B48 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 .......................0 ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 250 20 00004 @STATIC 270 30 00003 @STATIC

  28. *ISOC STATIC BLOCK 009018A8 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 D7C1E4D3 40E2E3E4 PCS3..............5Y....PAUL STU 009018C8 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 103E42A0 00000000 YVESANT......................... 009018E8 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 103E42A0 00000000 .. ............................. 00901908 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 103E42A0 00000000 .. ................8............ 00901928 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 103E42A0 00000000 .. ............................. 00901948 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 103E42A0 00000000 .. ................H............ 00901968 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 103E42A0 00000000 .. ............................. 00901988 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 103E42A0 00000000 .. ............................. 009019A8 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 103E42A0 00000000 .. ............................. 009019C8 103E40B0 009018C0 180F58FF 001007FF 103E2E70 009018C0 103E42A0 00000000 .. ............................. 009019E8 103E40B0 009018C0 180F58FF 001007FF 103E37B0 009018C0 103E42A0 00000000 .. ............................. 00901A08 103E40B0 009018C0 180F58FF 001007FF 103E2F70 009018C0 103E42A0 00000000 .. ............................. 00901A28 103E40B0 009018C0 180F58FF 001007FF 103E31C8 009018C0 103E42A0 00000000 .. ................H............ 00901A48 103E40B0 009018C0 180F58FF 001007FF 103E34C0 009018C0 103E42A0 00000000 .. ............................. 00901A68 103E40B0 009018C0 180F58FF 001007FF 103E3360 009018C0 103E42A0 00000000 .. ................-............ 00901A88 103E40B0 009018C0 180F58FF 001007FF 103E42F0 009018C0 103E42A0 00000000 .. ................0............ 00901AA8 103E40B0 009018C0 180F58FF 001007FF 103E42D8 009018C0 103E42A0 00000000 .. ................Q............ 00901AC8 103E40B0 009018C0 180F58FF 001007FF 103E42C0 009018C0 103E42A0 00000000 .. ............................. 00901AE8 103E40B0 009018C0 180F58FF 001007FF 103E4288 009018C0 103E42A0 00000000 .. ................h............ 00901B08 103E40B0 009018C0 00000002 009018D0 009018F0 00901910 00901A90 00901930 .. ................0............ 00901B28 00901950 00901970 00901990 009019B0 009019D0 009019F0 00901A10 00901A30 .......................0........ 00901B48 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 .......................0 ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 250 20 00004 @STATIC 270 30 00003 @STATIC

  29. *ISOC STATIC BLOCK 009018A8 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 D7C1E4D3 40E2E3E4 PCS3..............5Y....PAUL STU 009018C8 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 103E42A0 00000000 YVESANT......................... 009018E8 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 103E42A0 00000000 .. ............................. 00901908 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 103E42A0 00000000 .. ................8............ 00901928 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 103E42A0 00000000 .. ............................. 00901948 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 103E42A0 00000000 .. ................H............ 00901968 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 103E42A0 00000000 .. ............................. 00901988 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 103E42A0 00000000 .. ............................. 009019A8 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 103E42A0 00000000 .. ............................. 009019C8 103E40B0 009018C0 180F58FF 001007FF 103E2E70 009018C0 103E42A0 00000000 .. ............................. 009019E8 103E40B0 009018C0 180F58FF 001007FF 103E37B0 009018C0 103E42A0 00000000 .. ............................. 00901A08 103E40B0 009018C0 180F58FF 001007FF 103E2F70 009018C0 103E42A0 00000000 .. ............................. 00901A28 103E40B0 009018C0 180F58FF 001007FF 103E31C8 009018C0 103E42A0 00000000 .. ................H............ 00901A48 103E40B0 009018C0 180F58FF 001007FF 103E34C0 009018C0 103E42A0 00000000 .. ............................. 00901A68 103E40B0 009018C0 180F58FF 001007FF 103E3360 009018C0 103E42A0 00000000 .. ................-............ 00901A88 103E40B0 009018C0 180F58FF 001007FF 103E42F0 009018C0 103E42A0 00000000 .. ................0............ 00901AA8 103E40B0 009018C0 180F58FF 001007FF 103E42D8 009018C0 103E42A0 00000000 .. ................Q............ 00901AC8 103E40B0 009018C0 180F58FF 001007FF 103E42C0 009018C0 103E42A0 00000000 .. ............................. 00901AE8 103E40B0 009018C0 180F58FF 001007FF 103E4288 009018C0 103E42A0 00000000 .. ................h............ 00901B08 103E40B0 009018C0 00000002 009018D0 009018F0 00901910 00901A90 00901930 .. ................0............ 00901B28 00901950 00901970 00901990 009019B0 009019D0 009019F0 00901A10 00901A30 .......................0........ 00901B48 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 .......................0 ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 250 20 00004 @STATIC 270 30 00003 @STATIC

  30. *ISOC STATIC BLOCK 009018A8 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 D7C1E4D3 40E2E3E4 PCS3..............5Y....PAUL STU 009018C8 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 103E42A0 00000000 YVESANT......................... 009018E8 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 103E42A0 00000000 .. ............................. 00901908 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 103E42A0 00000000 .. ................8............ 00901928 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 103E42A0 00000000 .. ............................. 00901948 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 103E42A0 00000000 .. ................H............ 00901968 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 103E42A0 00000000 .. ............................. 00901988 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 103E42A0 00000000 .. ............................. 009019A8 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 103E42A0 00000000 .. ............................. 009019C8 103E40B0 009018C0 180F58FF 001007FF 103E2E70 009018C0 103E42A0 00000000 .. ............................. 009019E8 103E40B0 009018C0 180F58FF 001007FF 103E37B0 009018C0 103E42A0 00000000 .. ............................. 00901A08 103E40B0 009018C0 180F58FF 001007FF 103E2F70 009018C0 103E42A0 00000000 .. ............................. 00901A28 103E40B0 009018C0 180F58FF 001007FF 103E31C8 009018C0 103E42A0 00000000 .. ................H............ 00901A48 103E40B0 009018C0 180F58FF 001007FF 103E34C0 009018C0 103E42A0 00000000 .. ............................. 00901A68 103E40B0 009018C0 180F58FF 001007FF 103E3360 009018C0 103E42A0 00000000 .. ................-............ 00901A88 103E40B0 009018C0 180F58FF 001007FF 103E42F0 009018C0 103E42A0 00000000 .. ................0............ 00901AA8 103E40B0 009018C0 180F58FF 001007FF 103E42D8 009018C0 103E42A0 00000000 .. ................Q............ 00901AC8 103E40B0 009018C0 180F58FF 001007FF 103E42C0 009018C0 103E42A0 00000000 .. ............................. 00901AE8 103E40B0 009018C0 180F58FF 001007FF 103E4288 009018C0 103E42A0 00000000 .. ................h............ 00901B08 103E40B0 009018C0 00000002 009018D0 009018F0 00901910 00901A90 00901930 .. ................0............ 00901B28 00901950 00901970 00901990 009019B0 009019D0 009019F0 00901A10 00901A30 .......................0........ 00901B48 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 .......................0 ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 250 20 00004 @STATIC 270 30 00003 @STATIC

  31. *ISOC STATIC BLOCK 009018A8 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 D7C1E4D3 40E2E3E4 PCS3..............5Y....PAUL STU 009018C8 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 103E42A0 00000000 YVESANT......................... 009018E8 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 103E42A0 00000000 .. ............................. 00901908 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 103E42A0 00000000 .. ................8............ 00901928 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 103E42A0 00000000 .. ............................. 00901948 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 103E42A0 00000000 .. ................H............ 00901968 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 103E42A0 00000000 .. ............................. 00901988 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 103E42A0 00000000 .. ............................. 009019A8 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 103E42A0 00000000 .. ............................. 009019C8 103E40B0 009018C0 180F58FF 001007FF 103E2E70 009018C0 103E42A0 00000000 .. ............................. 009019E8 103E40B0 009018C0 180F58FF 001007FF 103E37B0 009018C0 103E42A0 00000000 .. ............................. 00901A08 103E40B0 009018C0 180F58FF 001007FF 103E2F70 009018C0 103E42A0 00000000 .. ............................. 00901A28 103E40B0 009018C0 180F58FF 001007FF 103E31C8 009018C0 103E42A0 00000000 .. ................H............ 00901A48 103E40B0 009018C0 180F58FF 001007FF 103E34C0 009018C0 103E42A0 00000000 .. ............................. 00901A68 103E40B0 009018C0 180F58FF 001007FF 103E3360 009018C0 103E42A0 00000000 .. ................-............ 00901A88 103E40B0 009018C0 180F58FF 001007FF 103E42F0 009018C0 103E42A0 00000000 .. ................0............ 00901AA8 103E40B0 009018C0 180F58FF 001007FF 103E42D8 009018C0 103E42A0 00000000 .. ................Q............ 00901AC8 103E40B0 009018C0 180F58FF 001007FF 103E42C0 009018C0 103E42A0 00000000 .. ............................. 00901AE8 103E40B0 009018C0 180F58FF 001007FF 103E4288 009018C0 103E42A0 00000000 .. ................h............ 00901B08 103E40B0 009018C0 00000002 009018D0 009018F0 00901910 00901A90 00901930 .. ................0............ 00901B28 00901950 00901970 00901990 009019B0 009019D0 009019F0 00901A10 00901A30 .......................0........ 00901B48 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 .......................0 ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 250 20 00004 @STATIC 270 30 00003 @STATIC

  32. *ISOC STATIC BLOCK 009018A8 D7C3E2F3 0000FE01 000002A0 103E2020 0A0AF5E8 00000000 D7C1E4D3 40E2E3E4 PCS3..............5Y....PAUL STU 009018C8 E8E5C5E2 C1D5E300 180F58FF 001007FF 103E4428 009018C0 103E42A0 00000000 YVESANT......................... 009018E8 103E40B0 009018C0 180F58FF 001007FF 103E4410 009018C0 103E42A0 00000000 .. ............................. 00901908 103E40B0 009018C0 180F58FF 001007FF 103E43F8 009018C0 103E42A0 00000000 .. ................8............ 00901928 103E40B0 009018C0 180F58FF 001007FF 103E43E0 009018C0 103E42A0 00000000 .. ............................. 00901948 103E40B0 009018C0 180F58FF 001007FF 103E43C8 009018C0 103E42A0 00000000 .. ................H............ 00901968 103E40B0 009018C0 180F58FF 001007FF 103E43B0 009018C0 103E42A0 00000000 .. ............................. 00901988 103E40B0 009018C0 180F58FF 001007FF 103E4320 009018C0 103E42A0 00000000 .. ............................. 009019A8 103E40B0 009018C0 180F58FF 001007FF 103E4308 009018C0 103E42A0 00000000 .. ............................. 009019C8 103E40B0 009018C0 180F58FF 001007FF 103E2E70 009018C0 103E42A0 00000000 .. ............................. 009019E8 103E40B0 009018C0 180F58FF 001007FF 103E37B0 009018C0 103E42A0 00000000 .. ............................. 00901A08 103E40B0 009018C0 180F58FF 001007FF 103E2F70 009018C0 103E42A0 00000000 .. ............................. 00901A28 103E40B0 009018C0 180F58FF 001007FF 103E31C8 009018C0 103E42A0 00000000 .. ................H............ 00901A48 103E40B0 009018C0 180F58FF 001007FF 103E34C0 009018C0 103E42A0 00000000 .. ............................. 00901A68 103E40B0 009018C0 180F58FF 001007FF 103E3360 009018C0 103E42A0 00000000 .. ................-............ 00901A88 103E40B0 009018C0 180F58FF 001007FF 103E42F0 009018C0 103E42A0 00000000 .. ................0............ 00901AA8 103E40B0 009018C0 180F58FF 001007FF 103E42D8 009018C0 103E42A0 00000000 .. ................Q............ 00901AC8 103E40B0 009018C0 180F58FF 001007FF 103E42C0 009018C0 103E42A0 00000000 .. ............................. 00901AE8 103E40B0 009018C0 180F58FF 001007FF 103E4288 009018C0 103E42A0 00000000 .. ................h............ 00901B08 103E40B0 009018C0 00000002 009018D0 009018F0 00901910 00901A90 00901930 .. ................0............ 00901B28 00901950 00901970 00901990 009019B0 009019D0 009019F0 00901A10 00901A30 .......................0........ 00901B48 00901A50 00901A70 00901A90 00901AB0 00901AD0 00901AF0 .......................0 ======================================================================== | Writable Static Map | ======================================================================== OFFSET LENGTH FILE ID INPUT NAME 0 10 00004 name 10 20 00027 <@DBOPN> 30 20 00027 <@DBOPT> 50 20 00027 <@DBRED> 70 20 00027 <@DBDEL> 250 20 00004 @STATIC 270 30 00003 @STATIC

  33. Miscellaneous • Initialisation of static can cause significant overhead • Identifying addresses of DLLs • Setting up function and variable descriptors • And finally • What does someone have against the cattle?

  34. Example 1 009118B8 BEEFDEAD 00000003 D00000C0 00912FB8 00000001 00000010 00000000 D00000BA 009118D8 00912F98 00000001 00000002 00000000 D00000B8 00912F98 00000001 00000002 00911998 00000001 00912B38 782775BC 00000000 00000001 00912B38 782775BC 00000000 009119B8 00000001 00912B38 782775BC 00000000 BEEFDEAD 00000001 00000000 00912B78 009119D8 00000001 00000000 00010000 00000000 BEEFDEAD 00000002 D00000EC 00912B38 009119F8 00000001 00000004 00000000 D00000E8 00912B38 00000001 00000004 00000000 00911A18 BEEFDEAD 00000004 00000000 782761AA FFFFFFFF 00000000 00000000 D00000F0 00911B78 00000001 00912AD8 7827A51C 00000000 BEEFDEAD 00000001 00000000 00912B18 00911B98 00000001 00000000 00010000 00000000 BEEFDEAD 00000001 00000000 00912B18 00911BB8 00000001 00000000 00010000 00000000 BEEFDEAD 00000001 D00000E4 00912AD8 00911BD8 00000001 00000004 00000000 BEEFDEAD 00000001 00000000 00912A98 00000001 00911BF8 00000000 00010000 BEEFDEAD 00000003 00000000 7827859C FFFFFFFF 00000000 00911C18 00000000 D00000E8 00912AF8 00000001 00000014 00000001 D00000E4 00912AD8 00911C38 00000001 00000004 00000001 00000000 BEEFDEAD 00000005 D00000F8 00912AB8 00911C58 00000001 0000006D 00000000 D00000F4 00912AD8 00000001 00000004 00000001 00911C78 D00000F0 00912AD8 00000001 00000004 00000001 D00000EC 00912AD8 00000001 00911C98 00000004 00000001 D00000E8 00912AD8 00000001 00000004 00000001 00000000 00911CB8 00010203 04050AF0 00911760 00910DE0 00910DC0 00911520 00910E80 00911620 00911CD8 00910B00 009113C0 00910860 009116A0 00911280 00910DA0 009108E0 00911440 00911D78 009106E0 00910700 009107C0 009115E0 00000001 00912C18 78274BB0 00000000 00911D98 00000001 00912C18 78274BB0 00000000 00000001 00912C18 78274BB0 00000000 00911DF8 BEEFDEAD 00000001 D00000D4 00912BD8 00000001 00000002 00000000 BEEFDEAD

  35. Example 2 0090EC58 0090CDD0 0090CDF0 0090CE10 0090CE30 0090CE50 0090D1F0 0090DE90 00000000 0090EC78 00000001 00000000 68EE689C 00000000 00000001 00000000 68EE689C 00000000 0090ECB8 BEEFDEAD 00000001 00000000 68EE34FC FFFFFFFF 00000000 00000000 BEEFDEAD 0090ECD8 00000001 00000000 00912198 00000001 00000000 00010000 0090E990 0090D2B0 0090ECF8 0090D390 0090D2D0 0090DE90 0090DC70 0090DC90 0090D310 0090DCB0 0090DCD0 0090ED18 0090E970 0090E7B0 0090E950 0090DE70 0090E890 00000000 BEEFDEAD 00000001 0090ED38 00000000 00912278 00000001 00000000 00010000 00000000 BEEFDEAD 00000001 0090ED58 00000002 009122D8 00000001 0000000C 00010000 00000000 BEEFDEAD 00000001 0090ED78 00000000 009122F8 00000001 00000000 00010000 00000000 BEEFDEAD 00000001 0090ED98 00000000 00912318 00000001 0000000C 00010000 00000000 BEEFDEAD 00000001 0090EDB8 00000000 00912278 00000001 00000000 00010000 00000000 BEEFDEAD 00000001 0090EDD8 00000000 00912238 00000001 00000004 00010000 00000000 BEEFDEAD 00000001 0090EDF8 00000000 00912218 00000001 00000000 00010000 00000000 BEEFDEAD 00000001 0090EE18 00000000 68ED9A06 FFFFFFFF 00000000 00000000 00000000 BEEFDEAD 00000002 0090EE38 D00000D0 009122B8 00000001 0000001A 00000000 D00000C8 00912298 00000001 0090EE58 00000008 00000001 BEEFDEAD 00000002 D00000C8 00912258 00000001 00000008 0090EE78 00000000 D00000D0 00912298 00000001 00000008 01000001 BEEFDEAD 00000003 0090EE98 D00000D0 00912258 00000001 00000008 01000000 D00000D0 00912258 00000001 0090EEB8 00000008 01000000 D00000D0 00912258 00000001 00000008 01000000 00000000 0090EED8 BEEFDEAD 00000004 D00000C0 00912338 00000001 00000001 00000000 00000002 0090EEF8 00912318 00000001 0000000C 00010001 00000000 009122F8 00000001 00000000 0090EF18 00010000 00000002 009122D8 00000001 0000000C 00010000 0090D250 00912758 0090EF38 009128D8 0090E910 0090D270 0090D290 0090E990 0090D2B0 0090D2D0 0090D2F0

  36. THE END • Thanks for staying awake (if you did) • Enjoy the rest of the conference • A copy of presentation will be available at www.pcs-training.co.uk/downloads.htm • Any questions drop me a line at paul@pcs-training.co.uk

More Related