ToB企服应用市场:ToB评测及商务社交产业平台
标题:
BUUCTF [ACTF新生赛2020]SoulLike题解(非爆破)
[打印本页]
作者:
何小豆儿在此
时间:
2022-11-7 20:13
标题:
BUUCTF [ACTF新生赛2020]SoulLike题解(非爆破)
查壳
发现无壳。
IDA检查main函数
显然先检查了输入是否以 actf{ 开头
进入sub_83A
无法进入
点不进去是因为IDA限制了解析函数的长度,可以修改IDA下cfg目录的hexrays.cfg文件,如图
没有改动前,1024应该是64,可以改成更大的数值。
函数分析
函数共计有3000行多,无法完全展示,这里节选部分。
-------------------------省略-——---------------------
不难发现,函数首先是进行了加密,然后是一个比较。
我们注意到函数的加密很有规律:只使用了异或运算和自增运算符。
这说明这个函数是可逆的,只要把结果反过来运算一遍就是flag。
反向执行函数
把函数代码拷贝出来,删除判断,把里面的自增运算符全部换成自减运算符,然后把用于判断的v3数组内容填到a1数组里面。
最后粘贴到EXCEL表里面逆序就行(不会真有人写脚本吧)
第一列放序列,第二列放代码(粘贴过去就行)
然后一起逆序就行,第二列会被一起逆序。
把代码复制出来后略作处理就可以执行了。
结束
把flag{}补上就是答案了
后记
之所以写一下这个,是因为我看到部分师傅采用了爆破法,但是我爆破很久也没出来。
可能有的师傅也会遇到相同情况,所以在这里补充一下我的方法。
另外有的师傅想到一个个字符爆破,但是后面其实是交叉异或的,因此不能不考虑其他字符。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4