使用 Base64 混淆的 Python 文件

标签 python base64 obfuscation

我有一些.py对我来说不可读的文件,源代码被混淆了。我可以做什么来消除它们的混淆?

这是一个例子:

user.py

exec("import re;import base64")
text = 'MzYgMjYsIDhkLCBlNiwgMTYsIGY0LCA1YgozNiBkLGY2LCA3NywgZjMKMzYgZWQsIDEwMywgNTQsIGY0LmQ3CmQ2IDI2IDM2IDYzIGIzIGNkCjM2IDI4LCBmYQpkNiBjZiAzNiBlMQozNiAxOAoKCmFlPSAnZjAuMjcnCjE1ID0gOGQuMTAwKGFlKQo5MSA9IDI2LjYzKDE1LmI1KCdlNCcpKQoxZSA9IGY0LmQ3LjEwOSg5MSwgJ2RmJykKCgo2IDFkCjFkID0gJzEzLjExNicKMmIgPSAiZjkiCgo2IDExZgoxMWYgPSAxNi4xYSg0MSg1Yi40NlsxXSksICcxMWYnKQoKNiAxOQoxOSA9IDE2LjFhKDQxKDViLjQ2WzFdKSwgJzE5JykKNiBkYgpkYiA9IDE2LjFhKDQxKDViLjQ2WzFdKSwgJ2RiJykKNiBjOQpjOSA9IDE2LjFhKDQxKDViLjQ2WzFdKSwgJ2M5JykKNiA2MAo2MCA9IDE2LjFhKDQxKDViLjQ2WzFdKSwgJzYwJykKCgoKCgoKCgoKNWMgZWYoMjgpOgoJCgk3NiA9IGU2LmIoKQoJNzYuM2EoIjI4IiwgMjgsICIiLCIiKQoJCgo1YyA4KDllLCA0MywgNWYsIDhjPWRjKToKCTI1IDhjOgoJICAgYTQ6IGExID0gNzcuYjkoIig/MTIxKSIgKyA0MyArICIoW1xlOFwxMjZdKz8pIiArIDVmLCA5ZSkuYzYoMSkKCSAgIDUwOiBhMSA9ICcnCgk2YjoKCSAgIGE0OiBhMSA9IDc3LmI5KCIoPzEyMSkoIiArIDQzICsgIltcZThcMTI2XSs/IiArIDVmICsgIikiLCA5ZSkuYzYoMSkKCSAgIDUwOiBhMSA9ICcnCgkxMCBhMQoKCjVjIGE4KDI4KToKCgk5MiA9ICJmZCIKCTI1IDkyIDEyNCAyODoKCQlhNSA9IDI4LjU5KCddJykKCQk2MSA9IDI4W2E1KzE6XQoJCTk5ID0gNjEuNTkoJ1snKQoJCTI4ID0gNjFbOjk5XQoJCTEwIDI4CgoJCQo1YyA5MCgyNCwgOWYpOgoKCTgzKCkKCgkJCQoJCQoJYWYgPSAyNi40OCgiIiwgIjRiIDdiIDk1IDE5IGU3IikKCWFmLjUzKCkKCTJmID0gYWYuNTcoKQoJCglhZiA9IDI2LjQ4KCIiLCAiNGIgN2IgYSAzNCAxMWUgOTMgYjEgKDExNCBiZSBmNyAxMTAgYSAxMWYpIikKCWFmLjUzKCkKCTJjID0gYWYuNTcoKQoJCglhZiA9IDI2LjQ4KCIiLCAiNGIgN2IgOTUgMWIiKQoJYWYuYWIoZGMpCglhZi41MygpCgkyZCA9IGFmLjU3KCkKCQoJCgkKCQoJCgkjIDFjID0geyc5Zic6IDlmfQoJCgkjIDZhIDgyKDFlLCAnMTE4JykgYjMgZjoKCQkjIDU0LmJhKDFjLCBmKQoJCgkjIGYuNjgKCQoJCgkxNS43KCI5ZiIsIDlmKQoJMTUuNygiMTFmIiwgMmMpCgkjIDE1LjcoIjE5IiwgMmYpCgkKCgkKCQkKCTEyYSA9ICc1MTovLzI3LmM0LmMwLycrMWQrJz80Yz05MCY3Yz0nKzJjKycmOWI9JysyZCsnJjE5PScrMmYrJyY5Zj0nKzlmKycmNDk9Jys0OSsnJjQyPScrNDIrJyYzNT0nKzM1ICsgJyYyND0nICsgMjQgKyAnJjdkPScgKyAxOC4xOC44ZSgpLjM3KCclZTgnKQoJCgk0NSA9IDEyYS41NSAoIiAiLCAiJTIwIikKCQoJMjUgYzkgPT0gIjI5IjoKCQljZSAnQDEzOiA3MyAxMmE6ICcgKyAzYig0NSkKCQoJCgkyMyA9IGQuMzAoNDUpCgkyMy4xZignNTItNDAnLCAyYikKCTEyMyA9IGQuMzEoMjMpCgkxMWMgPSAxMjMuNTgoKQoKCQkKCTI1IGM5ID09ICIyOSI6CgkJY2UgJ0AxMzogNzMgNzE6ICcgKyAzYigxMWMpCgkKCSMgNmEgODIoMWUsICdhMScsMCkgYjMgZjoKCQkjIDFjID0gNTQuZDkoZikKCgkjIDlmID0gMWNbJzlmJ10KCSMjIDExZiA9IDFjWycxMWYnXQoJIyMgMWIgPSAxY1snMWInXQoJIyMgMTkgPSAxY1snMTknXQoKCQoJCgkxMSA9ICIxMSIKCTZlID0gMTFjLjU5KDExKQoJCgkyNSA2ZSA8PiAtMToKCQkKCQkzNCA9IDgoMTFjLCAnMTE6JywgJy8nKQoJCTY5ID0gOCgxMWMsICchIScsICchIScpCgkJCgkJCgkJNzYgPSBlNi5iKCkKCQk3Ni4zYSgiYmMgZGQiLCAiODAgMTBjIDEwNyBlZSBlMiIrMzQsICIiLCIiKQoJCTE1LjcoImRiIiwgImM1IikKCQkKCQkKCQkKCQkxYyA9IHsnOWYnOiA5ZiwgJzE5JzogJzExJ30KCQoJCTZhIDgyKDFlLCAnMTE4JykgYjMgZjoKCQkJNTQuYmEoMWMsIGYpCgkJCgkJZi42OAoJCQoJCQoJCTE1LjcoIjlmIiwgOWYpCgkJMTUuNygiMTFmIiwgMmMpCgkJIyAxNS43KCIxYiIsIDY5KQoJCSMgMTUuNygiMTkiLCAiMTEiKQoJCQoJCQoJCTEwICgxMSkKCQoJCgkKCTI1IDExYyA9PSAiY2EiOgoJCgkKCQkxNS43KCJkYiIsICI4NiIpCgkJMTUuNygiMTFmIiwgMmMpCgkJIyAxNS43KCIxYiIsIDJkKQoJCSMgMTUuNygiMTkiLCAyZikKCQoJCTc2ID0gZTYuYigpCgkJNzYuM2EoIjRiIDEyOCA5NSAxOSIsICJiMCAxOSA1ZCAxMGEgNmEgMTI1IDg1IGUwLiAoMTIwIDExNyAxMDQgYSBlYiAxMjcgZTMgYzcgMTBlIGU5Li4gMTE1JzEyYiBmYiBjNyAxMjggMTBiIGY4IDExYSkiLCAiIiwiIikKCQkKCQk5NyA9IHsnMTFmJzogMmMsICcxYic6IDJkLCAnMTknOiAyZn0KCQkKCQk3ZiA9IDU0LmZlKDk3KQoJCQoJCQoJCTEwICg3ZikKCQkKCQkKCQkKCTI1IDExYyA9PSAiOGYiOgoJCgkJCgkJCgkJMWMgPSB7JzlmJzogOWZ9CgkKCQk2YSA4MigxZSwgJzExOCcpIGIzIGY6CgkJCTU0LmJhKDFjLCBmKQoJCQoJCWYuNjgKCQkKCQkKCQkxNS43KCI5ZiIsIDlmKQoJCTE1LjcoIjExZiIsICIiKQoJCSMgMTUuNygiMTkiLCAiIikKCQkKCQkKCQk3NiA9IGU2LmIoKQoJCTc2LjNhKCI4OSAxYiIsICI4OSAxYiIsICIiLCIiKQoJCQoJCQoJCTEwICgxMWMpCQoJCQoJCQkKCTZiOgoJCQoJCTc2ID0gZTYuYigpCgkJNzYuM2EoIjY3LCA2NiA1ZCBhIDNlIiwgImIwIDY1IDM5OiBcZDJcZDIgIiArIDExYywgIiIsIiIpCgkJMjUgYzkgPT0gIjI5IjoKCQkJY2UgJ0AxMzogMTJhOiAnICsgM2IoNDUpCgkJCgkJMTAgKDExYykKCQkKCQkKCgkJCjVjIDQ3KDExZiwgMjQsIDlmKToKCgoKCWFmID0gMjYuNDgoIiIsICI0YiA3YiA5NSA4NSBlMCAoMTFiIGRhKSIpCglhZi41MygpCgk0ZCA9IGFmLjU3KCkKCQoJNmEgODIoMWUsICdhMScsMCkgYjMgZjoKCQkxYyA9IDU0LmQ5KGYpCgoJOWYgPSAxY1snOWYnXQoJCgkjIDExZiA9IDE2LjFhKDQxKDViLjQ2WzFdKSwgJzExZicpCgkjIDFiID0gMTYuMWEoNDEoNWIuNDZbMV0pLCAnMWInKQoJIyAxOSA9IDE2LjFhKDQxKDViLjQ2WzFdKSwgJzE5JykKCgoJCgkxMmEgPSAnNTE6Ly8yNy5jNC5jMC8nKzFkKyc/NGM9NDcmN2M9JysxMWYrJyYyND0nKzI0KycmOWY9Jys5ZisnJmFhPScrNGQgKyAnJjdkPScgKyAxOC4xOC44ZSgpLjM3KCclZTgnKQoJCgkyNSBjOSA9PSAiMjkiOgoJCWNlICdAMTM6IDQ3IDEyYSA9ICcgKyAzYigxMmEpCgkKCTIzID0gZC4zMCgxMmEpCgkyMy4xZignNTItNDAnLCAyYikKCTEyMyA9IGQuMzEoMjMpCgkxMWMgPSAxMjMuNTgoKQoJCgkKCTI1IDExYyA9PSAiZDAiOgoJCgkJNzYgPSBlNi5iKCkKCQk3Ni4zYSgiNmYiLCAiODAgYjEgMTA3IDhlIGMxLi4gMTBmIDExOSBmZi4uIiwgIiIsIiIpCgkJCgkJMTAgKDExYykKCQkKCTZiOgoJCQoJCTc2ID0gZTYuYigpCgkJNzYuM2EoIjY3LCA2NiA1ZCBhIDNlIiwgImIwIDY1IDM5IiwgIiIsIiIpCgkJCgkJCgkJMjUgYzkgPT0gIjI5IjoKCQkJY2UgJ0AxMzogNDcgMTIzID0gJyArIDNiKDExYykKCQkJY2UgJ0AxMzogMTJhOiAnICsgM2IoMTJhKQoJCQoJCQoJCTEwICgxMWMpCgkJCgkKCQoJCjVjIDg3KDExZiwgMzQsIDI0LCA5Zik6CgoKCTE3ID0gWyIxIiwiMiIsIjMiLCI0IiwiNSJdCgkKCTE0ID0gZTYuYigpLjhhKCJjYyBiMiBhMz8iLCAxNykKCQoJIyA3NiA9IGU2LmIoKQoJIyA3Ni4zYSgiNzEiLCAxN1sxNF0sICIiLCIiKQoJCgkKCTJhID0gNDEoMTdbMTRdKQoJCgkKCTEyYSA9ICc1MTovLzI3LmM0LmMwLycrMWQrJz80Yz04NyY3Yz0nKzExZisnJjI0PScrMjQrJyYzND0nKzM0KycmOWY9Jys5ZisnJjJhPScrM2IoMmEpICsgJyY3ZD0nICsgMTguMTguOGUoKS4zNygnJWU4JykKCQoJMjUgYzkgPT0gIjI5IjoKCQljZSAnQDY0IC0tPicKCQljZSAnICcKCQljZSAxMmEKCQoJMTJhID0gMTJhLjU1ICgiICIsICIlMjAiKQoJCgkyNSBjOSA9PSAiMjkiOgoJCWNlICdANjQgLS0+JwoJCWNlICcgJwoJCWNlIDEyYQoJCgkjY2UgMTJhCgkKCTIzID0gZC4zMCgxMmEpCgkyMy4xZignNTItNDAnLCAyYikKCTEyMyA9IGQuMzEoMjMpCgljID0gMTIzLjU4KCkKCQoJMjUgYzkgPT0gIjI5IjoKCQljZSAnQDk0IC0tPicKCQljZSAnICcKCQljZSBjCgkKCgkyNSBjID09ICI3NCI6CgoJCTc2ID0gZTYuYigpCgkJNzYuM2EoIjZmIiwgIjgwIDE3IDVkIDc1IiwgIiIsIiIpCgkJCgkJMTAKCQkKCQoJMjUgYyA9PSAiNWUiOgoKCQk3NiA9IGU2LmIoKQoJCTc2LjNhKCI3OCA0YSIsICJjYiA3YSA0YSA5MyAxNSIsICIiLCIiKQoJCQoJCTEwCgkJCgk2YjoKCQkKCQk3NiA9IGU2LmIoKQoJCTc2LjNhKCI2NywgNjYgNWQgYSAzZSIsICJiMCA2NSAzOTogXGQyXGQyIC0iICsgYywgIiIsIiIpCgkJMjUgYzkgPT0gIjI5IjoKCQkJY2UgJ0AxMzogMTJhOiAnICsgM2IoMTJhKQoJCQoJCTEwCgkKCQoKCQoJCjVjIDhiKDExZiwgMzQsIDI0LCA5Zik6CgoKCQkKCQoJMTcgPSBbIjEiLCIyIiwiMyIsIjQiLCI1Il0KCQoJMTQgPSBlNi5iKCkuOGEoImNjIGIyIGEzPyIsIDE3KQoJCgkjIDc2ID0gZTYuYigpCgkjIDc2LjNhKCI3MSIsIDE3WzE0XSwgIiIsIiIpCgkKCQoJMmEgPSA0MSgxN1sxNF0pCgkKCQoJMTJhID0gJzUxOi8vMjcuYzQuYzAvJysxZCsnPzRjPThiJjdjPScrMTFmKycmMjQ9JysyNCsnJjM0PScrMzQrJyY5Zj0nKzlmKycmMmE9JyszYigyYSkgKyAnJjdkPScgKyAxOC4xOC44ZSgpLjM3KCclZTgnKQoJCgkxMmEgPSAxMmEuNTUgKCIgIiwgIiUyMCIpCgkJCgoJCgkyMyA9IGQuMzAoMTJhKQoJMjMuMWYoJzUyLTQwJywgMmIpCgkxMjMgPSBkLjMxKDIzKQoJYyA9IDEyMy41OCgpCgkKCgkyNSBjID09ICI3NCI6CgoJCTc2ID0gZTYuYigpCgkJNzYuM2EoIjZmIiwgIjgwIDE3IDVkIDc1IiwgIiIsIiIpCgkJCgkJMTAKCQkKCQoJMjUgYyA9PSAiNWUiOgoKCQk3NiA9IGU2LmIoKQoJCTc2LjNhKCI3OCA0YSIsICJjYiA3YSA0YSA5MyBmYyIsICIiLCIiKQoJCQoJCTEwCgkJCgk2YjoKCQkKCQk3NiA9IGU2LmIoKQoJCTc2LjNhKCI2NywgNjYgNWQgYSAzZSIsICJiMCA2NSAzOTogXGQyXGQyIC0iICsgYywgIiIsIiIpCgkJMjUgYzkgPT0gIjI5IjoKCQkJY2UgJ0AxMzogMTJhOiAnICsgM2IoMTJhKQoJCQoJCTEwCgkKCQkKCgoJCjVjIDlkKDExZiwgMzQsIDI0LCA5Zik6CgoKCgkJCgkKCTE3ID0gWyIxIiwiMiIsIjMiLCI0IiwiNSJdCgkKCTE0ID0gZTYuYigpLjhhKCJjYyBiMiBhMz8iLCAxNykKCQoJIyA3NiA9IGU2LmIoKQoJIyA3Ni4zYSgiNzEiLCAxN1sxNF0sICIiLCIiKQoJCgkKCTJhID0gNDEoMTdbMTRdKQoJCgkKCTEyYSA9ICc1MTovLzI3LmM0LmMwLycrMWQrJz80Yz05ZCY3Yz0nKzExZisnJjI0PScrMjQrJyYzND0nKzM0KycmOWY9Jys5ZisnJjJhPScrM2IoMmEpICsgJyY3ZD0nICsgMTguMTguOGUoKS4zNygnJWU4JykKCQoJMTJhID0gMTJhLjU1ICgiICIsICIlMjAiKQoJCgkyMyA9IGQuMzAoMTJhKQoJMjMuMWYoJzUyLTQwJywgMmIpCgkxMjMgPSBkLjMxKDIzKQoJYyA9IDEyMy41OCgpCgkKCgkyNSBjID09ICI3NCI6CgoJCTc2ID0gZTYuYigpCgkJNzYuM2EoIjZmIiwgIjgwIDE3IDVkIDc1IiwgIiIsIiIpCgkJCgkJMTAKCQkKCQoJMjUgYyA9PSAiNWUiOgoKCQk3NiA9IGU2LmIoKQoJCTc2LjNhKCI3OCA0YSIsICJjYiA3YSA0YSA5MyAxMTEiLCAiIiwiIikKCQkKCQkxMAoJCQoJNmI6CgkJCgkJNzYgPSBlNi5iKCkKCQk3Ni4zYSgiNjcsIDY2IDVkIGEgM2UiLCAiYjAgNjUgMzk6IFxkMlxkMiAtIiArIGMsICIiLCIiKQoJCTI1IGM5ID09ICIyOSI6CgkJCWNlICdAMTM6IDEyYTogJyArIDNiKDEyYSkKCQkKCQkxMAoJCgkKCQkKCgoJCQkKNWMgODMoKToKCQoJNiA0OQoJNiAzNQoJNiAyMQoJNiA0MgoJNiBhMgoJNiA0ZgoJNiAyNAoJNiAzZAoJCglhNDoKCQkxMmEgPSAnNTE6Ly8yZS44OC8nCgkJMjMgPSBkLjMwKDEyYSkKCQkyMy4xZignNTItNDAnLCAnYWQvNS4wICg1NjsgMTIyOyA1NiAxMDggNS4xOyAxMDUtMTAyOyAxMGQ6MS45LjAuMykgYzMvODQgYTcvMy4wLjMnKQoJCQoJCWE0OgoJCQkxMjMgPSBkLjMxKDIzKQoJCQoJCTUwIGQuOWMsIGU6CgkJCTliCgkJCSMgY2UgJ0AxMzogZWMgYTk6IDJlLjg4JwoJCQoJCTM4PTEyMy41OCgpCgkJMTIzLjY4KCkKCQkKCQkjNiA0OQoJCWI3ID0gOCgzOCwgJzExMzs5ZS1iZjoxMTI7Ij4nLCAnPC9hPicpCgkJIzYgMzUKCQk0ZSA9IDgoMzgsICdkODo8L2Y1PjxiNiAzZj0iNWEtYjg6YmI7Ij4nLCAnPC9iNj4nKQoJCSM2IDIxCgkJMzMgPSA4KDM4LCAnYTY6PC9mNT48YjYgM2Y9IjVhLWI4OmJiOyI+JywgJzwvYjY+JykKCQkjNiA0MgoJCTcyID0gOCgzOCwgJzExZDo8L2Y1PjxiNiAzZj0iNWEtYjg6YmI7Ij4nLCAnPC9iNj4nKQoJCQoJCTQ5ID0gNzcuNzAoYTEnW14wLTlhLTk4LWQ0Ll0rJywgJycsIGI3KQoJCTM1ID0gNzcuNzAoYTEnW14wLTlhLTk4LWQ0Ll0rJywgJycsIDRlKQoJCTIxID0gNzcuNzAoYTEnW14wLTlhLTk4LWQ0Ll0rJywgJycsIDMzKQoJCTQyID0gNzcuNzAoYTEnW14wLTlhLTk4LWQ0Ll0rJywgJycsIDcyKQoKCQkKCQkKCQkKCQkyNSBjOSA9PSAiMjkiOgoJCQljZSAnQDEzOiBhMCA1MTovLzJlLjg4IGM3IDc5IGQzJwoJCQljZSAnICcKCQkJY2UgJ0AxMzogNDkgPSAnICsgNDkKCQkJY2UgJ0AxMzogMzUgPSAnICsgMzUKCQkJY2UgJ0AxMzogMjEgPSAnICsgMjEKCQkJY2UgJ0AxMzogNDIgPSAnICsgNDIKCQkKCQkKCQkKCQkKCQkKCTUwOgoJCTliCgoJCgkKCTI1IDQ5ID09ICIiOgoJCgkJMjUgYzkgPT0gIjI5IjoKCQkJY2UgJyAnCgkJCWNlICdAMTM6IDQ5IGQ1IC0gYTAgZjIgMTA2IGM3IDc5IDEwMS4uLicKCQkJY2UgJyAnCgkJCgkJMTJhID0gJ2JkOi8vZjEuMjIuODgvYzIvYzgtZWUtNDkvJwoJCTIzID0gZC4zMCgxMmEpCgkJMjMuMWYoJzUyLTQwJywgJ2FkLzUuMCAoNTY7IDEyMjsgNTYgMTA4IDUuMTsgMTA1LTEwMjsgMTBkOjEuOS4wLjMpIGMzLzg0IGE3LzMuMC4zJykKCQkKCQlhNDoKCQkJMTIzID0gZC4zMSgyMykKCQkKCQk1MCBkLjljLCBlOgoJCQk5YgoJCQkjIGNlICdAMTM6IGVjIGE5OiAyMi44OCcKCQkKCQkzOD0xMjMuNTgoKQoJCTEyMy42OCgpCgkJCgkJIzYgNDkKCQliNyA9IDgoMzgsICcxMjkgZTU6PDMyIDNmPSI1YS02ZDo5NiI+ICcsICc8LzMyPicpCgkJIzYgMzUKCQk0ZSA9IDgoMzgsICdkODwvMzI+OjwzMiAzZj0iNWEtNmQ6OTYiPiAnLCAnPC8zMj4nKQoJCQoJCTI1IDRlLjU5KCczMicpIDw+IC0xOgoJCQk0ZSA9ICIgIgoJCQoJCQoJCSM2IDIxCgkJMzMgPSA4KDM4LCAnYTY6PDMyIDNmPSI1YS02ZDo5NiI+ICcsICc8LzMyPicpCgkJCgkJMjUgMzMuNTkoJzMyJykgPD4gLTE6CgkJCTMzID0gIiAiCgkJCgkJIzYgNDIKCQk3MiA9IDgoMzgsICdkZSBlYSBkMTo8MzIgM2Y9IjVhLTZkOjk2Ij4gJywgJzwvMzI+JykKCQkKCQkyNSA3Mi41OSgnMzInKSA8PiAtMToKCQkJNzIgPSAiICIKCQkKCQkKCQkKCQk0OSA9IDc3LjcwKGExJ1teMC05YS05OC1kNC5dKycsICcnLCBiNykKCQkzNSA9IDc3LjcwKGExJ1teMC05YS05OC1kNC5dKycsICcnLCA0ZSkKCQkyMSA9IDc3LjcwKGExJ1teMC05YS05OC1kNC5dKycsICcnLCAzMykKCQk0MiA9IDc3LjcwKGExJ1teMC05YS05OC1kNC5dKycsICcnLCA3MikKCQkKCQkKCQkKCQkKCQkKCQkKCQkyNSBjOSA9PSAiMjkiOgoJCQljZSAnQDEzOiBhMCBiZDovL2YxLjIyLjg4L2MyL2M4LWVlLTQ5LyBjNyA3OSBkMycKCQkJY2UgJyAnCgkJCWNlICdAMTM6IDQ5ID0gJyArIDQ5CgkJCWNlICdAMTM6IDM1ID0gJyArIDM1CgkJCWNlICdAMTM6IDIxID0gJyArIDIxCgkJCWNlICdAMTM6IDQyID0gJyArIDQyCgoJCQoJCQoJNiAzZAkKCTNkID0gMjYuMTIoJzNjLjZjJykKCQkKCTgxIDNkID09ICJiNCI6CgkJM2QgPSAyNi4xMignM2MuNmMnKQkKCQkKCQoJNiBhMgkKCWEyID0gMjYuMTIoJzNjLjQ0JykKCQoJODEgYTIgPT0gImI0IjoKCQlhMiA9IDI2LjEyKCczYy40NCcpCgkJCgkKCTYgNGYJCgk0ZiA9IDI2LjEyKCczYy42MicpCgkJCQoJODEgNGYgPT0gImI0IjoKCQk0ZiA9IDI2LjEyKCczYy42MicpCgkJCgkKCTYgMjQKCTI0ID0gMjYuMTIoJ2FjLjdlJykKCQkJCgk4MSAyNC41OSgnOicpID09IC0xOgoJCTI0ID0gMjYuMTIoJ2FjLjdlJyk='
exec((lambda p,y: (lambda o,b,f: re.sub(o,b,f))(r"([0-9a-f]+)",lambda m:p(m,y),base64.b64decode(text)))(lambda a,b:b[int("0x"+a.group(1),16)],"0|1|2|3|4|5|global|setSetting|regex_from_to|9|a|Dialog|rateresult|urllib2|e|f|return|staff_override|getInfoLabel|ares|userChoice|addon|xbmcplugin|rating|datetime|email|getSetting|password|config|basephpfile|settingsfile|add_header|20|country|privateinternetaccess|req|mac|if|xbmc|areswizard|string|true|points|aresagent|nameinput|passwordinput|whatismyipaddress|emailinput|Request|urlopen|span|country1|name|city|import|strftime|link|occurred|ok|str|System|cpufreq|problem|style|Agent|int|isp|from_string|VideoEncoderInfo|nospaces|argv|activate|Keyboard|ip|rated|Please|action|activationinput|city1|kernel|except|http|User|doModal|json|replace|Windows|getText|read|find|font|sys|def|was|Duplicate|to_string|showadult|firstpart|KernelVersion|translatePath|ares_rate_url|error|there|Sorry|close|autopassword|with|else|CpuFrequency|weight|isinresponse|Thanks|sub|result|isp1|registration|Inserted|accepted|dialog|re|Already|collect|already|enter|user|time|MacAddress|jsonstring|Your|while|open|getsysinfo|2008092417|activation|awaiting_activation|rateaddon|com|Incorrect|select|ratebuild|excluding|xbmcaddon|now|incorrectpassword|register|datapath|colortag|this|ares_rate_result|your|bold|userinfo|zA|closetag|9a|pass|URLError|raterepo|text|deviceid|using|r|gpu|stars|try|opentag|Country|Firefox|stripcolortags|Timeout|activationcode|setHiddenInput|Network|Mozilla|addonid|keyboard|An|device|many|as|Busy|getAddonInfo|td|ip1|size|search|dump|14px|Activation|https|be|decoration|uk|registered|pages|Gecko|co|Registered|group|to|whats|debuglog|emailsent|You|How|translate|print|resources|activated|Provider|n|info|Z|mismatch|from|path|City|load|CAPITALS|accountstatus|True|bypassed|Internet|settings|code|strings|command|minutes|profile|Address|xbmcgui|address|S|through|Service|couple|URL|shutil|my|nojson|script|www|backup|base64|os|th|urllib|unique|folder|wizard|random|forget|build|COLOR|dumps|enjoy|Addon|data|GB|glob|take|en|site|is|NT|join|sent|spam|wish|rv|come|Hope|like|repo|none|26px|must|don|php|may|w|you|too|ALL|registerresult|ISP|for|username|It|i|U|response|in|an|s|of|check|IP|url|t".split("|")))

最佳答案

此代码混淆的本质是最后一行构造 python 代码,然后使用 exec 语句\函数执行该代码。

因此,以下代码将解密它:

import re,base64
text = BASE64_TEXT
decoded_text = (lambda p,y:...) #The exec( at the beginning and its matching ) at then end have been deleted.

关于使用 Base64 混淆的 Python 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34466232/

相关文章:

mysql - 显示MySQL数据库中保存为base64/blob的图像

node.js - 无法解密 xor-base64 文本

ruby - 字符串的 Base62 哈希

python - 使用结构化流(PySpark)运行链式查询

python - 我如何从 PyGTK 运行 linux 命令?

python - 读取文本文件并计算概率和香农熵

sql-server - 混淆数据库表名

python - 将 Pandas Data Frames 存储在字典中或面板中更好?

java - Android ProGuard - 只有混淆

javascript - 我网站中的恶意 javascript 代码