Private/Core.PE.Ordinals.ps1
|
# pefile-compatible ordinal->name tables for the special import libraries # (ws2_32.dll, wsock32.dll, oleaut32.dll). imphash resolves ordinals imported from # these to the real function name, as pefile / VirusTotal do; all other ordinal # imports render "ord<N>". Generated from pefile 2024.8.26; names pre-lowercased. # Parallels OffsetScan src/ordinals.rs. DO NOT EDIT BY HAND - regenerate from pefile. $script:OISpecialOrdinals = @{ 'ws2_32.dll' = @{ 1 = 'accept' 2 = 'bind' 3 = 'closesocket' 4 = 'connect' 5 = 'getpeername' 6 = 'getsockname' 7 = 'getsockopt' 8 = 'htonl' 9 = 'htons' 10 = 'ioctlsocket' 11 = 'inet_addr' 12 = 'inet_ntoa' 13 = 'listen' 14 = 'ntohl' 15 = 'ntohs' 16 = 'recv' 17 = 'recvfrom' 18 = 'select' 19 = 'send' 20 = 'sendto' 21 = 'setsockopt' 22 = 'shutdown' 23 = 'socket' 24 = 'wsapsetpostroutine' 25 = 'freeaddrinfoex' 26 = 'freeaddrinfoexw' 27 = 'freeaddrinfow' 28 = 'getaddrinfoexa' 29 = 'getaddrinfoexcancel' 30 = 'getaddrinfoexoverlappedresult' 31 = 'getaddrinfoexw' 32 = 'getaddrinfow' 33 = 'gethostnamew' 34 = 'getnameinfow' 35 = 'inetntopw' 36 = 'inetptonw' 37 = 'processsocketnotifications' 38 = 'setaddrinfoexa' 39 = 'setaddrinfoexw' 40 = 'wpucompleteoverlappedrequest' 41 = 'wpugetproviderpathex' 42 = 'wsaaccept' 43 = 'wsaaddresstostringa' 44 = 'wsaaddresstostringw' 45 = 'wsaadvertiseprovider' 46 = 'wsacloseevent' 47 = 'wsaconnect' 48 = 'wsaconnectbylist' 49 = 'wsaconnectbynamea' 50 = 'wsaconnectbynamew' 51 = 'gethostbyaddr' 52 = 'gethostbyname' 53 = 'getprotobyname' 54 = 'getprotobynumber' 55 = 'getservbyname' 56 = 'getservbyport' 57 = 'gethostname' 58 = 'wsacreateevent' 59 = 'wsaduplicatesocketa' 60 = 'wsaduplicatesocketw' 61 = 'wsaenumnamespaceprovidersa' 62 = 'wsaenumnamespaceprovidersexa' 63 = 'wsaenumnamespaceprovidersexw' 64 = 'wsaenumnamespaceprovidersw' 65 = 'wsaenumnetworkevents' 66 = 'wsaenumprotocolsa' 67 = 'wsaenumprotocolsw' 68 = 'wsaeventselect' 69 = 'wsagetoverlappedresult' 70 = 'wsagetqosbyname' 71 = 'wsagetserviceclassinfoa' 72 = 'wsagetserviceclassinfow' 73 = 'wsagetserviceclassnamebyclassida' 74 = 'wsagetserviceclassnamebyclassidw' 75 = 'wsahtonl' 76 = 'wsahtons' 77 = 'wsainstallserviceclassa' 78 = 'wsainstallserviceclassw' 79 = 'wsaioctl' 80 = 'wsajoinleaf' 81 = 'wsalookupservicebegina' 82 = 'wsalookupservicebeginw' 83 = 'wsalookupserviceend' 84 = 'wsalookupservicenexta' 85 = 'wsalookupservicenextw' 86 = 'wsanspioctl' 87 = 'wsantohl' 88 = 'wsantohs' 89 = 'wsapoll' 90 = 'wsaprovidercompleteasynccall' 91 = 'wsaproviderconfigchange' 92 = 'wsarecv' 93 = 'wsarecvdisconnect' 94 = 'wsarecvfrom' 95 = 'wsaremoveserviceclass' 96 = 'wsaresetevent' 97 = 'wsasend' 98 = 'wsasenddisconnect' 99 = 'wsasendmsg' 100 = 'wsasendto' 101 = 'wsaasyncselect' 102 = 'wsaasyncgethostbyaddr' 103 = 'wsaasyncgethostbyname' 104 = 'wsaasyncgetprotobynumber' 105 = 'wsaasyncgetprotobyname' 106 = 'wsaasyncgetservbyport' 107 = 'wsaasyncgetservbyname' 108 = 'wsacancelasyncrequest' 109 = 'wsasetblockinghook' 110 = 'wsaunhookblockinghook' 111 = 'wsagetlasterror' 112 = 'wsasetlasterror' 113 = 'wsacancelblockingcall' 114 = 'wsaisblocking' 115 = 'wsastartup' 116 = 'wsacleanup' 117 = 'wsasetevent' 118 = 'wsasetservicea' 119 = 'wsasetservicew' 120 = 'wsasocketa' 121 = 'wsasocketw' 122 = 'wsastringtoaddressa' 123 = 'wsastringtoaddressw' 124 = 'wsaunadvertiseprovider' 125 = 'wsawaitformultipleevents' 126 = 'wscdeinstallprovider' 127 = 'wscdeinstallprovider32' 128 = 'wscdeinstallproviderex' 129 = 'wscenablensprovider' 130 = 'wscenablensprovider32' 131 = 'wscenumnamespaceproviders32' 132 = 'wscenumnamespaceprovidersex32' 133 = 'wscenumprotocols' 134 = 'wscenumprotocols32' 135 = 'wscenumprotocolsex' 136 = 'wscgetapplicationcategory' 137 = 'wscgetapplicationcategoryex' 138 = 'wscgetproviderinfo' 139 = 'wscgetproviderinfo32' 140 = 'wscgetproviderpath' 141 = 'wscgetproviderpath32' 142 = 'wscinstallnamespace' 143 = 'wscinstallnamespace32' 144 = 'wscinstallnamespaceex' 145 = 'wscinstallnamespaceex2' 146 = 'wscinstallnamespaceex32' 147 = 'wscinstallprovider' 148 = 'wscinstallprovider64_32' 149 = 'wscinstallproviderandchains64_32' 150 = 'wscinstallproviderex' 151 = '__wsafdisset' 152 = 'wscsetapplicationcategory' 153 = 'wscsetapplicationcategoryex' 154 = 'wscsetproviderinfo' 155 = 'wscsetproviderinfo32' 156 = 'wscuninstallnamespace' 157 = 'wscuninstallnamespace32' 158 = 'wscuninstallnamespaceex2' 159 = 'wscupdateprovider' 160 = 'wscupdateprovider32' 161 = 'wscupdateproviderex' 162 = 'wscwritenamespaceorder' 163 = 'wscwritenamespaceorder32' 164 = 'wscwriteproviderorder' 165 = 'wscwriteproviderorder32' 166 = 'wscwriteproviderorderex' 167 = 'wahcloseapchelper' 168 = 'wahclosehandlehelper' 169 = 'wahclosenotificationhandlehelper' 170 = 'wahclosesockethandle' 171 = 'wahclosethread' 172 = 'wahcompleterequest' 173 = 'wahcreatehandlecontexttable' 174 = 'wahcreatenotificationhandle' 175 = 'wahcreatesockethandle' 176 = 'wahdestroyhandlecontexttable' 177 = 'wahdisablenonifshandlesupport' 178 = 'wahenablenonifshandlesupport' 179 = 'wahenumeratehandlecontexts' 180 = 'wahinserthandlecontext' 181 = 'wahnotifyallprocesses' 182 = 'wahopenapchelper' 183 = 'wahopencurrentthread' 184 = 'wahopenhandlehelper' 185 = 'wahopennotificationhandlehelper' 186 = 'wahqueueuserapc' 187 = 'wahreferencecontextbyhandle' 188 = 'wahremovehandlecontext' 189 = 'wahwaitfornotification' 190 = 'wahwritelspevent' 191 = 'freeaddrinfo' 192 = 'getaddrinfo' 193 = 'getnameinfo' 194 = 'inet_ntop' 195 = 'inet_pton' 500 = 'wep' } 'wsock32.dll' = @{ 1 = 'accept' 2 = 'bind' 3 = 'closesocket' 4 = 'connect' 5 = 'getpeername' 6 = 'getsockname' 7 = 'getsockopt' 8 = 'htonl' 9 = 'htons' 10 = 'inet_addr' 11 = 'inet_ntoa' 12 = 'ioctlsocket' 13 = 'listen' 14 = 'ntohl' 15 = 'ntohs' 16 = 'recv' 17 = 'recvfrom' 18 = 'select' 19 = 'send' 20 = 'sendto' 21 = 'setsockopt' 22 = 'shutdown' 23 = 'socket' 24 = 'migratewinsockconfiguration' 51 = 'gethostbyaddr' 52 = 'gethostbyname' 53 = 'getprotobyname' 54 = 'getprotobynumber' 55 = 'getservbyname' 56 = 'getservbyport' 57 = 'gethostname' 101 = 'wsaasyncselect' 102 = 'wsaasyncgethostbyaddr' 103 = 'wsaasyncgethostbyname' 104 = 'wsaasyncgetprotobynumber' 105 = 'wsaasyncgetprotobyname' 106 = 'wsaasyncgetservbyport' 107 = 'wsaasyncgetservbyname' 108 = 'wsacancelasyncrequest' 109 = 'wsasetblockinghook' 110 = 'wsaunhookblockinghook' 111 = 'wsagetlasterror' 112 = 'wsasetlasterror' 113 = 'wsacancelblockingcall' 114 = 'wsaisblocking' 115 = 'wsastartup' 116 = 'wsacleanup' 151 = '__wsafdisset' 500 = 'wep' 1000 = 'wsapsetpostroutine' 1100 = 'inet_network' 1101 = 'getnetbyname' 1102 = 'rcmd' 1103 = 'rexec' 1104 = 'rresvport' 1105 = 'sethostname' 1106 = 'dn_expand' 1107 = 'wsarecvex' 1108 = 's_perror' 1109 = 'getaddressbynamea' 1110 = 'getaddressbynamew' 1111 = 'enumprotocolsa' 1112 = 'enumprotocolsw' 1113 = 'gettypebynamea' 1114 = 'gettypebynamew' 1115 = 'getnamebytypea' 1116 = 'getnamebytypew' 1117 = 'setservicea' 1118 = 'setservicew' 1119 = 'getservicea' 1120 = 'getservicew' 1130 = 'nploadnamespaces' 1140 = 'transmitfile' 1141 = 'acceptex' 1142 = 'getacceptexsockaddrs' } 'oleaut32.dll' = @{ 2 = 'sysallocstring' 3 = 'sysreallocstring' 4 = 'sysallocstringlen' 5 = 'sysreallocstringlen' 6 = 'sysfreestring' 7 = 'sysstringlen' 8 = 'variantinit' 9 = 'variantclear' 10 = 'variantcopy' 11 = 'variantcopyind' 12 = 'variantchangetype' 13 = 'varianttimetodosdatetime' 14 = 'dosdatetimetovarianttime' 15 = 'safearraycreate' 16 = 'safearraydestroy' 17 = 'safearraygetdim' 18 = 'safearraygetelemsize' 19 = 'safearraygetubound' 20 = 'safearraygetlbound' 21 = 'safearraylock' 22 = 'safearrayunlock' 23 = 'safearrayaccessdata' 24 = 'safearrayunaccessdata' 25 = 'safearraygetelement' 26 = 'safearrayputelement' 27 = 'safearraycopy' 28 = 'dispgetparam' 29 = 'dispgetidsofnames' 30 = 'dispinvoke' 31 = 'createdisptypeinfo' 32 = 'createstddispatch' 33 = 'registeractiveobject' 34 = 'revokeactiveobject' 35 = 'getactiveobject' 36 = 'safearrayallocdescriptor' 37 = 'safearrayallocdata' 38 = 'safearraydestroydescriptor' 39 = 'safearraydestroydata' 40 = 'safearrayredim' 41 = 'safearrayallocdescriptorex' 42 = 'safearraycreateex' 43 = 'safearraycreatevectorex' 44 = 'safearraysetrecordinfo' 45 = 'safearraygetrecordinfo' 46 = 'varparsenumfromstr' 47 = 'varnumfromparsenum' 48 = 'vari2fromui1' 49 = 'vari2fromi4' 50 = 'vari2fromr4' 51 = 'vari2fromr8' 52 = 'vari2fromcy' 53 = 'vari2fromdate' 54 = 'vari2fromstr' 55 = 'vari2fromdisp' 56 = 'vari2frombool' 57 = 'safearraysetiid' 58 = 'vari4fromui1' 59 = 'vari4fromi2' 60 = 'vari4fromr4' 61 = 'vari4fromr8' 62 = 'vari4fromcy' 63 = 'vari4fromdate' 64 = 'vari4fromstr' 65 = 'vari4fromdisp' 66 = 'vari4frombool' 67 = 'safearraygetiid' 68 = 'varr4fromui1' 69 = 'varr4fromi2' 70 = 'varr4fromi4' 71 = 'varr4fromr8' 72 = 'varr4fromcy' 73 = 'varr4fromdate' 74 = 'varr4fromstr' 75 = 'varr4fromdisp' 76 = 'varr4frombool' 77 = 'safearraygetvartype' 78 = 'varr8fromui1' 79 = 'varr8fromi2' 80 = 'varr8fromi4' 81 = 'varr8fromr4' 82 = 'varr8fromcy' 83 = 'varr8fromdate' 84 = 'varr8fromstr' 85 = 'varr8fromdisp' 86 = 'varr8frombool' 87 = 'varformat' 88 = 'vardatefromui1' 89 = 'vardatefromi2' 90 = 'vardatefromi4' 91 = 'vardatefromr4' 92 = 'vardatefromr8' 93 = 'vardatefromcy' 94 = 'vardatefromstr' 95 = 'vardatefromdisp' 96 = 'vardatefrombool' 97 = 'varformatdatetime' 98 = 'varcyfromui1' 99 = 'varcyfromi2' 100 = 'varcyfromi4' 101 = 'varcyfromr4' 102 = 'varcyfromr8' 103 = 'varcyfromdate' 104 = 'varcyfromstr' 105 = 'varcyfromdisp' 106 = 'varcyfrombool' 107 = 'varformatnumber' 108 = 'varbstrfromui1' 109 = 'varbstrfromi2' 110 = 'varbstrfromi4' 111 = 'varbstrfromr4' 112 = 'varbstrfromr8' 113 = 'varbstrfromcy' 114 = 'varbstrfromdate' 115 = 'varbstrfromdisp' 116 = 'varbstrfrombool' 117 = 'varformatpercent' 118 = 'varboolfromui1' 119 = 'varboolfromi2' 120 = 'varboolfromi4' 121 = 'varboolfromr4' 122 = 'varboolfromr8' 123 = 'varboolfromdate' 124 = 'varboolfromcy' 125 = 'varboolfromstr' 126 = 'varboolfromdisp' 127 = 'varformatcurrency' 128 = 'varweekdayname' 129 = 'varmonthname' 130 = 'varui1fromi2' 131 = 'varui1fromi4' 132 = 'varui1fromr4' 133 = 'varui1fromr8' 134 = 'varui1fromcy' 135 = 'varui1fromdate' 136 = 'varui1fromstr' 137 = 'varui1fromdisp' 138 = 'varui1frombool' 139 = 'varformatfromtokens' 140 = 'vartokenizeformatstring' 141 = 'varadd' 142 = 'varand' 143 = 'vardiv' 144 = 'bstr_userfree64' 145 = 'bstr_usermarshal64' 146 = 'dispcallfunc' 147 = 'variantchangetypeex' 148 = 'safearrayptrofindex' 149 = 'sysstringbytelen' 150 = 'sysallocstringbytelen' 151 = 'bstr_usersize64' 152 = 'vareqv' 153 = 'varidiv' 154 = 'varimp' 155 = 'varmod' 156 = 'varmul' 157 = 'varor' 158 = 'varpow' 159 = 'varsub' 160 = 'createtypelib' 161 = 'loadtypelib' 162 = 'loadregtypelib' 163 = 'registertypelib' 164 = 'querypathofregtypelib' 165 = 'lhashvalofnamesys' 166 = 'lhashvalofnamesysa' 167 = 'varxor' 168 = 'varabs' 169 = 'varfix' 170 = 'oabuildversion' 171 = 'clearcustdata' 172 = 'varint' 173 = 'varneg' 174 = 'varnot' 175 = 'varround' 176 = 'varcmp' 177 = 'vardecadd' 178 = 'vardecdiv' 179 = 'vardecmul' 180 = 'createtypelib2' 181 = 'vardecsub' 182 = 'vardecabs' 183 = 'loadtypelibex' 184 = 'systemtimetovarianttime' 185 = 'varianttimetosystemtime' 186 = 'unregistertypelib' 187 = 'vardecfix' 188 = 'vardecint' 189 = 'vardecneg' 190 = 'vardecfromui1' 191 = 'vardecfromi2' 192 = 'vardecfromi4' 193 = 'vardecfromr4' 194 = 'vardecfromr8' 195 = 'vardecfromdate' 196 = 'vardecfromcy' 197 = 'vardecfromstr' 198 = 'vardecfromdisp' 199 = 'vardecfrombool' 200 = 'geterrorinfo' 201 = 'seterrorinfo' 202 = 'createerrorinfo' 203 = 'vardecround' 204 = 'vardeccmp' 205 = 'vari2fromi1' 206 = 'vari2fromui2' 207 = 'vari2fromui4' 208 = 'vari2fromdec' 209 = 'vari4fromi1' 210 = 'vari4fromui2' 211 = 'vari4fromui4' 212 = 'vari4fromdec' 213 = 'varr4fromi1' 214 = 'varr4fromui2' 215 = 'varr4fromui4' 216 = 'varr4fromdec' 217 = 'varr8fromi1' 218 = 'varr8fromui2' 219 = 'varr8fromui4' 220 = 'varr8fromdec' 221 = 'vardatefromi1' 222 = 'vardatefromui2' 223 = 'vardatefromui4' 224 = 'vardatefromdec' 225 = 'varcyfromi1' 226 = 'varcyfromui2' 227 = 'varcyfromui4' 228 = 'varcyfromdec' 229 = 'varbstrfromi1' 230 = 'varbstrfromui2' 231 = 'varbstrfromui4' 232 = 'varbstrfromdec' 233 = 'varboolfromi1' 234 = 'varboolfromui2' 235 = 'varboolfromui4' 236 = 'varboolfromdec' 237 = 'varui1fromi1' 238 = 'varui1fromui2' 239 = 'varui1fromui4' 240 = 'varui1fromdec' 241 = 'vardecfromi1' 242 = 'vardecfromui2' 243 = 'vardecfromui4' 244 = 'vari1fromui1' 245 = 'vari1fromi2' 246 = 'vari1fromi4' 247 = 'vari1fromr4' 248 = 'vari1fromr8' 249 = 'vari1fromdate' 250 = 'vari1fromcy' 251 = 'vari1fromstr' 252 = 'vari1fromdisp' 253 = 'vari1frombool' 254 = 'vari1fromui2' 255 = 'vari1fromui4' 256 = 'vari1fromdec' 257 = 'varui2fromui1' 258 = 'varui2fromi2' 259 = 'varui2fromi4' 260 = 'varui2fromr4' 261 = 'varui2fromr8' 262 = 'varui2fromdate' 263 = 'varui2fromcy' 264 = 'varui2fromstr' 265 = 'varui2fromdisp' 266 = 'varui2frombool' 267 = 'varui2fromi1' 268 = 'varui2fromui4' 269 = 'varui2fromdec' 270 = 'varui4fromui1' 271 = 'varui4fromi2' 272 = 'varui4fromi4' 273 = 'varui4fromr4' 274 = 'varui4fromr8' 275 = 'varui4fromdate' 276 = 'varui4fromcy' 277 = 'varui4fromstr' 278 = 'varui4fromdisp' 279 = 'varui4frombool' 280 = 'varui4fromi1' 281 = 'varui4fromui2' 282 = 'varui4fromdec' 283 = 'bstr_usersize' 284 = 'bstr_usermarshal' 285 = 'bstr_userunmarshal' 286 = 'bstr_userfree' 287 = 'variant_usersize' 288 = 'variant_usermarshal' 289 = 'variant_userunmarshal' 290 = 'variant_userfree' 291 = 'lpsafearray_usersize' 292 = 'lpsafearray_usermarshal' 293 = 'lpsafearray_userunmarshal' 294 = 'lpsafearray_userfree' 295 = 'lpsafearray_size' 296 = 'lpsafearray_marshal' 297 = 'lpsafearray_unmarshal' 298 = 'vardeccmpr8' 299 = 'varcyadd' 300 = 'bstr_userunmarshal64' 301 = 'dllcanunloadnow' 302 = 'dllgetclassobject' 303 = 'varcymul' 304 = 'varcymuli4' 305 = 'varcysub' 306 = 'varcyabs' 307 = 'varcyfix' 308 = 'varcyint' 309 = 'varcyneg' 310 = 'varcyround' 311 = 'varcycmp' 312 = 'varcycmpr8' 313 = 'varbstrcat' 314 = 'varbstrcmp' 315 = 'varr8pow' 316 = 'varr4cmpr8' 317 = 'varr8round' 318 = 'varcat' 319 = 'vardatefromudateex' 320 = 'dllregisterserver' 321 = 'dllunregisterserver' 322 = 'getrecordinfofromguids' 323 = 'getrecordinfofromtypeinfo' 324 = 'lpsafearray_userfree64' 325 = 'setvarconversionlocalesetting' 326 = 'getvarconversionlocalesetting' 327 = 'setoanocache' 328 = 'lpsafearray_usermarshal64' 329 = 'varcymuli8' 330 = 'vardatefromudate' 331 = 'varudatefromdate' 332 = 'getaltmonthnames' 333 = 'vari8fromui1' 334 = 'vari8fromi2' 335 = 'vari8fromr4' 336 = 'vari8fromr8' 337 = 'vari8fromcy' 338 = 'vari8fromdate' 339 = 'vari8fromstr' 340 = 'vari8fromdisp' 341 = 'vari8frombool' 342 = 'vari8fromi1' 343 = 'vari8fromui2' 344 = 'vari8fromui4' 345 = 'vari8fromdec' 346 = 'vari2fromi8' 347 = 'vari2fromui8' 348 = 'vari4fromi8' 349 = 'vari4fromui8' 350 = 'lpsafearray_usersize64' 351 = 'lpsafearray_userunmarshal64' 352 = 'oacreatetypelib2' 353 = 'safearrayaddref' 354 = 'safearrayreleasedata' 355 = 'safearrayreleasedescriptor' 356 = 'sysaddrefstring' 357 = 'sysreleasestring' 358 = 'variant_userfree64' 359 = 'variant_usermarshal64' 360 = 'varr4fromi8' 361 = 'varr4fromui8' 362 = 'varr8fromi8' 363 = 'varr8fromui8' 364 = 'vardatefromi8' 365 = 'vardatefromui8' 366 = 'varcyfromi8' 367 = 'varcyfromui8' 368 = 'varbstrfromi8' 369 = 'varbstrfromui8' 370 = 'varboolfromi8' 371 = 'varboolfromui8' 372 = 'varui1fromi8' 373 = 'varui1fromui8' 374 = 'vardecfromi8' 375 = 'vardecfromui8' 376 = 'vari1fromi8' 377 = 'vari1fromui8' 378 = 'varui2fromi8' 379 = 'varui2fromui8' 380 = 'variant_usersize64' 381 = 'variant_userunmarshal64' 401 = 'oleloadpictureex' 402 = 'oleloadpicturefileex' 411 = 'safearraycreatevector' 412 = 'safearraycopydata' 413 = 'vectorfrombstr' 414 = 'bstrfromvector' 415 = 'oleicontocursor' 416 = 'olecreatepropertyframeindirect' 417 = 'olecreatepropertyframe' 418 = 'oleloadpicture' 419 = 'olecreatepictureindirect' 420 = 'olecreatefontindirect' 421 = 'oletranslatecolor' 422 = 'oleloadpicturefile' 423 = 'olesavepicturefile' 424 = 'oleloadpicturepath' 425 = 'varui4fromi8' 426 = 'varui4fromui8' 427 = 'vari8fromui8' 428 = 'varui8fromi8' 429 = 'varui8fromui1' 430 = 'varui8fromi2' 431 = 'varui8fromr4' 432 = 'varui8fromr8' 433 = 'varui8fromcy' 434 = 'varui8fromdate' 435 = 'varui8fromstr' 436 = 'varui8fromdisp' 437 = 'varui8frombool' 438 = 'varui8fromi1' 439 = 'varui8fromui2' 440 = 'varui8fromui4' 441 = 'varui8fromdec' 442 = 'registertypelibforuser' 443 = 'unregistertypelibforuser' 444 = 'oaenableperusertlibregistration' 445 = 'hwnd_userfree' 446 = 'hwnd_usermarshal' 447 = 'hwnd_usersize' 448 = 'hwnd_userunmarshal' 449 = 'hwnd_userfree64' 450 = 'hwnd_usermarshal64' 451 = 'hwnd_usersize64' 452 = 'hwnd_userunmarshal64' 500 = 'oacleanup' } } function Get-OISpecialOrdinalName { # Resolve an ordinal imported from a special library to its lowercased function # name, matching pefile. Returns $null for non-special libraries or unlisted # ordinals, so the caller falls back to "ord<N>". [CmdletBinding()] param( [Parameter(Mandatory = $true)] [AllowEmptyString()] [string]$Library, [Parameter(Mandatory = $true)] [int]$Ordinal ) $table = $script:OISpecialOrdinals[$Library.ToLowerInvariant()] if ($null -eq $table) { return $null } return $table[$Ordinal] } |