版权声明:本人的作品仅供研究目的,如果读者利用本人的作品从事其他行为,与本人无关 https://blog.csdn.net/oShuangYue12/article/details/84991458
//------------------------------------------------
//--- 010 Editor v8.0.1 ¶þ½øÖÆÄ£°å
//
// File:
// Authors:
// Version:
// Purpose:
// Category:
// File Mask:
// ID Bytes:
// History:
//------------------------------------------------
typedef struct GUID
{
unsigned int Data1;
unsigned ushort Data2;
unsigned ushort Data3;
byte Data4[8];
} IID;
struct tagDUALSTRINGARRAY {
local short sizetp;
local short sizesec;
local int aNetworkAddrLen;
local int aPrincNameLen;
unsigned int wNumEntries0;
unsigned short wNumEntries;
unsigned short wSecurityOffset;
sizetp=wSecurityOffset-2;
sizesec=(wNumEntries-wSecurityOffset-1);
Printf("wNumSTRINGBINDING is %d\n",sizetp);
Printf("wNumSECURITYBINDING is %d\n",sizesec);
while(sizetp>0)
{
struct tagSTRINGBINDING {
unsigned short wTowerId;
aNetworkAddrLen= ReadWStringLength(FTell());
Printf("aNetworkAddrLen is %d\n",aNetworkAddrLen);
char aNetworkAddr[aNetworkAddrLen*2];
sizetp= sizetp-aNetworkAddrLen-1;
} STRINGBINDING;
}
byte nullterm1[2];
while(sizesec>4)
{
struct tagSECURITYBINDING{
byte wAuthnSvc[2];
byte Reserved [2];
aPrincNameLen=ReadWStringLength(FTell());
Printf("aPrincNameLen is %d \n",aPrincNameLen);
char aPrincName[aPrincNameLen*2];
sizesec=sizesec-2-aPrincNameLen;
}SECURITYBINDING;
}
byte nullterm2[2];
} DUALSTRINGARRAY ;