首页 > 其他分享 >BUUCTF [ACTF新生赛2020]SoulLike题解(非爆破)

BUUCTF [ACTF新生赛2020]SoulLike题解(非爆破)

时间:2022-11-07 18:23:00浏览次数:75  
标签:SoulLike BUUCTF 爆破 函数 题解 第二列 运算符 IDA 逆序

查壳

发现无壳。

 

 

 IDA检查main函数

显然先检查了输入是否以  actf{  开头

进入sub_83A

无法进入

 点不进去是因为IDA限制了解析函数的长度,可以修改IDA下cfg目录的hexrays.cfg文件,如图

没有改动前,1024应该是64,可以改成更大的数值。

函数分析

函数共计有3000行多,无法完全展示,这里节选部分。

-------------------------省略-——---------------------

不难发现,函数首先是进行了加密,然后是一个比较。

我们注意到函数的加密很有规律:只使用了异或运算和自增运算符。

这说明这个函数是可逆的,只要把结果反过来运算一遍就是flag。

反向执行函数

把函数代码拷贝出来,删除判断,把里面的自增运算符全部换成自减运算符,然后把用于判断的v3数组内容填到a1数组里面。

最后粘贴到EXCEL表里面逆序就行(不会真有人写脚本吧)

第一列放序列,第二列放代码(粘贴过去就行)

然后一起逆序就行,第二列会被一起逆序。

把代码复制出来后略作处理就可以执行了。

结束

 

 把flag{}补上就是答案了

后记

之所以写一下这个,是因为我看到部分师傅采用了爆破法,但是我爆破很久也没出来。

可能有的师傅也会遇到相同情况,所以在这里补充一下我的方法。

另外有的师傅想到一个个字符爆破,但是后面其实是交叉异或的,因此不能不考虑其他字符。

标签:SoulLike,BUUCTF,爆破,函数,题解,第二列,运算符,IDA,逆序
From: https://www.cnblogs.com/Carykd/p/16866823.html

相关文章

  • git 问题解决
    1.fatal:theremoteendhungupunexpectedlygitconfig--globalhttp.postBuffer104857600其他方案:gitconfig--globalpack.windowMemory100mgitconfig-......
  • 【题解】codeforces 1746B Rebellion
    题意:给定一个只包含0和1的数组a,可以对a进行以下操作:选定两个下标不同的元素ai和aj,将ai加到aj上,再从数组中删除ai。问最少操作多少次,可以让数组a变成单调非下降子序列(即ai......
  • CSP-S2022题解(T4待填)
    闲话\(\huge{寄}\)\(\text{T1}\)极限脑抽,删掉暴搜打错解,\(70pts\to0pts\);\(\text{T2}\)洛谷\(100pts\)但\(\infin\)\(40pts\),很慌;\(\text{T3}\)差点想到正......
  • 2022CSP-S题解
    这次是我第一次参加\(CSP-J/S\),所以我决定口胡一下这几道题目,由于\(J\)组过于简单,就不再叙述,如有问题请私信我\(/oh/oh/oh\)假期计划(holiday)我们可以先进行\(n\)......
  • 洛谷 P3951 [NOIP2017 提高组] 小凯的疑惑 题解
    LuoguP3951[NOIP2017提高组]小凯的疑惑题解注:设\(A,B\)是两个集合,则\(A\timesB\)表示\(A\)与\(B\)的笛卡儿积(直积)。笛卡儿积的定义为\(S\timesM:=\{(s......
  • 洛谷 P2606 [ZJOI2010]排列计数 题解
    LuoguP2606[ZJOI2010]排列计数题解题目描述称一个\(1\simn\)的排列\(p_1,p_2,\dots,p_n\)是Magic的,当且仅当\[\foralli\in[2,n],p_i>p_{\lfloori/2......
  • CSP-J1、S1 2021 赛后总结+简要题解
    postedon2021-09-1922:34:52|under题解|source人在佛山,考场在南外。学校信息队太强了,不仅租车还包午饭,点赞。来写一下我做题经历吧:S组官方答案:ABACCCCBDACC......
  • CF1685E The Ultimate LIS Problem 题解
    LinkCF1685ETheUltimateLISProblem题意概述给定长为\(2n+1\)的排列,对于\(m\)次交换操作,求出每次操作后一个能使排列\(\text{LIS}\leqn\)的循环移位\(k\),......
  • BUUCTF [强网杯 2019]随便注 1
    1.拿到题目,先输入一个1'试一下是否存在注入点报错error1064:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMariaDBserverve......
  • 题解 [ABC259Ex] Yet Another Path Counting
    首先,每种颜色互不干扰,因此考虑对每种颜色统计答案。有两种解法:枚举起始格子\((x,y)\)和结尾格子\((z,w)\),由组合数易知共有\(\binom{z-x+w-y}{z-x}\)种路径。时间......