170706 逆向-南邮CTF平台(1-3)

来源:互联网 发布:耳机线材淘宝 编辑:程序博客网 时间:2024/05/27 14:14

1625-5 王子昂 总结《2017年7月6日》 【连续第277天总结】

A.南邮CTF逆向(1-3)

B.1.拖入IDA,入门级的RE,直接F5看到main的代码,很简单,写入内存的flag:

刚开始看的时候没理解galf是什么意思,照着输却报错

后来下断到内存里看,发现是大端序的原因。每个变量的四字节需要逆序一下,于是得到flag

2.给出一个asm文件要求对其进行分析:

由于代码的错误耽搁了很久:4004fa-400504和400507-400511这两段代码作用一致,并且后来出现了[rdx]和[rax]引起了我的不解,前文赋值中rdx和rax明明值为字符串,这里为何又使用[]符号指向内存。并且循环过程中没有对数组变量的处理,26次循环都是同一个变量,也不合理。

猜想4004fa-400504的mov应该为lea,或者mov赋值时不用[],即rdx和rax分别为第i个字节的内存地址。这样就合理了,即对第i个字节与i异或

写了个脚本处理后得到flag

3.pyc文件,直接百度了一个反编译,得到py源代码

每个字节先与32异或,-16,然后b64加密,得到的内容与correct字符串比较

逆处理只需要先b64解密再+16与32异或即可

然而处理的时候报错了。使用type()后找到原因:b64解密出的结果为bytes类型,无法直接转换为ascii的值

用str(,encoding)也没能解码,最后直接print然后复制粘贴到代码里作为str类型解决

得到flag

C.明日计划

 南邮CTF后三题