2021 绿城杯 re wp
@TOC
这次绿城杯又被大师傅带飞了,我又明明白白的躺了一次,比赛一共3个re +一个安卓
我只做了两个,其他被师傅们秒了
easy_re
(二血)
ida打开 发现是rc4算法
里面有一点小改变 中间异或了0x37
1 | #include<stdio.h> |
Helloworld
代码含有大量花指令,去除后可以定位到主要加密代码
这里有flag加密后的比较数据,加密算法都在loc_330里面
因为花指令没有除干净(太菜了,不会除了),可以配合着汇编代码看
这里会对flag异或0x22
下面的sub_379里会对flag加3操作
写脚本
1 | #include<stdio.h> |
到时候要再复习一下画指令,老弄得不漂亮
抛石机
null-404师傅解出来的,我直接copywp(嘻嘻
上课前大致浏览了一下题目,难点在于小数和16进制的转化,以前在buu上做过一道这种类似的题
⾸先打开ida,定位主函数:
⾸先进⾏逻辑判断,判断是否是flag{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的格式,x的取值为1-9
或者a-f
判断如下:
接着,将输⼊的值,不包括flag{-},转换为double类型,转换⽅式为每8个字符的⼆进制变为⼀个
double。然后进⾏解⽅程:
解出后进⾏⼆进制转化:
转化后取前8位,⼤⼩写转换:3FF14A45 40114CF7 BFDEE41E 3FFFA457
然后进⾏倒叙输出:454AF13F F74C1140 1EE4DEBF 57A4FF3F
然后进⾏调式,根据出错的位置对精度进⾏调整,调整后得到:
454AF13F F64C1140 1EE4DEBF 58A4FF3F
然后根据格式调整为:
flag{454af13f-f84c-1140-1ee4-debf58a4ff3f}
clockin
安卓题 由0xK4ws解出 (看到真机羡慕了!!)下面是师傅的wp
1 | adb install -r -t myApk.apk |
⾸先安装程序 ⽤以上命令安装程序⽅可安装成功
在Android killer上搜索字符串not admin
把not admin改成admin重新打包
然后启动该APP 输⼊地址和端⼝ 点击打卡拿到flag
总结
要学习的东西还是很多,做题的速度也应该提高,多学习学习别人的wp