reverse打题(补档3)

少的第一题就是手脱upx新年快乐

2. [ACTF新生赛2020]easyre1

下载,查壳,有壳,UPX,xdbg启动

Xd打开,进入cpu窗口,老样子,先去看看程序的初始断点

发现一次性的PUSHAD,跟进查看

取消断点,在0040E480处设置新EIP

开始F8步过,寻找ESP单个寄存器变红的地址

结果下面第一步就是,内存窗口跟进

发现UPX,在十六进制第一组数字设置断点

F9运行程序,到达内存断点处

往上翻一翻,找到POPAD

找POPAD开始往下的JMP,即断点地址,记下地址,打开XDBG自带的脱壳工具

直接脱壳

随后对脱壳成功后的文件查壳、

脱壳成功,可以进入ida

找到关键字符串,跟进调查

找到关键函数,分析函数,由下面的for循环可知,flag的长度应该为12,再看上面的if判断语句,哪里是判断字符是否相等,但和flag没有什么关系,重点在for循环,for循环的意思是如果v1[i]不等于byte-402000那个可能是字符串数组的某个字符的变形,那就结束循环,跟进查看这个地址

验证是字符串数组,同时得到字符串数组中的元素,可以开始编写脚本,py,启动

可得flag:flag{U9X_1S_W6@T?}

3. [ACTF新生赛2020]rome

查壳,无壳,ida

有问题,跟进

又臭又长,分析函数

前面确定了v12的值,要我们输入v2,然后嵌套判断,最后经过一个函数,把大写变成小写,把小写转换车成大写然后和v12比较,一样就成功结束,很简单的脚本编写题,c,动

即flag:flag{Cae3ar_th4_Gre@t}

4:[FlareOn4]login

解压,发现没有运行文件,反而是一个网站和提示

查看页面源代码

不是很懂,ai分析

Js函数,没学到,但从ai哪里了解到这其实就是一个ROT13加密过程,得,直接脚本了,c,动

 

即flag:flag{ClientSideLoginsAreEasy@flare-on.com}

5:[WUSTCTF2020]level1

解压,发现有两个文件

Output哪里有几串数字

查壳level1,无壳ida

看了看,很简单得函数,读出txt里的数字,然后按for循环里得处理方式就得了,py,动

即flag:ctf2020{d9-dE6-20c}

6:[GUET-CTF2019]re

查壳,有壳

Xd去了,但是打不开,010看了一下,也没有魔改壳,kali看看能不能脱壳

你别说,kali真得,ida看看

发现人为字符串,跟进

分析函数,发现主要出现了4个函数,而且所有的变换都是在函数中进行的,除了最后的比较环节,逐个跟进调查,全都是很长的函数,排查后,发现真正重要的函数只有sub_4009AE这一个函数(其实主要是只能看懂这个函数,另外几个都是200行的怪物)

对函数分析,合理猜测a1就是我们要的flag,看了一圈没看到a1[6],那就先用’?’代替,编写脚本,py

接下来就从0到9一个一个试,最后试出来是1,得到flag:

flag{e165421110ba03099a1c039337}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值