本帖最后由 uncodeblue 于 2024-06-09 13:57 编辑
LitCTF 2024LitCTF果然名不虚传,逆向方向一共4个题,对新手都很友好(我是新手QAQ),于是记录一下自己的做题过程与分享,新人第一次发帖aaaa。 ezpython!!!!!pyc的exe先转为pyc,再把Pyc转py 有如下python代码 import Litctfbase64 flag = input('flag:') flag = Litctfbase64.b64decode(flag) if flag == 'X=3o4hx=0EZwf=mMv13gX=3o4hx=qje2ZjtgZQmEKXZog4==': print('win') return None print('no')
base64解码失败,原因是替换base表了 寻找LitCTFbase64库 import string BASE64_ALPHABET = '8kuWYm=1JiUPs7DT4x+X5tcqZKfGvA0gFLB6y3QbV2rNOlRdMwnEohjzSe9/HIa-' def b64decode(input_string): pass def from_base64(base64_string): pass
解密得到 ![](/images/article/feaf6100-48f2-4613-91fb-ee8f44fc05fc.png)
编码喵![](/images/article/1c607182-3577-46b9-b7f6-375073d54a40.png)
一眼base64,盲猜替换表 ![](/images/article/330c91ef-2e98-46a3-bb6a-70a8752f403d.png)
![](/images/article/fa9cbf57-732e-41a7-8ed5-b55134013aff.png)
Hello_upx非常具有迷惑性的题(对我来说大小写想了半个小时,呜呜呜) 首先UPX命令脱壳是脱不了的,原因是被魔改了,魔改的地方是,大写UPX被改成小写了 改回来就可以了 ![](/images/article/1643ed54-5578-4938-96c8-97f7a830dee3.png)
![](/images/article/cde0f1a3-4ad6-453c-a65c-215faa360d4b.png)
上脚本 a=[0x4C, 0x68, 0x72, 0x40, 0x50, 0x41, 0x75, 0x70,0x2B, 0x63, 0x59, 0x25, 0x61, 0x58, 0x51, 0x65, 0x20, 0x4E, 0x5A, 0x1E, 0x60, 0x4E, 0x5E, 0x4F,101] flag="" for i in range(len(a)): flag+=chr(a[i]+i) print(flag)
ezrc4![](/images/article/86266901-6166-4b5e-aa22-0ea8ebcbd671.png)
有个反调试?再看看 ![](/images/article/42e69b6f-f0f6-4508-87d9-c3af126bc1d7.png)
发现key和key1,看看哪里引用了key1 ![](/images/article/a6c5e95c-180f-41fd-a004-6063911e66e5.png)
小xor,直接梭 ![](/images/article/ee1e606f-1b91-47ab-93af-2d27aa3bb927.png)
那么,最终一把梭 ![](/images/article/dc3442bb-42c7-46fe-ad38-fa645646206d.png)
总结: 这种题目对于佬来说太简单了,对于我这种萌新却是很友好,继续努力学习吧!争取赶上大神们的脚步。
下方隐藏内容为本帖所有文件或源码下载链接:
游客你好,如果您要查看本帖隐藏链接需要登录才能查看,
请先登录
|