如何解码python字符串

时间:2015-10-19 15:09:58

标签: python string base64 decode

我有一些代码,我想要解码,但没有太多运气猜测代码页是什么,如果有任何使用。任何帮助将不胜感激。

以下是代码:

exec("import re;import base64");exec((lambda p,y:(lambda o,b,f:re.sub(o,b,f))(r"([0-9a-f]+)",lambda m:p(m,y),base64.b64decode("OTIgMjEsOTQsMTQsYywxMTcsMTEsMTA2LDNhLDJmLDRmLDhlCmVmIGUyLjEzZC5iZCA5MiBhMAplZiBjOSA5MiA3MwoKM2UgICAgICAgID0gJzEwNC44NC4xMTUnCjE5ICAgICAgID0gOTQuYTAoZTk9M2UpCmRkICAgICAgICAgICA9IGEwKDNlLCAyZi4xYikKYzcgICAgICAgICAgPSAyMS42NygxMDYuZTguZTYoJ2EzOi8vZWMvYzEvJyArIDNlICwgJ2M3LjEwOCcpKQo5OCAgICAgICAgICAgID0gMjEuNjcoMTA2LmU4LmU2KCdhMzovL2VjL2MxLycgKyAzZSwgJzk4LmUwJykpCmFhICAgICAgICAgPSAnZjQ6Ly85MS43Yi4xMzgvYmIvNzAuYjknCjc0ICAgICAgICA9IDE5LjJjKCdjZicpCjM4ICAgICAgID0gMTkuMmMoJ2MwJykKNjMgICAgICAgPSBkZC5mZC4xNDYoJzYzJywgJycpCmFiICAgICAgICAgPSAxOS4yYygnYzUnKQpiYyA9JzcyOi8vOTEuODEuNGUvMTMvMTNhLzEwNT8xNTk9JwpiYSA9JyZkMD0xNTMmZjE9YWUmMTU1PTEyMSYxMGY9NDEmNjA9ODQmN2Y9NTAnCmYwID0gJzcyOi8vOTEuODEuNGUvMTMvMTNhL2IyP2YxPWFlJmNhPScKZGUgPSAnJjdmPTUwJjEwZj00MCcKCjNmIDcwKCk6CgkxNGE9NTIoYWEpCQoJMTc9M2EuMjUoJ2YzPSIoLis/KSIuKz80OD0iKC4rPykiLis/MTAxPSIoLis/KSInLDNhLjVhKS4yNCgxNGEpCgk0NCBmMyw0OCw2MyAyMyAxNzoKCQkxNiBjMiAnYmUnIDIzIGYzOgoJCQkyMChmMyw0OCwxLDYzLGM3KQoJCTE2ICdiZScgMjMgZjM6CgkJCTE2IDc0ID09ICc5ZSc6CgkJCQkxNiAzOCA9PSAnJzoKCQkJCSAgICA3OCA9IDE0LmJmKCkKCQkJCSAgICBiNCA9IDc4LmQ4KCdkNyBhNScsICcxNDggMTM5IDEyMiAxMTEgMTJmIGNmIDY0JywnJywnYjggMTE4IGEgYzAgMTExIGZmIGRhIDExMicsJ2I1JywnMTI5IDE0YycpCgkJCQkgICAgMTYgYjQgPT0gMToKCQkJCQk1NiA9IDIxLjlmKCcnLCAnMTEzIDk5JykKCQkJCQk1Ni5hZCgpCgkJCQkJMTYgKDU2LjdhKCkpOgoJCQkJCSAgICA4YSA9IDU2LmE3KCkKCQkJCQkgICAgMTkuZDkoJ2MwJyw4YSkgICAgICAKCQkJCQkyMChmMyw0OCwxLDYzLGM3KQoJCQkxNiA3NCA9PSAnOWUnOgoJCQkJMTYgMzggPD4gJyc6CgkJCQkJMjAoZjMsNDgsMSw2MyxjNykKCTNjKCcxNTIgMTM3IGY5IDEzNicsJzQ4JywyLCdmNDovLzkxLjdiLjEzOC9iYi8xMDIvZmUuMTA4JyxjNykKCTIxLmYoJzE1NC4yYSgxNDEpJykKICAgICAgCjNmIDc3KDQ4KToKCTE2ICc3MCcgMjMgNDg6CgkJOWMoNDgpCgkxNiAnYmUnIDIzIDQ4OgoJCTE2IDM4IDw+ICcnOgoJCQk3OCA9IDE0LmJmKCkKCQkJYjQgPSA3OC5kOCgnZDcgYTUnLCAnYjggMTFmIDEwYSBjMCAxNGIgMTE4JywnMTExIGYyJywnJywnYjUnLCcxMmMgMTRmIDEwYSAxMjMnKQoJCQkxNiBiNCA9PSAxOgoJCQkgICA1ODogICAgIAoJCQkgICAgICA1NiA9IDIxLjlmKCcnLCAnMTEzIDk5JykKCQkJICAgICAgNTYuYWQoKQoJCQkgICAgICAxNiAoNTYuN2EoKSk6CgkJCQkgICAgOGEgPSA1Ni5hNygpCgkJCSAgICAgIDE2IDhhID09IDM4OgoJCQkJMjYgPSA2Mig0OCkKCQkJCTQ0IDY4IDIzIDI2OgoJCQkJICAgICAgIDNjKDY4WyJmMyJdLDY4WyI0OCJdLDMsNjMsYzcpCgkJCSAgIDFlOjQ1CgkxNiAnYjYnIDIzIDQ4OgoJCTI2ID0gNjIoNDgpCgkJMTBlID0gNjUoMjYpCgkJNDQgNjggMjMgMjY6CgkJCTdjKDY4WyJmMyJdLDY4WyI0OCJdLDMsNjMsMTBlLDE4PTZmKQoJCWE5KCdiNicsICcxMjcnKQoJCTE2ICc3MCcgMjMgNDg6CgkJCTIxLmYoJzE1NC4yYSg1MCknKQoJNTcgJ2JlJyBjMiAyMyA0ODoKCQkxMjggPSA0OAoJCTI2ID0gNjIoNDgpCgkJNDQgNjggMjMgMjY6CgkJCTE2ICcxMy40ZS83ZD8zMz0nIDIzIDY4WyI0OCJdOgoJCQkJMjAoNjhbImYzIl0sNjhbIjQ4Il0sMyw2MyxjNykKCQkJNTcgJzEzLjRlLzU0PzVmPScgMjMgNjhbIjQ4Il06CgkJCQkyMCg2OFsiZjMiXSw2OFsiNDgiXSwzLDYzLGM3KQoJCQk1NToKCQkJCTE2ICdiOScgMjMgNjhbIjQ4Il06CgkJCQkJMjAoNjhbImYzIl0sNjhbIjQ4Il0sMyw2MyxjNykKCQkJCTU1OgoJCQkJCTNjKDY4WyJmMyJdLDY4WyI0OCJdLDMsNjMsYzcpCgkJMjEuZignMTU0LjJhKDUwKScpCgkKM2YgOWMoNDgpOgoJMTRhPTUyKDQ4KQkKCTE3PTNhLjI1KCdmMz0iKC4rPykiLis/NDg9IiguKz8pIi4rPzEwMT0iKC4rPykiJywzYS41YSkuMjQoMTRhKQoJNDQgZjMsNDgsNjMgMjMgMTc6CgkJMTYgJzEzLjRlLzU0PzVmPScgMjMgNDg6CgkJCTIwKGYzLDQ4LDMsNjMsYzcpCgkJNTcgJzEzLjRlLzdkPzMzPScgMjMgNDg6CgkJCTIwKGYzLDQ4LDMsNjMsYzcpCgkJNTU6CgkJCTIwKGYzLDQ4LDEsNjMsYzcpCgkyMS5mKCcxNTQuMmEoNTApJykKCjNmIDYyKDQ4KToKCTE0YT01Mig0OCkJCgk2MT0zYS4yNSgnXiMuKz86LT9bMC05XSooLio/KSwoLio/KVxmYyguKj8pJCcsM2EuMTU4KzNhLjE0ZCszYS5mYiszYS4xNTEpLjI0KDE0YSkKCTEwYiA9IFtdCgk0NCAxNWEsIGYzLCA0OCAyMyA2MToKCQkzNiA9IHsiMTVhIjogMTVhLCAiZjMiOiBmMywgIjQ4IjogNDh9CgkJMTBiLjhmKDM2KQoJNWYgPSBbXQoJNDQgNjggMjMgMTBiOgoJCTM2ID0geyJmMyI6IDY4WyJmMyJdLCAiNDgiOiA2OFsiNDgiXX0KCQk2MT0zYS4yNSgnICguKz8pPSIoLis/KSInLDNhLjE1OCszYS4xNGQrM2EuZmIrM2EuMTUxKS4yNCg2OFsiMTVhIl0pCgkJNDQgZDEsIGQ2IDIzIDYxOgoJCQkzNltkMS5jYygpLjExZSgpLjQoJy0nLCAnMTVjJyldID0gZDYuY2MoKQoJCTVmLjhmKDM2KQoJMWYgNWYKCSAgICAgCjNmIDk3KDQ4LGYzKToKCSAgICAyOSA0OAoJICAgIDE2ICdiOScgMjMgNDg6CgkJICAgIDI5ICcxMjQgYjknCgkJICAgIDc3KDQ4KQoJICAgIDU1OgoJCSAgICAxNiAnMTMuNGUvN2Q/MzM9JyAyMyA0ODoKCQkJMjkgJ2FjIDEwNycKCQkJM2QgPSA0OC44MCgnMzM9JylbMV0KCQkJODIgPSBiYyArIDNkICsgYmEKCQkJMzcgPSAxMS40YSg4MikKCQkJMzcuMmUoJzg5LTZjJywgJzRjLzUuMCAoMTU3OyBmYjsgMTU3IGNlIDUuMTsgZGMtY2I7IGQ1OjEuOS4wLjMpIDZkLzJkIDRiLzMuMC4zJykKCQkJNyA9IDExLjQ5KDM3KQoJCQkxNGE9Ny44NSgpCgkJCTcuNmIoKQoJCQkxNGEgPSAxNGEuNCgnXDE0NycsJycpLjQoJ1xmYycsJycpLjQoJyAgJywnJykKCQkJMTc9M2EuMjUoJyJhMiI6ICIoLis/KSIuKz8iODciOiAiKC4rPykiJywzYS41YSkuMjQoMTRhKQoJCQkyOSAxNwoJCQk0NCA5ZCxmMyAyMyAxNzoKCQkJCTQ4ID0gJzcyOi8vOTEuMTMuNGUvZGI/MTRlPScrOWQKCQkJCTNjKGYzLDQ4LDMsNjMsYzcpCgkJICAgIDU3ICcxMy40ZS81ND81Zj0nIDIzIDQ4OgoJCQkyOSAnYWMgZjYnCgkJCTNkID0gNDguODAoJzU0PzVmPScpWzFdCgkJCTgyID0gZjAgKyAzZCArIGRlCgkJCTM3ID0gMTEuNGEoODIpCgkJCTM3LjJlKCc4OS02YycsICc0Yy81LjAgKDE1NzsgZmI7IDE1NyBjZSA1LjE7IGRjLWNiOyBkNToxLjkuMC4zKSA2ZC8yZCA0Yi8zLjAuMycpCgkJCTcgPSAxMS40OSgzNykKCQkJMTRhPTcuODUoKQoJCQk3LjZiKCkKCQkJMTRhID0gMTRhLjQoJ1wxNDcnLCcnKS40KCdcZmMnLCcnKS40KCcgICcsJycpCgkJCTE3PTNhLjI1KCciODciOiAiKC4rPykiLis/ImEyIjogIiguKz8pIicsM2EuNWEpLjI0KDE0YSkKCQkJNDQgZjMsOWQgMjMgMTc6CgkJCQk0OCA9ICc3MjovLzkxLjEzLjRlL2RiPzE0ZT0nKzlkCgkJCQkzYyhmMyw0OCwzLDYzLGM3KQoJCSAgICA1NyAnYzYnIDIzIDQ4OgoJCQkgICAgMjkgJ2M4JwoJCQkgICAgNDggPSA0OC40KCc4NCcsJzExYy84NCcpCgkJCSAgICAzNyA9IDExLjRhKDQ4KQoJCQkgICAgMzcuMmUoJzg5LTZjJywgJzRjLzUuMCAoMTU3OyBmYjsgMTU3IGNlIDUuMTsgZGMtY2I7IGQ1OjEuOS4wLjMpIDZkLzJkIDRiLzMuMC4zJykKCQkJICAgIDcgPSAxMS40OSgzNykKCQkJICAgIDE0YT03Ljg1KCkKCQkJICAgIDcuNmIoKQoJCQkgICAgMTc9M2EuMjUoJzE0OSIsIjQ4Ilw6IiguKz8pIicpLjI0KDE0YSlbMF0KCQkJICAgIDFhPTE3LjQoJ1wvJywnLycpCgkJCSAgICA0Mz01MwoJCQkgICAgMTNiPTE0LjMxKGYzLCAyYj02MyxlPTYzKTsgMTNiLjNiKCA2MD0iNWQiLCAyMj17ICI3MSI6IGYzIH0gKQoJCQkgICAgNDM9Yy4xM2UoNDc9NjYoMmYuMWJbMV0pLDQ4PTFhLDM0PTEzYikKCQkJICAgIDU4OgoJCQkJIDIxLmI3ICgpLmY1KDFhLCAxM2IsIDZmKQoJCQkJIDFmIDQzCgkJCSAgICAxZToKCQkJCSA0NQoJCSAgICA1NToKCQkJMjkgJzExNiAxMzInCgkJCTE2IDRmLjViKDQ4KS5lMSgpOgoJCQkJMWEgPSA0Zi41Yig0OCkuMTQ0KCkKCQkJNTU6IDFhPTQ4IAoJCQk0Mz01MwoJCQkxM2I9MTQuMzEoZjMsIDJiPTYzLGU9NjMpOyAxM2IuM2IoIDYwPSI1ZCIsIDIyPXsgIjcxIjogZjMgfSApCgkJCTQzPWMuMTNlKDQ3PTY2KDJmLjFiWzFdKSw0OD0xYSwzND0xM2IpCgkJCTU4OgoJCQkgICAgIDIxLmI3ICgpLmY1KDFhLCAxM2IsIDZmKQoJCQkgICAgIDFmIDQzCgkJCTFlOgoJCQkgICAgIDQ1CgkgICAgCjNmIGE4KCk6Cgk3NiA9ICcnCgllNSA9ICc3MjovLzEwYy4xMTQuNGUvMTBkLzE1MC80ZC04Yi8xMzA/OTYnCgkzNyA9IDExLjRhKGU1KQoJMzcuMmUoJzg5LTZjJywgJzRjLzUuMCAoMTU3OyBmYjsgMTU3IGNlIDUuMTsgZGMtY2I7IGQ1OjEuOS4wLjMpIDZkLzJkIDRiLzMuMC4zJykKCTcgPSAxMS40OSgzNykKCTE0YT03Ljg1KCkKCTcuNmIoKQoJMTRhID0gMTRhLjQoJy9mYycsJycpCgkxNGEgPSAxNGEuOTAoJ2RmLTgnKS4xMDMoJ2RmLTgnKS40KCcmIzM5OycsJ1wnJykuNCgnJiMxMDsnLCcgLSAnKS40KCcmIzExOTsnLCcnKQoJMTc9M2EuMjUoIjw4Nz4oLis/KTwvODc+Lis/PGE0PiguKz8pPC9hND4iLDNhLjVhKS4yNCgxNGEpWzE6XQoJNDQgMzAsIDk1IDIzIDE3OgoJICAgIDU4OgoJCQkgICAgMzAgPSAzMC45MCgnMTFiJywgJ2IzJykKCSAgICAxZToKCQkJICAgIDMwID0gMzAuOTAoJ2RmLTgnLCdiMycpCgkgICAgOTUgPSA5NVs6LTE1XQoJICAgIDMwID0gMzAuNCgnJjE0MzsnLCcnKQoJICAgIDk1ID0gJ1s2ZSBmN11bYl0nKzk1KydbL2JdWy82ZV0nCgkgICAgNzYgPSA3Nis5NSsnXGZjJyszMCsnXGZjJysnXGZjJwoJOWIoJ1s2ZSBmN11bYl1AZmFbL2JdWy82ZV0nLCA3NikKCjNmIDliKGE2LCA3Nik6CiAgICBlOSA9IDEyNQogICAgMjEuZignYWYoJWQpJyAlIGU5KQogICAgMjEuZDIoMTAwKQogICAgZTMgPSAxNC4xMDkoZTkpCiAgICBhMSA9IDUwCiAgICAxMWQgKGExID4gMCk6Cgk1ODoKCSAgICAyMS5kMigxMCkKCSAgICBhMSAtPSAxCgkgICAgZTMuN2UoMSkuZWQoYTYpCgkgICAgZTMuN2UoNSkuZjgoNzYpCgkgICAgMWYKCTFlOgoJICAgIDQ1CgkJCQkgICAgIAozZiA1Mig0OCk6Cgk0OCArPSAnPyVkPSVkJyAlICg4ZS5iMSgxLCBkNCksIDhlLmIxKDEsIGQ0KSkKCTM3ID0gMTEuNGEoNDgpCgkzNy4yZSgnODktNmMnLCAnNGMvNS4wICgxNTc7IGZiOyAxNTcgY2UgNS4xOyBkYy1jYjsgZDU6MS45LjAuMykgNmQvMmQgNGIvMy4wLjMnKQoJNyA9IDExLjQ5KDM3KQoJMTRhPTcuODUoKQoJMTRhID0gMTRhLjQoJ1wxNDcnLCcnKS40KCdcMTViJywnJykuNCgnJjEzYzsnLCcnKS40KCdcJycsJycpCgk3LjZiKCkKCTFmIDE0YQoKM2YgODgoKToKCTg2PVtdCgk3OT0yZi4xYlsyXQoJMTYgNjUoNzkpPj0yOgoJCTE1YT0yZi4xYlsyXQoJCTZhPTE1YS40KCc/JywnJykKCQkxNiAoMTVhWzY1KDE1YSktMV09PScvJyk6CgkJCTE1YT0xNWFbMDo2NSgxNWEpLTJdCgkJNDI9NmEuODAoJyYnKQoJCTg2PXt9CgkJNDQgMTU2IDIzIDExYSg2NSg0MikpOgoJCQkyOD17fQoJCQkyOD00MlsxNTZdLjgwKCc9JykKCQkJMTYgKDY1KDI4KSk9PTI6CgkJCQk4NlsyOFswXV09MjhbMV0KCQkJICAgICAgIAoJMWYgODYKCSAgICAgICAKM2YgMjAoZjMsNDgsMTIsNjMsYzcsMTQ1PScnKToKCWVlPTJmLjFiWzBdKyI/NDg9IisxMTcuNig0OCkrIiYxMj0iKzU5KDEyKSsiJmYzPSIrMTE3LjYoZjMpKyImNjM9IisxMTcuNig2MykrIiYxNDU9IisxMTcuNigxNDUpCgk0Mz01MwoJMTNiPTE0LjMxKGYzLCAyYj0iNjkuZTAiLCBlPTYzKQoJMTNiLjNiKCA2MD0iNWQiLCAyMj17ICI3MSI6IGYzLCAnZWInOiAxNDUgfSApCgkxM2IuMjcoJzFjJywgYzcpCgk0Mz1jLjEzZSg0Nz02NigyZi4xYlsxXSksNDg9ZWUsMzQ9MTNiLDE4PTUzKQoJMWYgNDMKCjNmIDNjKGYzLDQ4LDEyLDYzLGM3LDE0NT0nJyk6CgllZT0yZi4xYlswXSsiPzQ4PSIrMTE3LjYoNDgpKyImMTI9Iis1OSgxMikrIiZmMz0iKzExNy42KGYzKSsiJjYzPSIrMTE3LjYoNjMpKyImMTQ1PSIrMTE3LjYoMTQ1KQoJNDM9NTMKCTEzYj0xNC4zMShmMywgMmI9IjY5LmUwIiwgZT02MykKCTEzYi4zYiggNjA9IjVkIiwgMjI9eyAiNzEiOiBmMywgJ2ViJzogMTQ1IH0gKQoJMTNiLjI3KCcxYycsIGM3KQoJNDM9Yy4xM2UoNDc9NjYoMmYuMWJbMV0pLDQ4PWVlLDM0PTEzYiwxOD02ZikKCTFmIDQzCgozZiA3YyhmMyw0OCwxMiw2Myw5MywxOD02Zik6CgkxNiBhYj09JzllJzoKCSAgMTYgYzIgJzZlJyAyMyBmMzoKCSAgICA0Nj1mMy44ZCgnKCcpCgkgICAgNWM9IiIKCSAgICAxZD0iIgoJICAgIDE2IDY1KDQ2KT4wOgoJCTVjPTQ2WzBdCgkJMWQ9NDZbMl0uOGQoJyknKQoJICAgIDE2IDY1KDFkKT4wOgoJCTFkPTFkWzBdCgkgICAgMTMzID0gNzMuZTcoKQoJICAgIDgzID0gMTMzLmVhKCcxMjYnLCBmMz01YyAsMTNmPTFkKQoJICAgIGVlPTJmLjFiWzBdKyI/NDg9IisxMTcuNig0OCkrIiY1MT0iKzU5KDUxKSsiJjEyPSIrNTkoMTIpKyImZjM9IisxMTcuNihmMykKCSAgICA0Mz01MwoJICAgIDEzYj0xNC4zMShmMywgMmI9ODNbJ2U0J10sIGU9NjMpCgkgICAgMTNiLjNiKCA2MD0iNWQiLCAyMj0gODMgKQoJICAgIDMyID0gW10KCSAgICAzMi44ZigoJzEyMCBjNCcsICcxNDAuMTEwKDEzNCknKSkKCSAgICAxM2IuOGMoMzIsIGMzPTUzKQoJICAgIDE2IGMyIDgzWyc3NSddID09ICcnOiAxM2IuMjcoJzFjJywgODNbJzc1J10pCgkgICAgNTU6IDEzYi4yNygnMWMnLCBjNykKCSAgICA0Mz1jLjEzZSg0Nz02NigyZi4xYlsxXSksNDg9ZWUsMzQ9MTNiLDE4PTE4LGQzPTkzKQoJICAgIDFmIDQzCgk1NToKCSAgICBlZT0yZi4xYlswXSsiPzQ4PSIrMTE3LjYoNDgpKyImNTE9Iis1OSg1MSkrIiYxMj0iKzU5KDEyKSsiJmYzPSIrMTE3LjYoZjMpCgkgICAgNDM9NTMKCSAgICAxM2I9MTQuMzEoZjMsIDJiPTk4LCBlPTk4KQoJICAgIDEzYi4zYiggNjA9IjVkIiwgMjI9eyAiNzEiOiBmMyB9ICkKCSAgICAxM2IuMjcoJzFjJywgYzcpCgkgICAgNDM9Yy4xM2UoNDc9NjYoMmYuMWJbMV0pLDQ4PWVlLDM0PTEzYiwxOD0xOCkKCSAgICAxZiA0MwoJCjNmIGE5KDY0LCA5YSk6CiAgICAxNiA2NDoKCWMuY2QoNjYoMmYuMWJbMV0pLCA2NCkKICAgIDE2IDE5LjJjKCcxMzUtMTJhJyk9PSc5ZSc6CgkyMS5mKCIxNTQuMmEoJTE1MCkiICUgMTkuMmMoOWEpICkKCjE1YT04OCgpOyA0OD01ZTsgZjM9NWU7IDEyPTVlOyA1MT01ZTsgNjM9NWUKNTg6IDUxPTExNy4zNSgxNWFbIjUxIl0pCjFlOiA0NQo1ODogNDg9MTE3LjM1KDE1YVsiNDgiXSkKMWU6IDQ1CjU4OiBmMz0xMTcuMzUoMTVhWyJmMyJdKQoxZTogNDUKNTg6IDEyPTY2KDE1YVsiMTIiXSkKMWU6IDQ1CjU4OiA2Mz0xMTcuMzUoMTVhWyI2MyJdKQoxZTogNDUKIAojMjkgIjEzMTogIis1OSg1MSk7IDI5ICIxMmU6ICIrNTkoMTIpOyAyOSAiMTQyOiAiKzU5KDQ4KTsgMjkgIjEyZDogIis1OShmMykKIAoxNiAxMj09NWUgMTJiIDQ4PT01ZSAxMmIgNjUoNDgpPDE6IDcwKCkKNTcgMTI9PTE6NzcoNDgpCjU3IDEyPT0yOmE4KCkKNTcgMTI9PTM6OTcoNDgsZjMpCgpjLmIwKDY2KDJmLjFiWzFdKSk=")))(lambda a,b:b[int("0x"+a.group(1),16)],"0|1|2|3|replace|5|quote_plus|response|8|9|a|B|xbmcplugin|d|thumbnailImage|executebuiltin|10|urllib2|mode|youtube|xbmcgui|15|if|match|isFolder|selfAddon|streamurl|argv|fanart_image|simpleyear|except|return|addDir|xbmc|infoLabels|in|findall|compile|channels|setProperty|splitparams|print|SetViewMode|iconImage|getSetting|2008092417|add_header|sys|status|ListItem|contextMenuItems|search_query|listitem|unquote_plus|item_data|req|adultpass|39|re|setInfo|addLink|searchterm|addon_id|def|AIzaSyBAdxZCHbeJwnQ7dDZQJNfcaF46MdqJ24E|AIzaSyA7v1QOHz8Q4my5J8uGSpr0zRrntRjnMmk|pairsofparams|ok|for|pass|splitName|handle|url|urlopen|Request|Firefox|Mozilla|AKfycbyBcUa5TlEQudk6Y_0o0ZubnmhGL_|com|urlresolver|50|site|open_url|True|playlist|else|keyb|elif|try|str|DOTALL|HostedMediaFile|simplename|Video|None|list|type|matches|GetList|iconimage|content|len|int|translatePath|channel|DefaultFolder|cleanedparams|close|Agent|Gecko|COLOR|False|Index|Title|https|metahandlers|adultopt|backdrop_url|text|GetChans|dialog|paramstring|isConfirmed|metalkettle|addLinkMeta|results|getControl|maxResults|split|googleapis|ytapi|meta|video|read|param|title|get_params|User|passw|b7Up8kQt11xgVwz3ErTo|addContextMenuItems|partition|random|append|decode|www|import|itemcount|xbmcaddon|dte|588677963413065728|PLAYLINK|icon|Password|viewType|showText|CatIndex|ytid|true|Keyboard|Addon|retry|videoId|special|pubDate|Content|heading|getText|TWITTER|setView|baseurl|metaset|Youtube|doModal|snippet|ActivateWindow|endOfDirectory|randint|playlistItems|ignore|ret|Cancel|movies|Player|Please|txt|ytapi2|UKTurk|ytapi1|common_addon|XXX|Dialog|password|addons|not|replaceItems|Information|enable_meta|dailymotion|fanart|DailyMotion|metahandler|playlistId|GB|strip|setContent|NT|adult|regionCode|field|sleep|totalItems|10000|rv|value|Adult|yesno|setSetting|accidental|watch|en|addon|ytpl2|utf|png|valid_url|resources|win|cover_url|twit|join|MetaData|path|id|get_meta|plot|home|setLabel|u|from|ytpl|part|continue|name|http|play|Playlist|blue|setText|Twitter|uk_turk|U|n|queries|twitter|prevent|100|img|thumbs|encode|plugin|search|os|Search|jpg|Window|the|li|script|macros|cnt|key|Action|to|access|Set|google|ukturk|Direct|urllib|set|x2026|range|ascii|embed|while|lower|enter|Movie|en_US|opted|money|Found|10147|movie|MAIN|burl|Lets|view|or|Show|Name|Mode|show|exec|Site|Link|mg|Info|auto|Feed|Turk|co|have|v3|liz|nbsp|libs|addDirectoryItem|year|XBMC|500|URL|amp|resolve|description|get|r|You|mp4|link|you|Go|M|v|me|s|S|UK|US|Container|hl|i|Windows|I|q|params|t|_".split("|")))

2 个答案:

答案 0 :(得分:5)

请注意,正如in the comments所指出的那样,如果您只想查看生成的脚本,则可以将第二个exec替换为print,因此请从例如:

exec("import re;import base64");exec((lambda p,y: ...

为:

exec("import re;import base64");print((lambda p,y: ...
                              # ^^^^^

并运行结果。如果您想了解更多关于 的工作原理,请参阅下文。

你有两个输入,一个是管道分离数据(pipestr),另一个是基于该数据汇编的程序结构,以base 64编码({{1} })。考虑到这两个字符串文字(加上不必要的b64str),你只剩下:

'0x'

这是解码结构:

data = pipestr.split("|")
code = re.sub(
    r"([0-9a-f]+)",  # find all hexadecimals
    lambda match: data[int(match.group(1), 16)],  # replace them by indexing the data
    base64.b64decode(b64str)  # insert into the structure
)

通过索引数据来替换这些不同的部分以选择适当的组件(例如,第一行中的92 21,94,14,c,117,11,106,3a,2f,4f,8e ef e2.13d.bd 92 a0 ef c9 92 73 3e = '104.84.115' 19 = 94.a0(e9=3e) dd = a0(3e, 2f.1b) c7 = 21.67(106.e8.e6('a3://ec/c1/' + 3e , 'c7.108')) 98 = 21.67(106.e8.e6('a3://ec/c1/' + 3e, '98.e0')) aa = 'f4://91.7b.138/bb/70.b9' 74 = 19.2c('cf') 38 = 19.2c('c0') 63 = dd.fd.146('63', '') ab = 19.2c('c5') bc ='72://91.81.4e/13/13a/105?159=' ba ='&d0=153&f1=ae&155=121&10f=41&60=84&7f=50' f0 = '72://91.81.4e/13/13a/b2?f1=ae&ca=' de = '&7f=50&10f=40' 3f 70(): 14a=52(aa) 17=3a.25('f3="(.+?)".+?48="(.+?)".+?101="(.+?)"',3a.5a).24(14a) 44 f3,48,63 23 17: 16 c2 'be' 23 f3: 20(f3,48,1,63,c7) 16 'be' 23 f3: 16 74 == '9e': 16 38 == '': 78 = 14.bf() b4 = 78.d8('d7 a5', '148 139 122 111 12f cf 64','','b8 118 a c0 111 ff da 112','b5','129 14c') 16 b4 == 1: 56 = 21.9f('', '113 99') 56.ad() 16 (56.7a()): 8a = 56.a7() 19.d9('c0',8a) 20(f3,48,1,63,c7) 16 74 == '9e': 16 38 <> '': 20(f3,48,1,63,c7) 3c('152 137 f9 136','48',2,'f4://91.7b.138/bb/102/fe.108',c7) 21.f('154.2a(141)') 3f 77(48): 16 '70' 23 48: 9c(48) 16 'be' 23 48: 16 38 <> '': 78 = 14.bf() b4 = 78.d8('d7 a5', 'b8 11f 10a c0 14b 118','111 f2','','b5','12c 14f 10a 123') 16 b4 == 1: 58: 56 = 21.9f('', '113 99') 56.ad() 16 (56.7a()): 8a = 56.a7() 16 8a == 38: 26 = 62(48) 44 68 23 26: 3c(68["f3"],68["48"],3,63,c7) 1e:45 16 'b6' 23 48: 26 = 62(48) 10e = 65(26) 44 68 23 26: 7c(68["f3"],68["48"],3,63,10e,18=6f) a9('b6', '127') 16 '70' 23 48: 21.f('154.2a(50)') 57 'be' c2 23 48: 128 = 48 26 = 62(48) 44 68 23 26: 16 '13.4e/7d?33=' 23 68["48"]: 20(68["f3"],68["48"],3,63,c7) 57 '13.4e/54?5f=' 23 68["48"]: 20(68["f3"],68["48"],3,63,c7) 55: 16 'b9' 23 68["48"]: 20(68["f3"],68["48"],3,63,c7) 55: 3c(68["f3"],68["48"],3,63,c7) 21.f('154.2a(50)') 3f 9c(48): 14a=52(48) 17=3a.25('f3="(.+?)".+?48="(.+?)".+?101="(.+?)"',3a.5a).24(14a) 44 f3,48,63 23 17: 16 '13.4e/54?5f=' 23 48: 20(f3,48,3,63,c7) 57 '13.4e/7d?33=' 23 48: 20(f3,48,3,63,c7) 55: 20(f3,48,1,63,c7) 21.f('154.2a(50)') 3f 62(48): 14a=52(48) 61=3a.25('^#.+?:-?[0-9]*(.*?),(.*?)\fc(.*?)$',3a.158+3a.14d+3a.fb+3a.151).24(14a) 10b = [] 44 15a, f3, 48 23 61: 36 = {"15a": 15a, "f3": f3, "48": 48} 10b.8f(36) 5f = [] 44 68 23 10b: 36 = {"f3": 68["f3"], "48": 68["48"]} 61=3a.25(' (.+?)="(.+?)"',3a.158+3a.14d+3a.fb+3a.151).24(68["15a"]) 44 d1, d6 23 61: 36[d1.cc().11e().4('-', '15c')] = d6.cc() 5f.8f(36) 1f 5f 3f 97(48,f3): 29 48 16 'b9' 23 48: 29 '124 b9' 77(48) 55: 16 '13.4e/7d?33=' 23 48: 29 'ac 107' 3d = 48.80('33=')[1] 82 = bc + 3d + ba 37 = 11.4a(82) 37.2e('89-6c', '4c/5.0 (157; fb; 157 ce 5.1; dc-cb; d5:1.9.0.3) 6d/2d 4b/3.0.3') 7 = 11.49(37) 14a=7.85() 7.6b() 14a = 14a.4('\147','').4('\fc','').4(' ','') 17=3a.25('"a2": "(.+?)".+?"87": "(.+?)"',3a.5a).24(14a) 29 17 44 9d,f3 23 17: 48 = '72://91.13.4e/db?14e='+9d 3c(f3,48,3,63,c7) 57 '13.4e/54?5f=' 23 48: 29 'ac f6' 3d = 48.80('54?5f=')[1] 82 = f0 + 3d + de 37 = 11.4a(82) 37.2e('89-6c', '4c/5.0 (157; fb; 157 ce 5.1; dc-cb; d5:1.9.0.3) 6d/2d 4b/3.0.3') 7 = 11.49(37) 14a=7.85() 7.6b() 14a = 14a.4('\147','').4('\fc','').4(' ','') 17=3a.25('"87": "(.+?)".+?"a2": "(.+?)"',3a.5a).24(14a) 44 f3,9d 23 17: 48 = '72://91.13.4e/db?14e='+9d 3c(f3,48,3,63,c7) 57 'c6' 23 48: 29 'c8' 48 = 48.4('84','11c/84') 37 = 11.4a(48) 37.2e('89-6c', '4c/5.0 (157; fb; 157 ce 5.1; dc-cb; d5:1.9.0.3) 6d/2d 4b/3.0.3') 7 = 11.49(37) 14a=7.85() 7.6b() 17=3a.25('149","48"\:"(.+?)"').24(14a)[0] 1a=17.4('\/','/') 43=53 13b=14.31(f3, 2b=63,e=63); 13b.3b( 60="5d", 22={ "71": f3 } ) 43=c.13e(47=66(2f.1b[1]),48=1a,34=13b) 58: 21.b7 ().f5(1a, 13b, 6f) 1f 43 1e: 45 55: 29 '116 132' 16 4f.5b(48).e1(): 1a = 4f.5b(48).144() 55: 1a=48 43=53 13b=14.31(f3, 2b=63,e=63); 13b.3b( 60="5d", 22={ "71": f3 } ) 43=c.13e(47=66(2f.1b[1]),48=1a,34=13b) 58: 21.b7 ().f5(1a, 13b, 6f) 1f 43 1e: 45 3f a8(): 76 = '' e5 = '72://10c.114.4e/10d/150/4d-8b/130?96' 37 = 11.4a(e5) 37.2e('89-6c', '4c/5.0 (157; fb; 157 ce 5.1; dc-cb; d5:1.9.0.3) 6d/2d 4b/3.0.3') 7 = 11.49(37) 14a=7.85() 7.6b() 14a = 14a.4('/fc','') 14a = 14a.90('df-8').103('df-8').4('&#39;','\'').4('&#10;',' - ').4('&#119;','') 17=3a.25("<87>(.+?)</87>.+?<a4>(.+?)</a4>",3a.5a).24(14a)[1:] 44 30, 95 23 17: 58: 30 = 30.90('11b', 'b3') 1e: 30 = 30.90('df-8','b3') 95 = 95[:-15] 30 = 30.4('&143;','') 95 = '[6e f7][b]'+95+'[/b][/6e]' 76 = 76+95+'\fc'+30+'\fc'+'\fc' 9b('[6e f7][b]@fa[/b][/6e]', 76) 3f 9b(a6, 76): e9 = 125 21.f('af(%d)' % e9) 21.d2(100) e3 = 14.109(e9) a1 = 50 11d (a1 > 0): 58: 21.d2(10) a1 -= 1 e3.7e(1).ed(a6) e3.7e(5).f8(76) 1f 1e: 45 3f 52(48): 48 += '?%d=%d' % (8e.b1(1, d4), 8e.b1(1, d4)) 37 = 11.4a(48) 37.2e('89-6c', '4c/5.0 (157; fb; 157 ce 5.1; dc-cb; d5:1.9.0.3) 6d/2d 4b/3.0.3') 7 = 11.49(37) 14a=7.85() 14a = 14a.4('\147','').4('\15b','').4('&13c;','').4('\'','') 7.6b() 1f 14a 3f 88(): 86=[] 79=2f.1b[2] 16 65(79)>=2: 15a=2f.1b[2] 6a=15a.4('?','') 16 (15a[65(15a)-1]=='/'): 15a=15a[0:65(15a)-2] 42=6a.80('&') 86={} 44 156 23 11a(65(42)): 28={} 28=42[156].80('=') 16 (65(28))==2: 86[28[0]]=28[1] 1f 86 3f 20(f3,48,12,63,c7,145=''): ee=2f.1b[0]+"?48="+117.6(48)+"&12="+59(12)+"&f3="+117.6(f3)+"&63="+117.6(63)+"&145="+117.6(145) 43=53 13b=14.31(f3, 2b="69.e0", e=63) 13b.3b( 60="5d", 22={ "71": f3, 'eb': 145 } ) 13b.27('1c', c7) 43=c.13e(47=66(2f.1b[1]),48=ee,34=13b,18=53) 1f 43 3f 3c(f3,48,12,63,c7,145=''): ee=2f.1b[0]+"?48="+117.6(48)+"&12="+59(12)+"&f3="+117.6(f3)+"&63="+117.6(63)+"&145="+117.6(145) 43=53 13b=14.31(f3, 2b="69.e0", e=63) 13b.3b( 60="5d", 22={ "71": f3, 'eb': 145 } ) 13b.27('1c', c7) 43=c.13e(47=66(2f.1b[1]),48=ee,34=13b,18=6f) 1f 43 3f 7c(f3,48,12,63,93,18=6f): 16 ab=='9e': 16 c2 '6e' 23 f3: 46=f3.8d('(') 5c="" 1d="" 16 65(46)>0: 5c=46[0] 1d=46[2].8d(')') 16 65(1d)>0: 1d=1d[0] 133 = 73.e7() 83 = 133.ea('126', f3=5c ,13f=1d) ee=2f.1b[0]+"?48="+117.6(48)+"&51="+59(51)+"&12="+59(12)+"&f3="+117.6(f3) 43=53 13b=14.31(f3, 2b=83['e4'], e=63) 13b.3b( 60="5d", 22= 83 ) 32 = [] 32.8f(('120 c4', '140.110(134)')) 13b.8c(32, c3=53) 16 c2 83['75'] == '': 13b.27('1c', 83['75']) 55: 13b.27('1c', c7) 43=c.13e(47=66(2f.1b[1]),48=ee,34=13b,18=18,d3=93) 1f 43 55: ee=2f.1b[0]+"?48="+117.6(48)+"&51="+59(51)+"&12="+59(12)+"&f3="+117.6(f3) 43=53 13b=14.31(f3, 2b=98, e=98) 13b.3b( 60="5d", 22={ "71": f3 } ) 13b.27('1c', c7) 43=c.13e(47=66(2f.1b[1]),48=ee,34=13b,18=18) 1f 43 3f a9(64, 9a): 16 64: c.cd(66(2f.1b[1]), 64) 16 19.2c('135-12a')=='9e': 21.f("154.2a(%150)" % 19.2c(9a) ) 15a=88(); 48=5e; f3=5e; 12=5e; 51=5e; 63=5e 58: 51=117.35(15a["51"]) 1e: 45 58: 48=117.35(15a["48"]) 1e: 45 58: f3=117.35(15a["f3"]) 1e: 45 58: 12=66(15a["12"]) 1e: 45 58: 63=117.35(15a["63"]) 1e: 45 #29 "131: "+59(51); 29 "12e: "+59(12); 29 "142: "+59(48); 29 "12d: "+59(f3) 16 12==5e 12b 48==5e 12b 65(48)<1: 70() 57 12==1:77(48) 57 12==2:a8() 57 12==3:97(48,f3) c.b0(66(2f.1b[1])) 变为'c',这是来自管道分离数据的12

xbmcplugin

该程序构建并执行以下内容:

>>> for x in range(20):
    print format(x, '2'), format(x, '2x'), data[x]

 0  0 0
 1  1 1
 2  2 2
 3  3 3
 4  4 replace
 5  5 5
 6  6 quote_plus
 7  7 response
 8  8 8
 9  9 9
10  a a
11  b B
12  c xbmcplugin
13  d d
14  e thumbnailImage
15  f executebuiltin
16 10 10
17 11 urllib2
18 12 mode
19 13 youtube

答案 1 :(得分:1)

如果您删除未编码的数据并只解码编码的字符串,您将获得以下内容,但Lord知道它是什么或意味着什么。

import base64
coded_data = "Just the coded data part............"
decoded_data = base64.b64decode(coded_data)
print (decoded_data)

从以下输出开始:

92 21,94,14,c,117,11,106,3a,2f,4f,8e
ef e2.13d.bd 92 a0
ef c9 92 73

3e        = '104.84.115'
19       = 94.a0(e9=3e)
dd           = a0(3e, 2f.1b)
c7          = 21.67(106.e8.e6('a3://ec/c1/' + 3e , 'c7.108'))
98            = 21.67(106.e8.e6('a3://ec/c1/' + 3e, '98.e0'))
aa         = 'f4://91.7b.138/bb/70.b9'
74        = 19.2c('cf')
38       = 19.2c('c0')
63       = dd.fd.146('63', '')
ab         = 19.2c('c5')
bc ='72://91.81.4e/13/13a/105?159='
ba ='&d0=153&f1=ae&155=121&10f=41&60=84&7f=50'
f0 = '72://91.81.4e/13/13a/b2?f1=ae&ca='
de = '&7f=50&10f=40'