评分(3)
解题动态
fenrir 攻破了该题 46分钟前
cce 攻破了该题 14小时前
还在等玫瑰啊 攻破了该题 14小时前
lai_yi 攻破了该题 16小时前
标哥 攻破了该题 19小时前
Sirius1906 攻破了该题 22小时前
plaaa 攻破了该题 1天前
gjq 攻破了该题 2天前
nuoyu 攻破了该题 2天前
zzzhq 攻破了该题 2天前
初晴 攻破了该题 3天前
托普斯 攻破了该题 3天前
XLDXL 攻破了该题 3天前
sweellong 攻破了该题 3天前
xxggjj11 攻破了该题 5天前
ZhangKX 攻破了该题 6天前
pin 攻破了该题 6天前
泉如 攻破了该题 6天前
Aholic 攻破了该题 6天前
评论
Clear2 11月前
举报
反汇编可以看到最终需要让v4为真,我们发现关键代码 if ( v8[i] != (i ^ s[i]) ),如果满足这个条件,v4就为假,所以需要v8[i] == (i ^ s[i]) ,所以,我们需要根据异或的可逆性反推出正确的输入,举个例子,如果A^B==C 则A==B^C B==A^C (顺序无所谓,A^B==B^A ) 所以,s[i] = v8[i] ^ i
零基础110 1年前
举报
Susctf{*****}
零基础110 1年前
举报
0基础怎样看得懂
dikei 1年前
举报
奶位真能选摩西女吗
典狱长 1年前
举报
while(c[i]){c[i]=c[i]^i,i++}。
dreamyacht2 1年前
举报
v8 = [83, 116, 113, 96, 112, 99, 125, 78, 87, 103, 57, 110, 104, 82, 102, 106, 113, 32, 123, 125, 115, 104] correct_string = ''.join(chr(v8[i] ^ i) for i in range(len(v8))) print(correct_string)
azcvcza 1年前
举报
签到题,发现判断条件 v8[i]!=i^s[i],则s[i]=v8[i]^i,写循环异或得到s[]数组,进行ascii转换即得flag
CherryLanterns 1年前
举报
@erxpa 伪代码采用异或加密,异或加密是一种简单的对称加密方式,具有可逆性,伪代码里面验证条件为 v8[i] == (i ^ s[i]),是异或加密,可通过 s[i] = i ^ v8[i] 直接计算出原始字符串 s。
erxpa 1年前
举报
刚入门,这个怎么发现的,麻烦说一下可以吗?哈哈,谢谢
hengdonghui 1年前
举报
没用到IDA深层次的功能。
hengdonghui 1年前
举报
WriteUp 1、下载题目的附件后,发现附件没有后缀,不能确定文件的类型,于是使用软件010Editor打开附件“EasyXor_”。 发现文件头是: 7F 45 4C 46 对应的字符串是:“ELF” 是一个ELF文件,是一个可执行文件。 根据题目中的Reverse单词,提示我们:该题需要反汇编。 既然需要反汇编,就使用反汇编软件ida打开该文件。
lvshuoqi 1年前
举报
@2509048118 文件后缀改成.elf,放进ida里找到主函数main,按F5生成c伪代码
2509048118 1年前
举报
我的ida打不开这个
whiteHaves 1年前
举报
又是整体累积增码,字符转ASCII码之后每次xor上递增后缀就可以了 while(c[i]){c[i]=c[i]^i,i++}。