-
-
[原创]南邮ctf逆向py交易
-
发表于: 2019-2-18 13:54 4520
-
这个题是python字节码文件,需要将字节码文件转换为对应的源代码
使用这个网站对pyc文件进行逆向操作:https://tool.lu/pyc/
逆向后的python代码如下:
#!/usr/bin/env python # encoding: utf-8 # 如果觉得不错,可以推荐给你的朋友!http://tool.lu/pyc import base64 def encode(message): s = '' for i in message: x = ord(i) ^ 32 x = x + 16 s += chr(x) return base64.b64encode(s) correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt' flag = '' print 'Input flag:' flag = raw_input() if encode(flag) == correct: print 'correct' else: print 'wrong'
思路还是比较简单,就是将输入的flag经过encode()函数之后要等于correct,这里主要对encode()函数进行逆向操作。
b='XlNkVmtUI1MgXWBZXCFeKY+AaXNt' a=base64.b64decode(b) for i in a: j=i-16 j=j^32 print(chr(j),end='')
答案:nctf{d3c0mpil1n9_PyC}
#!/usr/bin/env python # encoding: utf-8 # 如果觉得不错,可以推荐给你的朋友!http://tool.lu/pyc import base64 def encode(message): s = '' for i in message: x = ord(i) ^ 32 x = x + 16 s += chr(x) return base64.b64encode(s) correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt' flag = '' print 'Input flag:' flag = raw_input() if encode(flag) == correct: print 'correct' else: print 'wrong'
思路还是比较简单,就是将输入的flag经过encode()函数之后要等于correct,这里主要对encode()函数进行逆向操作。
b='XlNkVmtUI1MgXWBZXCFeKY+AaXNt' a=base64.b64decode(b) for i in a: j=i-16 j=j^32 print(chr(j),end='')
答案:nctf{d3c0mpil1n9_PyC}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
- [原创]angr/pyvex模块学习 8672
- [原创] Valgrind VEX IR 9196
- [原创]内存映射文件-进程间共享数据 11446
- [求助]C#反编译字符串出现乱码如何解决 4059
- [原创]windows dll注入/Api钩取技术简单总结 55862
看原图
赞赏
雪币:
留言: