攻防世界 二(进阶篇)

re-for-50-plz-50

该题比较简单,直接ida分析就可以,虽然不能出伪代码,但单看汇编就行
首先看到一串字符串,估计进行转码
在这里插入图片描述
看到异或
在这里插入图片描述
尝试python转码,得到flag
攻防世界 二(进阶篇)_第1张图片
在这里插入图片描述

The_Maya_Society

这几天来比较让我头秃的题目,脑洞题吧,可以取巧的那种,真的头秃还是实力不行,首先扔到ida静态分析,看到一个取时间的函数
在这里插入图片描述
所以跟时间肯定有关系,经搜索找到关键函数,打开观察形式估计是MD5加密
在这里插入图片描述
攻防世界 二(进阶篇)_第2张图片
然后运行,进行分析会发现一个期间有数据和时间存在了寄存器(这里我已经把时间给改了)
攻防世界 二(进阶篇)_第3张图片
攻防世界 二(进阶篇)_第4张图片
后面就是脑洞时间了,也就是这个题折磨我的开始,我开始以为玛雅文明有关的,第一个想到的就是2012世界末日,而且根据其中的格式,具体直接到了日,所以我把当地时间改了,出来了数据,a0ab7eafc534bc4a8a48cd6e1cfc4d24,MD5的形式,但flag不是这个,后面就是自闭的开始,查看了其他wp发现也不知道怎么出来的一个奇奇怪怪的数据。直到后来本人才发现我忘了最本质的,linux试运行,然后
在这里插入图片描述
flag就出来了。。。。。。。。。。。。。
学艺不精吧。。。。。。。

key

放ida里面,这种题一般都是看着特别吓人但其实,没那么难,大概就是函数对一些数据进行变化,但是你会发现里面都是函数套函数,所以废话不多说,直接动调。

然后你就会发现,在这一处循环的时候,寄存器里有一些奇妙的变化
攻防世界 二(进阶篇)_第5张图片
循环完了以后,查看ecx,你就会发现一些可爱的字符,这就是我们的flag啦!
攻防世界 二(进阶篇)_第6张图片

handcrafted-pyc

自闭题目之一,同时在这个题目里面学到了一些反序列化的东西,至少之后看见了之后就认识了,无限自闭沉浸地在这道题之中,不多说,首先根据题目,pyc文件,反编译的python文件,首先丢到反汇编程序中,失败,只能用 C32来看一下二进制,很幸运,题目还是有提示,看来应该是python了用到了marshal、zlib、base64,然后是数据,开始操作
攻防世界 二(进阶篇)_第7张图片
这里我遇到了一点坑,因为python版本不同,marshal反序列化的东西也会有所不同,所以这里我因为用的python3所以一直失败,就跳过,直接将用的kali python2发出来好了,进行反序列化操作,查看编程文件信息
攻防世界 二(进阶篇)_第8张图片
攻防世界 二(进阶篇)_第9张图片
通过函数,把其通过文件输出
在这里插入图片描述
这一部分可以参考以下网址
https://blog.csdn.net/mldxs/article/details/8574518
https://www.cnblogs.com/chenjianhong/p/4144470.html
https://www.jb51.net/article/68732.htm
这时候按道理应该可以反编译了,但还是失败,这里我看了别的wp才明白可能是因为头文件不对,所以不对,就需要往前面补上8位pyc需要的头文件,由于技术太菜,所以只能通过手动C32进行添加,下面是添加之后
攻防世界 二(进阶篇)_第10张图片
然后反编译,虽然失败了,但还是有文件,发现是一个汇编语言,这里是因为作者用成组反序对代码进行了操作,所以才会无法编译成真正的源文件,如下图, ROT_two
在这里插入图片描述
然后将里面passord以下的chr筛选出来,用python跑一下,找出
ctihN{noy woc uoc naipmoa eldnur yP nnohttyb doceni euoy rb ria}!
然后四个一组还原就行,但是这里非常蛋疼的是,还原不出来,得出以下代码
hitcon{Now you can compile arund Py honnbyttcod ineyoue br }air
我一直以为是自己错了,后来发现是题目给的顺序不太对,自闭,反正醉翁之意不在酒,主要还是学习一下pyc的头补充。

你可能感兴趣的:(逆向题目练习)