[NISACTF 2022]ezpython

查壳:


(后来发现:但凡有这玩意的都和解包有关)

32位,运行,发现让我们输入一个key,进IDA:

把能找的都找了,愣是没发现什么,除了一个类似base64的编码,实在没办法,去看了大佬的文章,说是py下的exe的解包,跟据大佬们的思路来了一波,果然出来了。

开始吧,首先是将该运行文件与pyinstxtractor放一起(这里就不提供了,github上有,搜一下就行了):

接着打开cmd,输入以下代码:

python pyinstxtractor.py ez_python.exe

得到如下文件,进去发现有经典的.pyc文件,不说了,反编译吧:


我这里只反编译src就好,不知道为啥他们要修复(学识疏浅了)

得到文件,进入:

得到一堆东西,而且发现flag,交吧交吧,你会发现,它是错的。那么只能去看if语句了,它都给条件了,那么我们直接复制粘贴输出,看看是不是正确的答案:

flag = 'IAMrG1EOPkM5NRI1cChQDxEcGDZMURptPzgHJHUiN0ASDgUYUB4LGQMUGAtLCQcJJywcFmddNno/PBtQbiMWNxsGLiFuLwpiFlkyP084Ng0lKj8GUBMXcwEXPTJrRDMdNwMiHVkCBFklHgIAWQwgCz8YQhp6E1xUHgUELxMtSh0xXzxBEisbUyYGOx1DBBZWPg1CXFkvJEcxO0ADeBwzChIOQkdwXQRpQCJHCQsaFE4CIjMDcwswTBw4BS9mLVMLLDs8HVgeQkscGBEBFSpQFQQgPTVRAUpvHyAiV1oPE0kyADpDbF8AbyErBjNkPh9PHiY7O1ZaGBADMB0PEVwdCxI+MCcXARZiPhwfH1IfKitGOF42FV8FTxwqPzBPAVUUOAEKAHEEP2QZGjQVV1oIS0QBJgBDLx1jEAsWKGk5Nw03MVgmWSE4Qy5LEghoHDY+OQ9dXE44Th0='
key = 'this is key'
print(decrypt1(base64.b64decode(decrypt2(flag, decrypt2('AAAAAAAAAAAfFwwRSAIWWQ==', key)))))

得到一个新的flag{5236cb7d-f4a7-4080-9bde-8b9e061609ad}交上去,依旧没对,为啥?因为没改成NSSCTF昂

posted @ 2023-05-10 21:07  TFOREVERY  阅读(124)  评论(0编辑  收藏  举报