攻防世界 一(进阶篇)(含简单手动脱壳)

既然打算好好学逆向了,就应该全身心的投入,做了题以后才会发现自己有太多的不会,希望能在后面的学习更沉稳一点,更专注一点,更效率一点

dmd

放到ida进行分析,看到这些数据
攻防世界 一(进阶篇)(含简单手动脱壳)_第1张图片
化简出来得到756d2fc84d07a356c8f68f71fe76e189
又因为题目标题,加上数据特征,再加上如下图,都可以想到MD5解密
在这里插入图片描述在这里插入图片描述
第一次解出来的
攻防世界 一(进阶篇)(含简单手动脱壳)_第2张图片
有两个MD5,且第一次的MD5属于嵌套式,所以想到,得到密文之后,再进行一次MD5加密,得到flag
b781cbb29054db12f88f08c6e161c199

crackme

此题含有壳,所以扔到exeinfope里面去,发现是一个unpack的压缩壳,所以手动脱壳还是比较简单的,下面说一下大致流程。
攻防世界 一(进阶篇)(含简单手动脱壳)_第3张图片
用OD打开文件,但之前要把分析1里面的自动对主模块进行分析勾掉
攻防世界 一(进阶篇)(含简单手动脱壳)_第4张图片
进入以后就直接无脑F8,遇到循环就F4一下循环下边的命令,让他不循环,然后一直F8,最后你就会进入一个全都是黑的区域,类似于下图(非本题)
攻防世界 一(进阶篇)(含简单手动脱壳)_第5张图片
我们这时候手动的将内存数据转换成汇编指令显示出来(选中没有没有正确显示的内存数据–>右键–>分析–>分析代码或者使用快捷键Ctrl + A),就进入真正的程序入口啦
攻防世界 一(进阶篇)(含简单手动脱壳)_第6张图片
然后用OD的插件OllyDump或者Load PE结合RECImport 工具,进行程序的脱壳了。我用的是OllyDump
攻防世界 一(进阶篇)(含简单手动脱壳)_第7张图片
最后得到一个新的exe文件,后面就比较简单了,扔到ida发现是一个异或问题,数据就在text里面找就ok
在这里插入图片描述
异或数据(这里有个小坑注意74h也是其中的数据之一)
在这里插入图片描述
源数据
攻防世界 一(进阶篇)(含简单手动脱壳)_第8张图片
一个脚本,最后出flag

在这里插入图片描述

re2-cpp-is-awesome

这一道题不难,只是有一个小坑,同样,扔进ida,看起来很复杂,但不要慌,抓住关键特别简单
攻防世界 一(进阶篇)(含简单手动脱壳)_第9张图片
关键点:
在这里插入图片描述
大意就是在下面这段字符串里面排序,用dword_6020c0做下标,再次拼接
攻防世界 一(进阶篇)(含简单手动脱壳)_第10张图片
这边注意align8,这边还有一个0x0,千万不要忘了
在这里插入图片描述
然后python脚本得flag
在这里插入图片描述
在这里插入图片描述

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