CTF逆向题
文章平均质量分 81
逆向题
云舒_YunShu
云行万里终消散,舒予佳人始久合。
展开
-
2022KCTF春季赛看雪为什么读书
查壳查壳为32位无壳可执行exe程序,ida32查看,F5反汇编查看伪代码。第一关看到大段大段的文字介绍,推测该题为闯关题,需一关一关闯过才行。下面开始第一关,如下图所示:继续往下分析,可以清晰的看到v17的值不等于input的前三位的异或,就gameover错误了,故需要其异或结果等于v17,分析图如下图所示:而要让input的前三位异或结果等于v17,则需根据前面的v72来进行推测,故将前面的伪代码与此处的代码进行合成,验证代码如下:for i in range(100,1000):原创 2022-05-21 20:38:23 · 447 阅读 · 0 评论 -
2022春秋杯-春季赛-逆向题ezam分析
准备工作使用die查壳得到64位无壳,于是乎用ida 64打开,看到如下图所示:F5反汇编查看是一堆while语句和switch语句的组合,由此判断需要去控制流平坦化。去控制流平坦化这时需要用到angr。安装过程如下:#在windows里用pip install angr#我自己试了试linux里安装用不了,当然你也可以尝试一下#运行报错的话,就用windows安装叭,当然linux还有别的方法可以装,自己去找吧然后需要用到两个脚本,脚本自己网上搜(控制流平坦化脚本),我就不留了。原创 2022-05-10 12:30:41 · 648 阅读 · 0 评论 -
XCTF攻防世界BABYRE逆向
攻防世界BABYRE逆向拿到题目,查壳如下:拖拽IDA Pro7.5打开,查看main函数,代码如下:可以看到:(*(unsigned int (__fastcall **)(char *))judge)(s),再一看上面的judge是一个数组的形式,心想:这是哪门子的写法,,,。强制转换unsigned int????这不是函数返回结果才能这么写嘛,再看到后面的**__fastcall**猜测是函数的动态生成。。。写法高档,作者🐂就完事了。。。查看judge汇编代码,按下C(编码),P(原创 2022-04-19 16:37:02 · 818 阅读 · 0 评论